# Upsert express checkout payment methods for a merchant and one or more countries

> `PUT https://api.kustom.co/config/checkout/v1/config/expressCheckoutPaymentMethods`

## Parameters

- `X-merchant-id` (string, header, required) — Merchant identifier
- `countries` (array<string>, query) — ISO 3166-1 alpha-2 country codes (omit for merchant-level default)

## Request body

`application/json`

- `expressCheckoutPaymentMethods[]` (array<object>) — The express checkout payment methods to configure.
  - `method` (string) — The express checkout payment method to configure. Enum: `amazonPay`, `applePay`, `googlePay`, `klarna`, `paypal`.
  - `enabled` (boolean) — Whether this payment method is enabled.
- `changeReason` (string) — Human-readable reason for the change, stored in the change history.
- `updatedBy` (string) — Identifier of the user or system making the change.

### Example request

```json
{
  "expressCheckoutPaymentMethods": [
    {
      "method": "applePay",
      "enabled": true
    }
  ],
  "changeReason": "Enable Apple Pay and Google Pay for Sweden",
  "updatedBy": "ops@acme.com"
}
```

## Responses

### 200

OK

`*/*`

- `merchantId` (string) — Merchant identifier.
- `country` (string) — ISO 3166-1 alpha-2 country code, or null for the merchant-level default.
- `expressCheckoutPaymentMethods[]` (array<object>) — The configured express checkout payment methods.
  - `method` (string) — The express checkout payment method to configure. Enum: `amazonPay`, `applePay`, `googlePay`, `klarna`, `paypal`.
  - `enabled` (boolean) — Whether this payment method is enabled.
- `revision` (integer) — Monotonically increasing revision of this configuration value.
- `updatedBy` (string) — Identifier of the user or system that last updated the value.
- `updatedAt` (string) — Timestamp of the last update.

```json
[
  {
    "merchantId": "M123456",
    "country": "SE",
    "expressCheckoutPaymentMethods": [
      {
        "method": "applePay",
        "enabled": true
      }
    ],
    "revision": 3,
    "updatedBy": "kustom-external-api",
    "updatedAt": "2026-06-22T14:30:00Z"
  }
]
```

### 400

Schema validation failure

`*/*`

- `merchantId` (string) — Merchant identifier.
- `country` (string) — ISO 3166-1 alpha-2 country code, or null for the merchant-level default.
- `expressCheckoutPaymentMethods[]` (array<object>) — The configured express checkout payment methods.
  - `method` (string) — The express checkout payment method to configure. Enum: `amazonPay`, `applePay`, `googlePay`, `klarna`, `paypal`.
  - `enabled` (boolean) — Whether this payment method is enabled.
- `revision` (integer) — Monotonically increasing revision of this configuration value.
- `updatedBy` (string) — Identifier of the user or system that last updated the value.
- `updatedAt` (string) — Timestamp of the last update.

```json
[
  {
    "merchantId": "M123456",
    "country": "SE",
    "expressCheckoutPaymentMethods": [
      {
        "method": "applePay",
        "enabled": true
      }
    ],
    "revision": 3,
    "updatedBy": "kustom-external-api",
    "updatedAt": "2026-06-22T14:30:00Z"
  }
]
```
