Billing address is now required for card payments when using the Merchant Web SDK's Card Field and Pop-up widgets. Providing it improves authorisation rates in production and reduces the risk of issuer declines.

## What changed

Card schemes require billing address data to validate card payments. The Merchant Web SDK now enforces this for both card payment widgets:

| Widget | What changed |
|--------|-------------|
| **Card Field** (`createCardField()`) | `billingAddress` is required for card payments. Pass it when creating the widget, or provide it when calling `submit()`. |
| **Pop-up** (`payWithPopup()`) | `billingAddress` is required for card payments. If you don't pre-fill it, the pop-up collects it from your customer before payment continues. |

:::warning [Production impact]
In production, issuers may decline card payments where billing address data is missing. While some sandbox payments may succeed without it, always provide `billingAddress` in live integrations.
:::

## What you need to do

If your integration already passes `billingAddress` - no action needed.

If you're not currently passing `billingAddress`:
- **Card field**: Add `billingAddress` to your `createCardField()` call or to your `submit()` call.
- **Pop-up**: Optionally add `billingAddress` to pre-fill the field and reduce checkout steps for your customers. The pop-up will collect it automatically if you don't.

## Get started

- [`createCardField()` SDK reference](/docs/sdks/merchant-web-sdk/payment-methods/card-field) — full parameters including `billingAddress`
- [`payWithPopup()` SDK reference](/docs/sdks/merchant-web-sdk/payment-methods/pop-up) — full parameters including `billingAddress`
- [`Address` type reference](/docs/sdks/merchant-web-sdk/types/address) — field definitions, country codes, and usage examples