Operation Manual
22
Recurring payments manual
Appendix B: Complete workflow example
To help understand the principles outlined in this manual, we will walk through a scenario, from the initial payment through to
subsequent recurring payments.
The Merchant has two offerings – products and subscriptions. For products, the shopper selects a product, pays, and then has the
item delivered to them. The Merchant has decided that, for certain products, they will allow the shopper to choose from an existing
stored card, if it exists, or the option to add a new one.
For subscriptions, the shopper selects a service, pays upfront for the first month, with the option to select from existing stored cards
if they exist, and agrees to be automatically charged every month until they cancel. The Merchant has decided that, for subscriptions
only, they will always use the last stored card details for the shopper in subsequent months.
Step 1: First initial recurring payment
On the 1
st
of January 2014 a shopper signs up with the Merchant and is making their first purchase of a product.
The Merchant creates a Payment request including the required additional fields as follows:
• shopperReference: grasshopper77
• shopperEmail: gras.shopper77@somewhere.org
• recurringContract: RECURRING
The payment request might look as follows:
<input type="hidden" name="merchantReference" value="ProductOrder041-201" />
<input type="hidden" name="paymentAmount" value="5000" />
<input type="hidden" name="currencyCode" value="EUR" />
<input type="hidden" name="shipBeforeDate" value="2014-02-01" />
<input type="hidden" name="skinCode" value="4aD37dJA" />
<input type="hidden" name="merchantAccount" value="SupportAdyenDemo" />
<input type="hidden" name="shopperLocale" value="en_GB" />
<input type="hidden" name="orderData"
value="H4sIAAAAAAAAALMpsOPlCkssyswvLVZIz89PKVZIzEtRKE4tKstMTi3W4+Wy0S+wAwDOGUCXJgAAAA==" />
<input type="hidden" name="sessionValidity" value="2014-01-02T11:00:00Z" />
<input type="hidden" name="merchantSig" value="33syARtfsxD47jeXzOlEyZ0j3pg=" />
<input type="hidden" name="shopperEmail" value="gras.shopper77@somewhere.org" />
<input type="hidden" name="shopperReference" value="grasshopper77" />
<input type="hidden" name="recurringContract" value="RECURRING" />
Once on the HPP, the shopper successfully uses a Visa card ending 1111, and the Merchant receives an AUTHORISATION notification
of successful payment. The merchant now knows the recurring detail has been stored, with a new recurring contract created. The
Merchant does not receive any information about the recurring details, as these are not needed at this point.
Step 2: listRecurringDetails for a shopper
A week later, on 8
th
January 2014, the same shopper returns to the website and purchases a subscription.
The Merchant decides to check to see if the shopper has any stored recurring details:
<?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:listRecurringDetails xmlns:ns1="http://recurring.services.adyen.com">
<ns1:request>
<ns1:recurring>
<contract xmlns="http://payment.services.adyen.com">RECURRING</value>










