Dual Message Account Funding Transactions (AFTs) to Establish a Recurring Payout Transaction (CIT)

Account Funding Transactions allow a payment service provider to debit funds from a cardholder's Mastercard or Visa account to fund a non-merchant account. This is typically used to load funds onto prepaid cards and electronic wallets.
Dual Message Account Funding Transactions (AFTs) provide the following benefits:
  • Enables customers to identify Mastercard and Visa transactions during the authorization and settlement.
  • Allows acquiring partners to use Dual Message BINs when performing a payout transaction.
Using the credential-on-file transactions, customers can set up recurring transfers, for example transferring $50 to the customer's wallet each month. To set up such a transaction, the customer needs to create a Customer Inititated Transaction (CIT) that establishes the frequency, amount and duration of the recurring transfer. This information is then saved so that follow on Merchant Initiated Transactions (MITs) can occur on the customer's behalf.

Endpoint

Production:
POST
https://api.cybersource.com
/pts/v2/payments
Test:
POST
https://apitest.cybersource.com
/pts/v2/payments

Required Fields for a Dual-Message AFT with a CIT Request

These fields are required to process a dual-message AFT with a CIT request:
captureOptions.dateToCapture
This field is only required when you have received an XID value in a previous transaction.
senderInformation.fundSource

Related Information

REST Example: Dual-Message AFT with a CIT

Request
{ "clientReferenceInformation": { "code": "TC50171_3" }, "processingInformation": { "businessApplicationId": "WT", "commerceIndicator": "vbv", "authorizationOptions": { "initiator": { "type": "customer" }, "aftIndicator": "true", "fundingOptions": { "initiator": { "type": "S" } } } }, "purposeOfPayment": "16" }, "paymentInformation": { "card": { "expirationMonth": "12", "expirationYear": "2031", "type": "001", "securityCode": "123" }, "tokenizedCard": { "number": "4111111111111111", "cryptogram": "ABCDE12345ABCED12345ABCDE123", "transactionType": "1" } }, "orderInformation": { "amountDetails": { "totalAmount": "100", "currency": "USD", "anticipatedAmount": "123.45", "surcharge": { "amount": "5" } }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "locality": "san francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com", "phoneNumber": "4158880000" } }, "acquirerInformation": { "merchantId": "pa_ctv_sg101" },     "aggregatorInformation.name": "test", "recipientInformation": { "accountId": "987654321", "accountType": "99", "address1": "Alpine Eco Road", "address2": "Address2 value", "firstName": "recFirstname", "lastName": "resLastname", "middleName": "recMiddletname", "locality": "recipient_city", "country": "GBR", "postalCode": "571216", "streetName": "Alpine eco road", "dateOfBirth": "", "beneficiaryId": "", "beneficiaryName": "", "buildingNumber": "Tulip Appartment", "beneficiaryAddress": "" }, "senderInformation": { "account": { "number": "154264765376576126571652675176", "fundsSource": "02" }, "firstName": "senderfirstname", "middleName": "sendermiddlename", "lastName": "senderLastname", "postalCode": "654321", "phoneNumber": "9876543210", "address1": "senderAddress", "locality": "Rotterdam", "fundsSource": "card", "countryCode": "GBR", "identificationNumber": "12345678910111213223", "personalIdType": "TXIN", "administrativeArea": "US", "type": "B", "name": "Thomas Smith", "referenceNumber": "15426476537657" }, "captureOptions": { "dateToCapture": "1231" }, "consumerAuthenticationInformation": { "cavv": "ABCDEabcde12345678900987654321abcdeABCDE", "xid": "12345678909876543210ABCDEabcdeABCDEF1234" }, "merchantDescriptor": { "name": "utf8_merchant_descriptor", "alternateName": "merchant alternatename", "contact": "9995555444", "address1": "merchant address", "locality": "Mountain View", "country": "US", "postalCode": "94044", "administrativeArea": "CA", "phone": "99955554441", "url": "", "countryOfOrigin": "US", "storeId": "", "storeName": "", "customerServicePhoneNumber": "" } }
Response
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/7193118915937104040072/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/7193118915937104040072" }, "capture": { "method": "POST", "href": "/pts/v2/payments/7193118915937104040072/captures" } }, "clientReferenceInformation": { "code": "TC50171_3" }, "id": "7193118915937104040072", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "type": "001" }, "card": { "type": "001" } }, "processorInformation": { "systemTraceAuditNumber": "816726", "approvalCode": "831000", "cardVerification": { "resultCodeRaw": "M", "resultCode": "M" }, "merchantAdvice": { "code": "01", "codeRaw": "M001" }, "responseDetails": "ABC", "networkTransactionId": "016153570198200", "retrievalReferenceNumber": "417710816726", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "transactionId": "016153570198200", "responseCode": "00", "avs": { "code": "Y", "codeRaw": "Y" } }, "reconciliationId": "7193118915937104040072", "status": "AUTHORIZED", "submitTimeUtc": "2024-06-25T10:38:12Z" }