Fund a card (AFT)
Draft content to be reviewed and verified.
Use funding to debit a card and move funds into an approved account, wallet, or stored-value instrument.
Funding is used for approved account-funding use cases such as wallet top-ups, prepaid card loading, and brokerage account funding. The card is the funding source, and the PAYSTRAX configuration is the receiver.
PAYSTRAX determines the applicable card-scheme flow from the source card. Visa funding transactions are processed as Account Funding Transactions, or AFTs. Mastercard funding transactions use the equivalent Mastercard funding flow.
Before using this flow, confirm that your PAYSTRAX account is enabled for the relevant funding use case. Funding transactions may require additional sender, receiver, billing, and customer information depending on your merchant configuration and card-scheme requirements.
How it works
- Authenticate — attach your Bearer token and Integrator ID to the request headers.
- Place the source card details in
sender.custom_data, including PAN, expiry, and holder name. - Set
receiver.configuration_idto your PAYSTRAX configuration, andcustom_data.account_fundingtotrue. POSTto the same endpoint used for a sale. A successful funding returnsstatus: pendingand anid— save it as yourpayment_id.
Key rules
senderholds the source card;receiverholds theconfiguration_id— the reverse of a sale.custom_data.account_fundingistrue.- 3DS is currently required — include the
custom_data.authentication.3ds_v2object from whichever 3DS method you're using. See 3DS. - The level of
purchase_data.billing/purchase_data.customerdetail required depends on your merchant configuration and the applicable card-scheme requirements.
{
"amount": 1000,
"currency": "EUR",
"sender": {
"type": "credit_card",
"custom_data": {
"pan": "4000000000000000",
"expiry_month": "12",
"expiry_year": "2030",
"holder_name": "NAME NAME"
}
},
"receiver": {
"configuration_id": "idid+001"
},
"routing": {
"payment_flow": "credit_card"
},
"intent": "transfer",
"channel": "ecommerce",
"custom_data": {
"account_funding": true,
"authentication": {
"cvc": "123"
}
},
"purchase_data": {
"billing": {
"street": "Main Street",
"house_number": "1",
"city": "City",
"state_or_province": "State",
"country": "UK",
"postal_code": "101"
},
"customer": {
"first_name": "Name",
"last_name": "Name",
"email": "email@email.com",
"mobile_phone": "+447777777777",
"ipv4": "000.0.000.00"
}
}
}
amount is in minor currency units — 1000 = 10.00 EUR. See Payment Flows for zero-decimal currencies.
Call this flow directly in the API Reference — select the Funding example.
- POST Create Direct payment