On This Page
Merchant-Initiated Recurring Payments with PAN
After the initial recurring payment (CIT), subsequent recurring payments are
merchant-initiated transactions (MITs).
Prerequisites
The first transaction in a recurring payment is a customer-initiated transaction
(CIT). Before you can perform a subsequent merchant-initiated transaction (MIT), you
must store the customer's credentials for later use. Before you can store the
customer's credentials, you must get their consent to store their private
information. This is also known as establishing a relationship with the
customer.
Supported Card Types
These are the supported card types for processing credentialed transactions:
- American Express
- Visa
Mastercard uses standing order and subscription payments instead of recurring
payments. See Mastercard Standing Order Payments and
Mastercard Subscription Payments.
Address Verification Service for Recurring Payments
If your processor supports the Address Verification Service (AVS), then the AVS
should verify every authorization request.
Cybersource
recommends
checking the AVS's results for the first recurring payment to ensure that the
payment information is accurate and to reduce the risk of fraud.You must determine how to handle the AVS results for any subsequent recurring
payments that are not the same as the already-verified billing address information
from the first recurring payment.
Replacing Expiration Dates
If the customer's card-on-file is going to expire before a scheduled subsequent
recurring payment, your processor may allow you to replace the expiration date with
the date 12/2099.
IMPORTANT
Do not replace a card's expiration date if the card is not
expired.
Using this replacement expiration date does not guarantee a successful authorization
request. It is your responsibility to know if your processor supports this feature.
Not all issuing banks support the 12/2099 expiration date and may decline the
authorization request.
To include this date in the authorization request, use these fields and values.
- paymentInformation.card.expirationMonth
- Set to12.
- paymentInformation.card.expirationYear
- Set to99.
Endpoint
Production:
POST
https://api.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.cybersource.com
/pts/v2/paymentsRequired Fields for Authorizing a Merchant-Initiated Recurring Payment
Use these required fields to authorize subsequent recurring payments.
- authorizationOptions. initiator. merchantInitiatedTransaction. agreementId
- Required for the first MIT recurring payment and subsequent MIT recurring payments if your business is located in Saudi Arabia.
- processingInformation. authorizationOptions. initiator. merchantInitiatedTransaction. previousTransactionID
- For Discover and American Express cards, use the transaction ID from the original transaction. For Visa, use the last successful transaction ID.
- Set the value totrue.
- Set the value tomerchant.
- Set the value torecurring.
Card-Specific Required Fields for Authorizing Subsequent Recurring Payments
Some card companies require additional information when making authorizations with stored credentials.
Discover
Include the authorization amount from the original transaction in this field:
- processingInformation.authorizationOptions.initiator.merchantInitiatedTransaction. originalAuthorizedAmount
Mastercard
Mastercard supports subscription and standing order payments instead of recurring
payments.
Country-Specific Required Fields for Authorizing Subsequent Recurring Payments
Include these country-specific required fields for a successful merchant-initiated
authorization.
India
These fields are required only with Diners Club in India or with an India-issued
card, and you are processing payments through
Visa Platform Connect
.Saudi Arabia
These fields are required only if your business is located in Saudi Arabia and you
are processing payments through
Visa Platform Connect
.- authorizationOptions.initiator.merchantInitiatedTransaction.agreementId
REST Example: Authorizing a Merchant-Initiated Recurring Payment
Request
{ "processingInformation": { "commerceIndicator": "recurring", "authorizationOptions": { "initiator": { "storedCredentialUsed": "true", "type": "merchant", "merchantInitiatedTransaction": { "previousTransactionId": "123456789619999", "originalAuthorizedAmount": "100" //Discover Only } } } }, "orderInformation": { "billTo": { "firstName": "John", "lastName": "Doe", "address1": "201 S. Division St.", "postalCode": "48104-2201", "locality": "Ann Arbor", "administrativeArea": "MI", "country": "US", "phoneNumber": "5554327113", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "4111xxxxxxxxxxxx", "expirationMonth": "12" } } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6530824710046809304002/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6530824710046809304002" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6530824710046809304002/captures" } }, "clientReferenceInformation": { "code": "1653082470983" }, "id": "6530824710046809304002", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "002" } }, "paymentInformation": { "tokenizedCard": { "type": "002" }, "card": { "type": "002" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processorInformation": { "approvalCode": "888888", "authIndicator": "1", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "79710341A39WTT5W", "status": "AUTHORIZED", "submitTimeUtc": "2022-05-20T21:34:31Z" }