Updates from Visa and Mastercard

No Update on Card

There have not been any changes to the card details, and the central list is not updated. Adyen registers the date of the latest update check.

Expiry date update on a card

This scenario uses the following flow:

  • Adyen maintains version control on any updates. The old card data remains registered on the central list under version 1. The system adds the new expiry date to the stored card on the central list, and it registers the date of the change. The updated details are stored with an incremental version number.
  • Adyen does not change the stored recurringDetailReference.
  • During a subsequent retrieval of the recurring details for a shopper using listRecurringDetails, Adyen provides you with the updated details registered for this card in the additionalData section of the response.
  • Adyen continues to process recurring transactions using the old card data until you provide the updated details in an authorisation request.
  • After successfully processing a payment using the new expiry date, Adyen closes the existing recurringDetailReference and creates a new one with the new expiry date.

Below it is included code examples of the listRecurringDetails request and response with a new expiry date.

New card number issued for a card

It is possible that the customer's card number has been updated. In this scenario, the following process applies:

  • Adyen generates a new alias for the card.
  • Adyen provides you with the new alias using the result file for batch-driven, API-driven and, automatic updates requests. Calling listRecurringDetails may also retrieve this alias.
  • The old card remains stored under the original alias and recurringDetailReference. You can continue to use the old card until it is declined.
  • The listRecurringDetails call returns all the enabled recurringDetailReferences. We suggest that you disable the old recurringDetailReferences so that only the relevant details are returned.

Below it is included code examples of the listRecurringDetails request and response with a new issued card number.

Card details are disabled

It is possible that the card details are invalid. This may occur if the card is reported as stolen, or if the customer called the bank to inform them that they no longer authorise transactions from you.

In this case, the following process applies:

Adyen does not disable the recurringDetailReference.

Adyen provides you with the update via the result file for batch-driven, API-driven and, automatic updates requests.

Examples

These code examples show listRecurringDetails responses with updated card details.

Code examples: Updated card

{
    "creationDate" : "2012-12-03T17:43:42+01:00",
    
    "details" : [
        {
			"RecurringDetail" : {
	            "additionalData" : {
    	    		"newAlias" : "H167852639363479",
			        "newCardBin" : "555543",
			        "newExpiryMonth" : "8",
    	   			"newExpiryYear" : "2018",
			        "lastAccountUpdaterCheck" : "2014-03-22 10:01:11.883+01",
			        "newCardSummary" : "1234"
    			},
    	
			    "alias" : "M104640077590143",
			    "aliasType" : "Default",
    	
			    "card" : {
    	    		"expiryMonth" : "7",
			        "expiryYear" : "2015",
    	   			"holderName" : "Simon Hopper",
			        "number" : "4444"
			    },
    
    			"creationDate" : "2012-12-03T17:43:42+01:00",
    			"recurringDetailReference" : "8313148012347491",
    			"variant" : "mc"
			}
		}
	],
 	"lastKnownShopperEmail" : "s.hopper@test.com",
    "shopperReference" : "shopper77"
}

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <ns1:listRecurringDetailsResponse xmlns:ns1="http://recurring.services.adyen.com">
      <ns1:result>
        <creationDate xmlns="http://recurring.services.adyen.com">2012-12-03T17:43:42+01:00</creationDate>
        <details xmlns="http://recurring.services.adyen.com">
          <RecurringDetail>
            <additionalData>
              <entry>
                <key xsi:type="xsd:string">newAlias</key>
                <value xsi:type="xsd:string">H167852639363479</value>
              </entry>              
              <entry>
                <key xsi:type="xsd:string">newCardBin</key>
                <value xsi:type="xsd:string">555543</value>
              </entry>
              <entry>
                <key xsi:type="xsd:string">newExpiryMonth</key>
                <value xsi:type="xsd:string">8</value>
              </entry>
              <entry>
                <key xsi:type="xsd:string">newExpiryYear</key>
                <value xsi:type="xsd:string">2018</value>
              </entry>
              <entry>
                <key xsi:type="xsd:string">lastAccountUpdaterCheck</key>
                <value xsi:type="xsd:string">2014-03-22 10:01:11.883+01</value>
              </entry>
               <entry>
                <key xsi:type="xsd:string">newCardSummary</key>
                <value xsi:type="xsd:string">1234</value>
              </entry>
            </additionalData>
            <alias>M104640077590143</alias>
            <aliasType>Default</aliasType>
            <bank xsi:nil="true"/>
            <card>
              <cvc xmlns="http://payment.services.adyen.com" xsi:nil="true"/>
              <expiryMonth xmlns="http://payment.services.adyen.com">7</expiryMonth>
              <expiryYear xmlns="http://payment.services.adyen.com">2015</expiryYear>
              <holderName xmlns="http://payment.services.adyen.com">Simon Hopper</holderName>
              <number xmlns="http://payment.services.adyen.com">4444</number>
            </card>
            <creationDate>2012-12-03T17:43:42+01:00</creationDate>
            <elv xsi:nil="true"/>
            <name xsi:nil="true"/>
            <recurringDetailReference>8313148012347491</recurringDetailReference>
            <variant>mc</variant>
            <tokenDetails>
              <tokenData xmlns="http://payment.services.adyen.com" xsi:nil="true" />
              <tokenDataType xmlns="http://payment.services.adyen.com" xsi:nil="true" />
            </tokenDetails>
          </RecurringDetail>
        </details>
        <lastKnownShopperEmail xmlns="http://recurring.services.adyen.com">s.hopper@test.com</lastKnownShopperEmail>
        <shopperReference xmlns="http://recurring.services.adyen.com">shopper77</shopperReference>
      </ns1:result>
    </ns1:listRecurringDetailsResponse>
  </soap:Body>
