Account Updater
Your customer's card details may change due to expiration, loss, or other account changes. This may result in refused outcomes if you attempt subsequent Customer Initiated Transactions (CITs) or Merchant Initiated Transactions (MITs) using outdated credentials.
Receive real-time account updates
Your customer's card details can either be stored by you, or by us in a Worldpay token. When you submit payment requests using these card details, we can check if updated card details are available before attempting a payment authorization.
We have two offerings available:
- Managed - we apply merchant configuration to your
entity
and automatically check for updated card details when you attempt qualifying payments. No changes are required to your payment requests. - Request a real-time account update in your payment request by setting the
instruction.requestAccountUpdater
boolean totrue
.
In both cases, if updated card details are available, we apply them before requesting payment authorization. We return updated card details in the updatedPaymentInstrument
object in our response.
You can supply requestAccountUpdater
in MITs and only those CITs where customerAgreement.storedCardUsage
is set to subsequent
.
Request
Set instruction.requestAccountUpdater
to true
to request updated card details for the paymentInstrument
supplied. If the stored card details, that you have provided for the transaction, are no longer valid and new credentials are available, the authorization is processed with the new card and its details are returned in the updatedPaymentInstrument
object in our response.
No changes are required in the request body if you are using our "Managed Account Updater" offering.
Request example
{
"transactionReference": "Memory265-13/08/1876",
"channel": "ecom",
"merchant": {
"entity": "default"
},
"instruction": {
"requestAutoSettlement": {
"enabled": false
},
"narrative": {
"line1": "Mind Palace"
},
"value": {
"currency": "GBP",
"amount": 250
},
"paymentInstrument": {
"type": "card/plain",
"cardNumber": "4444333322221111",
"expiryDate": {
"month": 5,
"year": 2035
}
},
"customerAgreement":{
"type": "cardOnFile",
"storedCardUsage": "subsequent"
},
"requestAccountUpdater": true
}
}
Response
If updated card details have been applied in your request, the updatedPaymentInstrument
object is returned in the response.
Returned if the payment instrument was swapped for a network token.
Details on the type of payment instrument update.
Enum Value | Description |
---|---|
The merchant is not registered in the update program | Returned for Real Time Account Updater only. Contact Worldpay to enroll in the service. |
The account number was changed | A new card has been issued with a change in the card number. |
The account was closed | The account is closed and the card is no longer valid. Ask your customer for an alternative payment method. |
The expiry was changed | A new card has been issued with an updated expiry date. In most cases the card number remains unchanged. |
The issuing bank does not participate in the update program | Returned for Real Time Account Updater only. It is not known whether an account update is available. |
Contact the cardholder for updated information | A match was found but you may need to contact the cardholder for updated card details. This could be due to cardholder opt-out or other reasons. |
No match found | The BIN range is enrolled for account updates, but no match was found for the card account. One reason for this may be that the card issuer has recently changed. |
No changes found | No changes to the card account were found. |
The updated card BIN (Bank Identification Number).
The four digits of the updated card. Some characters may be obfuscated with a *
if the PAN length is less than 16 characters.
The full card number of the updated card. Returned only for merchants configured to receive card numbers that are not obfuscated.
The brand of the updated card. In rare circumstances a card may be reissued under a different brand.
Country code of the updated card in ISO 3166-1 Alpha-2 format.
How the card is funded.
Response examples
{
"outcome": "authorized",
"paymentId": "3012ecbd-f6ef-4308-b7f1-829d0ccb879f",
"commandId": "cmdwZ5y_rSV1VmjD6CpgCuXG0",
"riskFactors": [
{
"type": "cvc",
"risk": "notSupplied"
},
{
"type": "avs",
"risk": "notChecked",
"detail": "address"
},
{
"type": "avs",
"risk": "notChecked",
"detail": "postcode"
}
],
"issuer": {
"authorizationCode": "12345A"
},
"scheme": {
"reference": "060720116005060"
},
"updatedPaymentInstrument": {
"cardBin": "491183",
"lastFour": "0000",
"expiryDate": {
"month": 9,
"year": 2031
},
"cardBrand": "visa",
"fundingType": "credit",
"accountUpdaterMessage": "The account number was changed",
"type": "card/plain+masked"
},
"paymentInstrument": {
"type": "card/plain+masked",
"cardBin": "444433",
"lastFour": "1111",
"category": "consumer",
"expiryDate": {
"month": 5,
"year": 2023
},
"cardBrand": "visa",
"fundingType": "credit",
"issuerName": "Some Issuer PLC",
"paymentAccountReference": "Q1HJZ28RKA1EBL470G9XYG90R5D3E"
},
"_links": {
"cardPayments:cancel": {
"href": "https://try.access.worldpay.com/payments/authorizations/cancellations/eyJrIjoiazNhYjYzMiI="
},
"cardPayments:partialCancel": {
"href": "https://try.access.worldpay.com/payments/authorizations/cancellations/partials/eyJrIjoiazNhYjYzMiJ9"
},
"cardPayments:settle": {
"href": "https://try.access.worldpay.com/payments/settlements/full/eyJrIjoiazNhYjYzMiI="
},
"cardPayments:partialSettle": {
"href": "https://try.access.worldpay.com/payments/settlements/partials/eyJrIjoiazNhYjYzMiI="
},
"cardPayments:events": {
"href": "https://try.access.worldpay.com/payments/events/eyJrIjoiazNhYjYzMiI="
},
"curies": [
{
"name": "cardPayments",
"href": "https://try.access.worldpay.com/rels/cardPayments/{rel}",
"templated": true
}
]
}
}