Processing a Recurring eCheck Debit Transaction Using the REST API

This section shows how to process a recurring eCheck debit transaction using the REST API.

Processing a Recurring eCheck Debit Transaction

Follow these steps to process a recurring eCheck debit transaction:
  1. Create the message with the required API fields.
  2. Send the message to one of these endpoints:
    • Production:
      POST
      https://api.cybersource.com
      /pts/v2/payments
    • Test:
      POST
      https://apitest.cybersource.com
      /pts/v2/payments
  3. Verify the response messages to make sure that the request was successful. A 200-level HTTP response code indicates success.

Required Fields for a Recurring eCheck Debit Transaction

Value must be set to
USD
.
This field is required if you do not submit
orderInformation.lineItems[].unitPrice
and
orderInformation.lineItems[].quantity
.
Set the value to a valid USPS two-letter state or possession abbreviation.
Set the value to
US
.
Set the value to
check
.
Set the value to
recurring
.
If this is the first payment in the recurring series of payments, set the value to
true
. For each subsequent payment in the series, set the value to
false
.

REST Example: Recurring eCheck Debit Transaction

Request
{ "processingInformation": { "commerceIndicator": "recurring", "recurringOptions": { "firstRecurringPayment": true }, "orderInformation": { "billTo": { "country": "US", "firstName": "Jane", "lastName": "Doe", "phoneNumber": "2053040804", "address1": "112 12 Ave", "postalCode": "98004", "locality": "Bellevue", "administrativeArea": "WA", "email": "[email protected]" }, "amountDetails": { "currency": "USD", "totalAmount": 1200 } }, "clientReferenceInformation": { "code": "TC123" }, "paymentInformation": { "bank": { "routingNumber": "071923284", "account": { "number": "12345678901234567", "type": "C" } }, "paymentType": { "name": "check" } } }
Response to a Successful Request
{ "id": "16681201582270123456789", "reconciliationId": "9PK9Y6A8A75018I", "submitTimeUtc": "2022-11-10T22:42:38Z", "status": "PENDING", "clientReferenceInformation": { "code": "TC123" }, "orderInformation": { "amountDetails": { "currency": "USD", "totalAmount": "1200" } } }