Pull Funds Transfer Service

An AFT withdraws funds from a sender’s account. Some countries or regions have mandatory fields for specific cases, such as a cross-border AFT. For more information about country or regional requirements, see the Visa Direct AFT Processing guide. These fields are not mandatory, but they are required in Visa’s processing rules.

Endpoints

Production:
POST https://api.cybersource.com/pts/v1/pull-funds-transfer
Test:
POST https://apitest.cybersource.com/pts/v1/pull-funds-transfer

Pull Funds Transfer Required Fields

These fields are required in a request for a Pull Funds Transfer:
Sender card information or a Token Management Service (TMS) payment token is required.

Pull Funds Transfer Optional Fields

These fields are optional in a request for a Pull Funds Transfer:
This field indicates that the funds transfer is for a cryptocurrency transaction.
processingInformation.fundingOptions.initiator.originatorInitiatedTransaction. originalTransactionId
processingInformation.fundingOptions.initiator.originatorInitiatedTransaction. reason
processingInformation.fundingOptions.initiator.storedCredentialUsed
processingInformation.payoutsOptions.retrievalReferenceNumber
recipientInformation.descriptor
recipientInformation.identificationNumber
recipientInformation.personalIdentification.id
recipientInformation.personalIdentification.issuingCountry
recipientInformation.personalIdentification.personalIdType
recipientInformation.personalIdentification.type
recipientInformation.type
senderInformation.address2
senderInformation.consumerAuthentication.cavv
senderInformation.consumerAuthentication. strongAuthentication.delegatedAuthenticationExemptionIndicator
senderInformation.consumerAuthentication.strongAuthentication. lowValueExemptionIndicator
senderInformation.consumerAuthentication.strongAuthentication. riskAnalysisExemptionIndicator
senderInformation.consumerAuthentication.strongAuthentication. secureCorporatePaymentIndicator
senderInformation.consumerAuthentication.strongAuthentication. trustedMerchantExemptionIndicator
senderInformation.country
senderInformation.paymentInformation.accountType
senderInformation.paymentInformation.card.securityCode
senderInformation.paymentInformation.card.type
These are the valid values:
001
: Visa
002
: Mastercard
024
: Maestro
033
: Visa Electron
senderInformation.paymentInformation.customer.id
The value is the TMS customer token identification.
senderInformation.personalIdentification.id
senderInformation.paymentInstrument.id
senderInformation.paymentInstrumentIdentifier.id
senderInformation.personalIdentification.issuingCountry
senderInformation.personalIdentification.personalIdType
senderInformation.personalIdentification.type

REST Example: Pull Funds Transfer

Request with a PAN card
This example shows a Pull Funds Transfer request with a PAN card.
{ "clientReferenceInformation": { "code": "33557799", "applicationName": "EXAMPLE API", "applicationVersion": "V1", "applicationUser": "example_user" }, "orderInformation": { "amountDetails": { "totalAmount": "53.00", "currency": "USD" } }, "processingInformation": { "commerceIndicator": "INTERNET", "businessApplicationId": "WT", "purposeOfPayment": "example" }, "recipientInformation": { "administrativeArea": "TX", "countryCode": "US", "firstName": "Jennifer", "middleInitial": "M", "lastName": "Doe", "identificationNumber": "1234567890", "type": "I", "descriptor": "Jennifer1234", "address1": "123 Main St", "address2": "Suite 4000" }, "senderInformation": { "postalCode": "94440", "firstName": "John", "middleInitial": "A", "lastName": "Doe", "address1": "567 Paseo Padre Boulevard", "address2": "Apt 4", "locality": "Foster City", "administrativeArea": "CA", "country": "US", "paymentInformation": { "card": { "type": "001", "securityCode": "123", "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2030" }, "accountType": "30" }, "personalIdentification": { "issuingCountry": "US", "id": "123abc", "type": "TXIN", "personalIdType": "I" }, "referenceNumber": "123456" } }
Response to a Successful Request
This example shows a Pull Funds Transfer response with a PAN card.
{ "_links": { "refund": { "href": "/pts/v1/pull-funds-transfer/7180269028616978704951/refund", "method": "POST" }, "reversal": { "href": "/pts/v1/pull-funds-transfer/7180269028616978704951/reversal", "method": "POST" }, "self": { "method": "GET", "href": "/pts/v1/pull-funds-transfer/7180269028616978704951" } }, "processorInformation": { "approvalCode": "98765X", "transactionId": "798964527787170", "systemTraceAuditNumber": "903083", "retrievalReferenceNumber": "416213903083", "responseCode": "5" }, "id": "7180269028616978704951", "status": "AUTHORIZED", "submitTimeUtc": "2027-06-10T13:41:42Z" }

REST Example: Pull Funds Transfer with TMS

Request with TMS tokens
This example shows a Pull Funds Transfer request with tokens.
{ "senderInformation": { "firstName": "Ellen", "lastName": "Torres", "address": "123 N Test St", "middleInitial": "A", "countryCode": "US", "postalCode": "94404", "locality": "Foster City", "administrativeArea": "CA" }, "paymentInformation": { "customer": { "id": "B21E6717A6F03479E05341588E0A303F" }, "paymentInstrument": { "id": "B21E6B7E8BB3388EE05341588E0AFC84" }, "shippingAddress": { "id": "B21E6717A6F33479E05341588E0A303F" } }, "recipientInformation": { "firstName": "Amit", "lastName": "Gupta", "countryCode": "US", "administrativeArea": "CA", "identificationNumber": "123456789", "type": "I" }, "processingInformation": { "commerceIndicator": "INTERNET", "businessApplicationId": "PP" }, "orderInformation": { "amountDetails": { "totalAmount": "100", "currency": "USD" } }, "clientReferenceInformation": { "code": "REF123456", "applicationName": "Great Stuff Storefront", "applicationUser": "G. Miller" } }
Response: Pull Funds Transfer with TMS
This example shows a Pull Funds Transfer response with tokens.
{ "_links": { "refund": { "href": "/pts/v1/pull-funds-transfer/6668885718936344401953/refund", "method": "POST" }, "reversal": { "href": "/pts/v1/pull-funds-transfer/6668885718936344401953/reversal", "method": "POST" }, "self": { "method": "GET", "href": "/pts/v1/pull-funds-transfer/6668885718936344401953" } }, "processorInformation": { "approvalCode": "98765X", "transactionId": "393209441134856", "systemTraceAuditNumber": "572474", "responseCode": "5" }, "id": "6668885718936344401953", "status": "AUTHORIZED", "submitTimeUtc": "2027-10-27T16:36:12Z" }