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 theDirect 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

Copied!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd"&gt;
<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>
Copied!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd"&gt;
<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>
Copied!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd"&gt;
<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

CodeMessageAction
501The account was closed.Contact the cardholder for updated information.
504Contact 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 valueScenario
VIReturns a <newCard> for Visa with a <cardNumber> of 4444333322221111
MCReturns a <newCard> for Mastercard with a <cardNumber> of 5454545454545454
DIReturns a <newCard> for Discover with a <cardNumber> of 6011000400000000
DCReturns a <newCard> for Diners with a <cardNumber> of 36700102000000
AXReturns a <newCard> for Amex with a <cardNumber> of 34343434343434
ZZReturns 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>.