</soap:Envelope>

creationDate=2012-12-03T17%3A43%3A42%2B01%3A00&details.0.additionalData.newExpiryMonth=9&details.0.additionalData.newAlias=H167852639363479&details.0.additionalData.newCardSummary=1234&details.0.additionalData.newExpiryYear=2018&details.0.additionalData.newCardBin=555543&details.0.additionalData.lastAccountUpdaterCheck=2014-03-22T10%3A01%3A11%2B01%3A00&details.0.alias=M104640077590143&details.0.aliasType=Default&details.0.card.expiryMonth=8&details.0.card.expiryYear=2018&details.0.card.holderName=Simon+Hopper&details.0.card.number=4444&details.0.creationDate=2012-12-03T17%3A43%3A42%2B01%3A00&details.0.paymentMethodVariant=mc&details.0.recurringDetailReference=8313148012347491&details.0.variant=mc&lastKnownShopperEmail=simon.hopper77%40somewhere.org&shopperReference=shopper77

Code examples: Updated expiry date

{
    "creationDate" : "2012-12-03T17:43:42+01:00",
    
	"details" : [
		{
			"RecurringDetail" : {
				"additionalData" : {
			        "cardBin" : "555544",
			        "newExpiryMonth" : "8",
			        "newExpiryYear" : "2018",
			        "lastAccountUpdaterCheck" : "2014-03-22 10:01:11.883+01"
			    },
    
			    "alias" : "M104640077590143",
			    "aliasType" : "Default",
    
			    "card" : {
			        "expiryMonth" : "8",
			        "expiryYear" : "2018",
			        "holderName" : "Simon Hopper",
			        "number" : "4444"
			    },
    
    			"creationDate" : "2012-12-03T17:43:42+01:00",
			    "recurringDetailReference" : "8313148012347491",
			    "variant" : "mc"
			}
		}
	],
	"lastKnownShopperEmail" : "s.hopper@test.com",
    "shopperReference" : "shopper77"
}

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <ns1:listRecurringDetailsResponse xmlns:ns1="http://recurring.services.adyen.com">
      <ns1:result>
        <creationDate xmlns="http://recurring.services.adyen.com">2012-12-03T17:43:42+01:00</creationDate>
        <details xmlns="http://recurring.services.adyen.com">
          <RecurringDetail>
            <additionalData>
              <entry>
                <key xsi:type="xsd:string">cardBin</key>
                <value xsi:type="xsd:string">555544</value>
              </entry>
              <entry>
                <key xsi:type="xsd:string">newExpiryMonth</key>
                <value xsi:type="xsd:string">8</value>
              </entry>
              <entry>
                <key xsi:type="xsd:string">newExpiryYear</key>
                <value xsi:type="xsd:string">2018</value>
              </entry>
              <entry>
                <key xsi:type="xsd:string">lastAccountUpdaterCheck</key>
                <value xsi:type="xsd:string">2014-03-22 10:01:11.883+01</value>
              </entry>
            </additionalData>
            <alias>M104640077590143</alias>
            <aliasType>Default</aliasType>
            <bank xsi:nil="true"/>
            <card>
              <cvc xmlns="http://payment.services.adyen.com" xsi:nil="true"/>
              <expiryMonth xmlns="http://payment.services.adyen.com">7</expiryMonth>
              <expiryYear xmlns="http://payment.services.adyen.com">2015</expiryYear>
              <holderName xmlns="http://payment.services.adyen.com">Simon Hopper</holderName>
              <number xmlns="http://payment.services.adyen.com">4444</number>
            </card>
            <creationDate>2012-12-03T17:43:42+01:00</creationDate>
            <elv xsi:nil="true"/>
            <name xsi:nil="true"/>
            <recurringDetailReference>8313148012347491</recurringDetailReference>
            <variant>mc</variant>
            <tokenDetails>
              <tokenData xmlns="http://payment.services.adyen.com" xsi:nil="true" />
              <tokenDataType xmlns="http://payment.services.adyen.com" xsi:nil="true" />
            </tokenDetails>
          </RecurringDetail>
        </details>
        <lastKnownShopperEmail xmlns="http://recurring.services.adyen.com">s.hopper@test.com</lastKnownShopperEmail>
        <shopperReference xmlns="http://recurring.services.adyen.com">shopper77</shopperReference>
      </ns1:result>
    </ns1:listRecurringDetailsResponse>
  </soap:Body>
</soap:Envelope>

creationDate=2012-12-03T17%3A43%3A42%2B01%3A00&details.0.additionalData.newExpiryMonth=9&details.0.additionalData.newExpiryYear=2018&details.0.additionalData.cardBin=555543&details.0.additionalData.lastAccountUpdaterCheck=2014-03-22T10%3A01%3A11%2B01%3A00&details.0.alias=M104640077590143&details.0.aliasType=Default&details.0.card.expiryMonth=7&details.0.card.expiryYear=2015&details.0.card.holderName=Simon+Hopper&details.0.card.number=4444&details.0.creationDate=2012-12-03T17%3A43%3A42%2B01%3A00&details.0.paymentMethodVariant=mc&details.0.recurringDetailReference=8313148012347491&details.0.variant=mc&lastKnownShopperEmail=simon.hopper77%40somewhere.org&shopperReference=shopper77