On This Page
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" }