- Home
- All APIs
- WPG guide
- US and Canada domestic acquiring
- Managed Account Updater
Managed Account Updater
Card re-issuance can cause up to 30% of stored card details to be obsolete within a year. Our Managed Account Updater service is specially designed to handle this challenge, with sophisticated account updating that maximizes approvals by keeping stored cards current. You won't have to change processes, and your shoppers won't need to take any action.
Prerequisites
To use this service you must meet the following prerequisites:
- The service must be enabled on your account
- You must use the
Direct XML API
Update options
There are a number of options available to benefit from this service:
- Proactive - Updates are performed automatically
- Real-time - Update is requested with authorization
- Reactive - Update requested following a decline
Response elements
The responses returned by Account Updater service contain a combination of the following elements.
<originalCard>
contains a<paymentMethod>
,<cardNumber>
and<expiryDate>
.<newCard>
contains a<paymentMethod>
,<cardNumber>
and<expiryDate>
.<updaterResponse>
contains a<code>
and<message>
.
Example responses
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd">
<paymentService version="1.4" merchantCode="YOUR_MERCHANT_CODE">
<reply>
<orderStatus orderCode="YOUR_ORDER_CODE">
<payment>
<paymentMethod>VISA-SSL</paymentMethod>
<amount value="5000" currencyCode="GBP" exponent="2" debitCreditIndicator="credit" />
<lastEvent>AUTHORISED</lastEvent>
<AuthorisationId id="666" />
<balance accountType="IN_PROCESS_AUTHORISED">
<amount value="5000" currencyCode="GBP" exponent="2" debitCreditIndicator="credit" />
</balance>
<cardNumber>4444**1111</cardNumber>
<riskScore value="0" />
<accountUpdater>
<originalCard>
<paymentMethod>VISA_CREDIT-SSL</paymentMethod>
<cardNumber>4444333322221111</cardNumber>
<expiryDate>
<date month="01" year="2020" />
</expiryDate>
</originalCard>
<newCard>
<paymentMethod>VISA_CREDIT-SSL</paymentMethod>
<cardNumber>4444333322221111</cardNumber>
<expiryDate>
<date month="06" year="2024" />
</expiryDate>
</newCard>
</accountUpdater>
</payment>
</orderStatus>
</reply>
</paymentService>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd"> <paymentService version="1.4" merchantCode="YOUR_MERCHANT_CODE"> <reply> <orderStatus orderCode="YOUR_ORDER_CODE"> <payment> <paymentMethod>VISA-SSL</paymentMethod> <amount value="5000" currencyCode="GBP" exponent="2" debitCreditIndicator="credit" /> <lastEvent>AUTHORISED</lastEvent> <AuthorisationId id="666" /> <balance accountType="IN_PROCESS_AUTHORISED"> <amount value="5000" currencyCode="GBP" exponent="2" debitCreditIndicator="credit" /> </balance> <cardNumber>4444**1111</cardNumber> <riskScore value="0" /> <accountUpdater> <originalCard> <paymentMethod>VISA_CREDIT-SSL</paymentMethod> <cardNumber>4444333322221111</cardNumber> <expiryDate> <date month="01" year="2020" /> </expiryDate> </originalCard> <newCard> <paymentMethod>VISA_CREDIT-SSL</paymentMethod> <cardNumber>4444333322221111</cardNumber> <expiryDate> <date month="06" year="2024" /> </expiryDate> </newCard> </accountUpdater> </payment> </orderStatus> </reply> </paymentService>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd">
<paymentService version="1.4" merchantCode="YOUR_MERCHANT_CODE">
<reply>
<orderStatus orderCode="YOUR_ORDER_CODE">
<payment>
<paymentMethod>VISA-SSL</paymentMethod>
<amount value="5000" currencyCode="GBP" exponent="2" debitCreditIndicator="credit" />
<lastEvent>AUTHORISED</lastEvent>
<AuthorisationId id="666" />
<balance accountType="IN_PROCESS_AUTHORISED">
<amount value="5000" currencyCode="GBP" exponent="2" debitCreditIndicator="credit" />
</balance>
<cardNumber>4444**1111</cardNumber>
<riskScore value="0" />
<accountUpdater>
<originalCard>
<paymentMethod>VISA_CREDIT-SSL</paymentMethod>
<cardNumber>4444333322221111</cardNumber>
<expiryDate>
<date month="01" year="2020" />
</expiryDate>
</originalCard>
<newCard>
<paymentMethod>VISA_CREDIT-SSL</paymentMethod>
<cardNumber>4444333322221111</cardNumber>
<expiryDate>
<date month="06" year="2024" />
</expiryDate>
</newCard>
<updaterResponse>
<code>501</code>
<message>The account was closed.</message>
</updaterResponse>
</accountUpdater>
</payment>
</orderStatus>
</reply>
</paymentService>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd"> <paymentService version="1.4" merchantCode="YOUR_MERCHANT_CODE"> <reply> <orderStatus orderCode="YOUR_ORDER_CODE"> <payment> <paymentMethod>VISA-SSL</paymentMethod> <amount value="5000" currencyCode="GBP" exponent="2" debitCreditIndicator="credit" /> <lastEvent>AUTHORISED</lastEvent> <AuthorisationId id="666" /> <balance accountType="IN_PROCESS_AUTHORISED"> <amount value="5000" currencyCode="GBP" exponent="2" debitCreditIndicator="credit" /> </balance> <cardNumber>4444**1111</cardNumber> <riskScore value="0" /> <accountUpdater> <originalCard> <paymentMethod>VISA_CREDIT-SSL</paymentMethod> <cardNumber>4444333322221111</cardNumber> <expiryDate> <date month="01" year="2020" /> </expiryDate> </originalCard> <newCard> <paymentMethod>VISA_CREDIT-SSL</paymentMethod> <cardNumber>4444333322221111</cardNumber> <expiryDate> <date month="06" year="2024" /> </expiryDate> </newCard> <updaterResponse> <code>501</code> <message>The account was closed.</message> </updaterResponse> </accountUpdater> </payment> </orderStatus> </reply> </paymentService>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd">
<paymentService version="1.4" merchantCode="YOUR_MERCHANT_CODE">
<reply>
<orderStatus orderCode="YOUR_ORDER_CODE">
<payment>
<paymentMethod>VISA-SSL</paymentMethod>
<amount value="5000" currencyCode="GBP" exponent="2" debitCreditIndicator="credit" />
<lastEvent>AUTHORISED</lastEvent>
<AuthorisationId id="666" />
<balance accountType="IN_PROCESS_AUTHORISED">
<amount value="5000" currencyCode="GBP" exponent="2" debitCreditIndicator="credit" />
</balance>
<cardNumber>4444**1111</cardNumber>
<riskScore value="0" />
<accountUpdater>
<updaterResponse>
<code>501</code>
<message>The account was closed.</message>
</updaterResponse>
</accountUpdater>
</payment>
</orderStatus>
</reply>
</paymentService>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd"> <paymentService version="1.4" merchantCode="YOUR_MERCHANT_CODE"> <reply> <orderStatus orderCode="YOUR_ORDER_CODE"> <payment> <paymentMethod>VISA-SSL</paymentMethod> <amount value="5000" currencyCode="GBP" exponent="2" debitCreditIndicator="credit" /> <lastEvent>AUTHORISED</lastEvent> <AuthorisationId id="666" /> <balance accountType="IN_PROCESS_AUTHORISED"> <amount value="5000" currencyCode="GBP" exponent="2" debitCreditIndicator="credit" /> </balance> <cardNumber>4444**1111</cardNumber> <riskScore value="0" /> <accountUpdater> <updaterResponse> <code>501</code> <message>The account was closed.</message> </updaterResponse> </accountUpdater> </payment> </orderStatus> </reply> </paymentService>
Response codes
Code | Message | Action |
---|---|---|
501 | The account was closed. | Contact the cardholder for updated information. |
504 | Contact the cardholder for updated information. | Contact the cardholder for updated information. |
If the response code is left blank, the default will be 501.
Testing
The following scenarios can be simulated in test:
- Account updated
- Update with additional data
- No update
Account updated
To simulate an account update supply a <cardHolderName>
of ACCOUNTUPDATER.brand, for example <cardHolderName>ACCOUNTUPDATER.VI</cardHolderName>
. The table below contains a list of the supported brands.
Magic value | Scenario |
---|---|
VI | Returns a <newCard> for Visa with a <cardNumber> of 4444333322221111 |
MC | Returns a <newCard> for Mastercard with a <cardNumber> of 5454545454545454 |
DI | Returns a <newCard> for Discover with a <cardNumber> of 6011000400000000 |
DC | Returns a <newCard> for Diners with a <cardNumber> of 36700102000000 |
AX | Returns a <newCard> for Amex with a <cardNumber> of 343434343434343 |
ZZ | Returns the same <cardNumber> with a new expiry date |
Update with additional data
To simulate no update supply a <cardHolderName>
of ACCOUNTUPDATER.brand.code, for example <cardHolderName>ACCOUNTUPDATER.VI.501</cardHolderName>
.
No update
To simulate no update supply a <cardHolderName>
of ACCOUNTUPDATER.code, for example <cardHolderName>ACCOUNTUPDATER.501</cardHolderName>
.