---
title: "Payment instrument updated"
method: POST
path: "balancePlatform.paymentInstrument.updated"
tags: ["Payment instrument"]
---

# Payment instrument updated

`POST balancePlatform.paymentInstrument.updated` (webhook)

Adyen sends this webhook when you successfully [update a payment instrument](https://docs.adyen.com/api-explorer/balanceplatform/latest/patch/paymentInstruments/_id_).

## Payload

- PaymentNotificationRequest
  - `data` PaymentInstrumentNotificationData, required
    - `balancePlatform` string — The unique identifier of the balance platform.
    - `paymentInstrument` PaymentInstrument
      - `additionalBankAccountIdentifications` IbanAccountIdentification[] — Contains optional, additional business account details. Returned when you create a payment instrument with `type` **bankAccount**.
        - `bic` string — The bank's 8- or 11-character BIC or SWIFT code.
        - `iban` string, required — The international bank account number as defined in the [ISO-13616](https://www.iso.org/standard/81090.html) standard.
        - `type` 'iban', required — **iban**
      - `balanceAccountId` string, required — The unique identifier of the [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/v1/post/balanceAccounts__resParam_id) associated with the payment instrument.
      - `bankAccount` BankAccountDetails
        - `accountNumber` string — The bank account number, without separators or whitespace.
        - `accountType` string — The bank account type. Possible values: **checking** or **savings**. Defaults to **checking**.
        - `branchNumber` string — The bank account branch number, without separators or whitespace
        - `formFactor` string — Business accounts with a `formFactor` value of **physical** are business accounts issued under the central bank of that country. The default value is **physical** for NL, US, and UK business accounts. Adyen creates a local IBAN for business accounts when the `formFactor` value is set to **virtual**. The local IBANs that are supported are for DE and FR, which reference a physical NL account, with funds being routed through the central bank of NL.
        - `iban` string — The international bank account number as defined in the [ISO-13616](https://www.iso.org/standard/81090.html) standard.
        - `routingNumber` string — The [routing number](https://en.wikipedia.org/wiki/ABA_routing_transit_number), without separators or whitespace.
        - `sortCode` string — The [sort code](https://en.wikipedia.org/wiki/Sort_code), without separators or whitespace.
        - `type` string, required — **iban** or **usLocal** or **ukLocal**
      - `card` Card
        - `authentication` Authentication
          - `email` string — The email address where the one-time password (OTP) is sent.
          - `password` string — The password used for 3D Secure password-based authentication. The value must be between 1 to 30 characters and must only contain the following supported characters. * Characters between **a-z**, **A-Z**, and **0-9** * Special characters: **äöüßÄÖÜ+-*/ç%()=?!~#'",;:$&àùòâôûáúó**
          - `phone` Phone
            - `number` string, required — The full phone number provided as a single string. For example, **"0031 6 11 22 33 44"**, **"+316/1122-3344"**, or **"(0031) 611223344"**.
            - `type` 'Landline' | 'Mobile', required — Type of phone number. Possible values: **Landline**, **Mobile**.
        - `bin` string — The bank identification number (BIN) of the card number.
        - `brand` string, required — The brand of the physical or the virtual card. Possible values: **visa**, **mc**.
        - `brandVariant` string, required — The brand variant of the physical or the virtual card. For example, **visadebit** or **mcprepaid**. >Reach out to your Adyen contact to get the values relevant for your integration.
        - `cardholderName` string, required — The name of the cardholder. Maximum length: 26 characters.
        - `configuration` CardConfiguration
          - `activation` string — The activation label attached to the card that contains the activation instructions. This field overrides the activation label design ID defined in the card configuration profile.
          - `activationUrl` string — Your app's URL, if you want to activate cards through your app. For example, **my-app://ref1236a7d**. A QR code is created based on this URL, and is included in the carrier. Before you use this field, reach out to your Adyen contact to set up the QR code process. Maximum length: 255 characters.
          - `bulkAddress` BulkAddress
            - `city` string — The name of the city.
            - `company` string — The name of the company.
            - `country` string, required — The two-character ISO-3166-1 alpha-2 country code. For example, **US**.
            - `email` string — The email address.
            - `houseNumberOrName` string — The house number or name.
            - `mobile` string — The full telephone number.
            - `postalCode` string — The postal code. Maximum length: * 5 digits for addresses in the US. * 10 characters for all other countries.
            - `stateOrProvince` string — The two-letter ISO 3166-2 state or province code. Maximum length: 2 characters for addresses in the US.
            - `street` string — The streetname of the house.
          - `cardImageId` string — The unique identifier of the card image. This image is printed on the full front of the card.
          - `carrier` string — The letter or packaging to which the card is attached. This field overrides the carrier design ID defined in the card configuration profile.
          - `carrierImageId` string — The unique identifier of the carrier image. This image is printed on the letter to which the card is attached.
          - `configurationProfileId` string, required — The unique identifier of the card configuration profile that contains the settings that are applied to the card. For example, the envelope and PIN mailer designs or the logistics company handling the shipment. You can override some of the existing settings in the configuration profile by providing the corresponding fields in the `configuration` object. For example, send the `shipmentMethod` to override the logistics company defined in the card configuration profile.
          - `currency` string — The three-letter [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) currency code of the card. For example, **EUR**. This field overrides the existing currency setting on the card configuration profile.
          - `envelope` string — Overrides the envelope design ID defined in the card configuration profile.
          - `insert` string — Any additional material, such as marketing material, that is shipped together with the card. This field overrides the insert design ID defined in the card configuration profile.
          - `language` string — The two-letter [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) language code of the card. For example, **en**.
          - `logoImageId` string — The unique identifier of the logo image. This image is printed on the partial front of the card, for example, a logo on the upper right corner.
          - `pinMailer` string — The letter on which the PIN of the card is printed. This field overrides the PIN mailer design ID defined in the card configuration profile.
          - `printLine` string — Print Line. Text printed on the physical card below the cardholder name. You provide the value, which can be up to 26 characters.
          - `shipmentMethod` string — The logistics company that ships the card. This field overrides the logistics company defined in the card configuration profile.
        - `cvc` string — The CVC2 value of the card. > The CVC2 is not sent by default. This is only returned in the `POST` response for single-use virtual cards.
        - `deliveryContact` Contact
          - `address` Address
            - `city` string, required — The name of the city. Maximum length: 3000 characters.
            - `country` string, required — The two-character ISO-3166-1 alpha-2 country code. For example, **US**. > If you don't know the country or are not collecting the country from the shopper, provide `country` as `ZZ`.
            - `houseNumberOrName` string, required — The number or name of the house. Maximum length: 3000 characters.
            - `postalCode` string, required — A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries.
            - `stateOrProvince` string — The two-character ISO 3166-2 state or province code. For example, **CA** in the US or **ON** in Canada. > Required for the US and Canada.
            - `street` string, required — The name of the street. Maximum length: 3000 characters. > The house number should not be included in this field; it should be separately provided via `houseNumberOrName`.
          - `email` string — The e-mail address of the contact.
          - `fullPhoneNumber` string — The phone number of the contact provided as a single string. It will be handled as a landline phone. **Examples:** "0031 6 11 22 33 44", "+316/1122-3344", "(0031) 611223344"
          - `name` Name
            - `firstName` string, required — The first name.
            - `lastName` string, required — The last name.
          - `personalData` PersonalData
            - `dateOfBirth` string — The date of birth of the person. The date should be in ISO-8601 format yyyy-mm-dd (e.g. 2000-01-31).
            - `idNumber` string — An ID number of the person.
            - `nationality` string — The nationality of the person represented by a two-character country code. >The permitted country codes are defined in ISO-3166-1 alpha-2 (e.g. 'NL').
          - `phoneNumber` PhoneNumber
            - `phoneCountryCode` string — The two-character ISO-3166-1 alpha-2 country code of the phone number. For example, **US** or **NL**.
            - `phoneNumber` string — The phone number. The inclusion of the phone number country code is not necessary.
            - `phoneType` 'Fax' | 'Landline' | 'Mobile' | 'SIP' — The type of the phone number. Possible values: **Landline**, **Mobile**, **SIP**, **Fax**.
          - `webAddress` string — The URL of the website of the contact.
        - `expiration` Expiry
          - `month` string — The month in which the card will expire.
          - `year` string — The year in which the card will expire.
        - `formFactor` 'physical' | 'unknown' | 'virtual', required — The form factor of the card. Possible values: **virtual**, **physical**.
        - `lastFour` string — Last last four digits of the card number.
        - `number` string — The primary account number (PAN) of the card. > The PAN is masked by default and returned only for single-use virtual cards.
        - `threeDSecure` string — The 3DS configuration of the physical or the virtual card. Possible values: **fullySupported**, **secureCorporate**. > Reach out to your Adyen contact to get the values relevant for your integration.
        - `usage` string — Specifies how many times the card can be used. Possible values: **singleUse**, **multiUse**. > Reach out to your Adyen contact to determine the value relevant for your integration.
      - `description` string — Your description for the payment instrument, maximum 300 characters.
      - `id` string, required — The unique identifier of the payment instrument.
      - `issuingCountryCode` string, required — The two-character [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code where the payment instrument is issued. For example, **NL** or **US**.
      - `paymentInstrumentGroupId` string — The unique identifier of the [payment instrument group](https://docs.adyen.com/api-explorer/#/balanceplatform/v1/post/paymentInstrumentGroups__resParam_id) to which the payment instrument belongs.
      - `reference` string — Your reference for the payment instrument, maximum 150 characters.
      - `replacedById` string — The unique identifier of the payment instrument that replaced this payment instrument.
      - `replacementOfId` string — The unique identifier of the payment instrument that is replaced by this payment instrument.
      - `status` 'Active' | 'Closed' | 'Inactive' | 'Lost' | 'Requested' | 'Stolen' | 'Suspended' | 'blocked' | 'discarded' — The status of the payment instrument. If a status is not specified when creating a payment instrument, it is set to **Active** by default. However, there can be exceptions for cards based on the `card.formFactor` and the `issuingCountryCode`. For example, when issuing physical cards in the US, the default status is **Requested**. Possible values: * **Active**: The payment instrument is active and can be used to make payments. * **Requested**: The payment instrument has been requested. This state is applicable for physical cards. * **Inactive**: The payment instrument is inactive and cannot be used to make payments. * **Suspended**: The payment instrument is temporarily suspended and cannot be used to make payments. * **Closed**: The payment instrument is permanently closed. This action cannot be undone. * **Stolen** * **Lost**
      - `type` 'bankAccount' | 'card', required — The type of payment instrument. Possible values: **card**, **bankAccount**.
  - `environment` string, required — The environment from which the webhook originated. Possible values: **test**, **live**.
  - `timestamp` string, date-time — When the event was queued.
  - `type` 'balancePlatform.paymentInstrument.created' | 'balancePlatform.paymentInstrument.updated', required — Type of webhook.

## Acknowledgement `200`

OK - the request has succeeded.

- BalancePlatformNotificationResponse
  - `notificationResponse` string — Respond with any **2xx** HTTP status code to [accept the webhook](https://docs.adyen.com/development-resources/webhooks/#accept-webhooks).

---

[API](https://skmtc.dev/adyen/apis/configuration-webhooks.md) · [All operations](https://skmtc.dev/adyen/apis/configuration-webhooks/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/adyen/configuration-webhooks/revisions/74e0766552b1/schema)
