Creating an AFT Payment
Create a card payment for an account funding transaction (AFT).
Note
The AFT feature is in beta testing. To enable this feature, contact Rapyd Client Support.
Relevant to payment method types that support this feature.
You can transfer funds from a card as follows:
Indirectly through the company wallet of a licensed business entity that manages the customer’s wallet. The business forwards the funds to the customer’s wallet. In the payment request, you specify the
customerobject.Directly to the cardholder’s own wallet. In the payment request, you include the person
ewallet.
Transferring Funds Indirectly
Use the following Create Payment request parameters:
Set
payment_method_options.aftto true.Set
payment_method_options.purpose_codeto one of the following:crowd_lending
education
emergency_need
family_support
gifts
high_risk_securities
hospitalization_and_medical_treatment
other
regular_labor_transfers
salary
savings
travel_and_tourism
If the transfer is related to high risk securities or cryptocurrency then set
payment_method_options.is_direct_purchaseto true. Do not add this parameter when value is false (default).Set the ID of the
customerobject or create a customer. See Create Customer.In the
customerobject:date_of_birthis required.The following fields are recommended:
birth_countryemailnationalityoccupation
The following customer
addressfields are required. See Create Address.citycountryline_1of the addresszip
AFT for customer: Request
curl -X post https://sandboxapi.rapyd.net/v1/payments/ -H 'access_key: your-access-key-here' -H 'Content-Type: application/json' -H 'idempotency: your-idempotency-parameter-here' -H 'salt: your-random-string-here' -H 'signature: your-calculated-signature-here' -H 'timestamp: your-unix-timestamp-here' -d '{ "amount": 4, "currency": "GBP", "description": "AFT payment - customer", "capture": true, "complete_payment_url": "https://complete.example.net", "error_payment_url": "https://error.example.net", "payment_method": { "type": "at_visa_card", "fields": { "number": "4111111111111111", "expiration_month": "12", "expiration_year": "31", "cvv": "456", "name": "John Doe" } }, "payment_method_options": { "aft": true, "purpose_code": "family_support" }, "customer": { "name": "John Doe", "email": "johndoe@rapyd.net", "business_vat_id": "12345678915", "occupation": "developer", "birth_country": "US", "date_of_birth": "09/12/1997", "nationality": "US", "addresses": [{ "name": "John Doe", "line_1": "123 State Street", "line_2": "Apt.34", "line_3": "", "city": "Anytown", "state": "NY", "country": "US", "zip": "12345" } ] } } '
AFT for customer: Response
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "b4e297ad-ba06-46c4-b026-f0313c752196" }, "data": { "id": "payment_71fbb2bf0ffeca6029cc0748dfb0d76e", "amount": 4, "original_amount": 4, "is_partial": false, "currency_code": "GBP", "country_code": "AT", "status": "CLO", "description": "AFT payment - customer", "merchant_reference_id": "", "customer_token": "cus_e43c4977b914239bf46dcbc52a225183", "payment_method": null, "payment_method_data": { "id": null, "type": "at_visa_card", "category": "card", "metadata": null, "image": "", "webhook_url": "", "supporting_documentation": "", "next_action": "not_applicable", "name": "John Doe", "last4": "1111", "acs_check": "unchecked", "cvv_check": "unchecked", "bin_details": { "type": "CREDIT", "brand": "VISA", "level": "CLASSIC", "issuer": "VISA EUROPE LIMITED", "country": "GB", "bin_number": "411111" }, "expiration_year": "31", "expiration_month": "12", "fingerprint_token": "ocfp_67f3a5bc9766b181f1624a6260174345", "network_reference_id": "000000564531014", "payment_account_reference": "V0010013018036782991622965076" }, "auth_code": "663915", "expiration": 1748504528, "captured": true, "refunded": false, "refunded_amount": 0, "receipt_email": "", "redirect_url": "", "complete_payment_url": "https://complete.example.net", "error_payment_url": "https://error.example.net", "receipt_number": "", "flow_type": "", "address": null, "statement_descriptor": "Doc Team", "transaction_id": "", "created_at": 1747899728, "metadata": {}, "failure_code": "", "failure_message": "", "paid": true, "paid_at": 1747899729, "dispute": null, "refunds": null, "order": null, "outcome": null, "visual_codes": {}, "textual_codes": {}, "instructions": [], "ewallet_id": "ewallet_5efc4cbe901b903df7bb3f26eb769331", "ewallets": [ { "ewallet_id": "ewallet_5efc4cbe901b903df7bb3f26eb769331", "amount": 4, "percent": 100, "refunded_amount": 0 } ], "payment_method_options": { "aft": true, "purpose_code": "family_support" }, "payment_method_type": "at_visa_card", "payment_method_type_category": "card", "fx_rate": 1, "merchant_requested_currency": null, "merchant_requested_amount": null, "fixed_side": "", "payment_fees": null, "invoice": "", "escrow": null, "group_payment": "", "cancel_reason": null, "initiation_type": "customer_present", "mid": "mid_0f15e88b73d11e3eab39f5bad87e0759", "next_action": "not_applicable", "error_code": "", "remitter_information": {}, "save_payment_method": false, "merchant_advice_code": null, "merchant_advice_message": null, "transaction_link_id": null } }
Transferring Funds Directly
Use the following Create Payment request parameters:
Set
payment_method_options.aftto true.Set
payment_method_options.purpose_codeto one of the following:crowd_lending
education
emergency_need
family_support
gifts
high_risk_securities
hospitalization_and_medical_treatment
other
regular_labor_transfers
salary
savings
travel_and_tourism
If the transfer is related to high risk securities or cryptocurrency then set
payment_method_options.is_direct_purchaseto true. Do not add this parameter when value is false (default).Set the ID of the cardholder’s person
ewallet. See Create Wallet.The cardholder’s first name, last name, and country must match the values of the wallet contact.
The following wallet contact fields are required. See Add Contact to Wallet.
first_namelast_namecountryThe following wallet contact
addressfields are required. See Create Address.cityline_1of the addresszip
AFT for person wallet: Request
curl -X post https://sandboxapi.rapyd.net/v1/payments/ -H 'access_key: your-access-key-here' -H 'Content-Type: application/json' -H 'idempotency: your-idempotency-parameter-here' -H 'salt: your-random-string-here' -H 'signature: your-calculated-signature-here' -H 'timestamp: your-unix-timestamp-here' -d '{ "amount": 1.07, "currency": "EUR", "description": "AFT payment - person wallet", "capture": true, "ewallet": "ewallet_4d4b74f67ddf7cd8fd9ea33bf72aa3bd", "complete_payment_url": "https://complete.example.net", "error_payment_url": "https://error.example.net", "payment_method": { "type": "nl_visa_card", "fields": { "number": "4111111111111111", "expiration_month": "11", "expiration_year": "31", "cvv": "123", "name": "John Doe" } }, "payment_method_options": { "aft": true, "purpose_code": "family_support" } } '
AFT for person wallet: Response
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "851d1197-b7b0-43b2-a3c1-1353e227cf75" }, "data": { "id": "payment_bafcc78a0542ef64f3bbd145c130690c", "amount": 1.07, "original_amount": 1.07, "is_partial": false, "currency_code": "EUR", "country_code": "NL", "status": "CLO", "description": "AFT payment - person wallet", "merchant_reference_id": "", "customer_token": "cus_77dbcd9f07c1d78a7702a46a3d8c1d4e", "payment_method": "card_38f74ed0a42211b2c9a08aa945074875", "payment_method_data": { "id": "card_38f74ed0a42211b2c9a08aa945074875", "type": "nl_visa_card", "category": "card", "metadata": null, "image": "", "webhook_url": "", "supporting_documentation": "", "next_action": "not_applicable", "name": "John Doe", "last4": "1111", "acs_check": "unchecked", "cvv_check": "unchecked", "bin_details": { "type": "CREDIT", "brand": "VISA", "level": "CLASSIC", "country": "NL", "bin_number": "411111" }, "expiration_year": "31", "expiration_month": "11", "fingerprint_token": "ocfp_c6abbccb3440fcb0fc34ae14126607fa", "network_reference_id": "000000111222999", "payment_account_reference": "V0010013018036782991622965076" }, "auth_code": "003603", "expiration": 1748504528, "captured": true, "refunded": false, "refunded_amount": 0, "receipt_email": "", "redirect_url": "", "complete_payment_url": "https://complete.example.net", "error_payment_url": "https://error.example.net", "receipt_number": "", "flow_type": "", "address": null, "statement_descriptor": "Doc Team", "transaction_id": "", "created_at": 1747899728, "metadata": {}, "failure_code": "", "failure_message": "", "paid": true, "paid_at": 1747899729, "dispute": null, "refunds": null, "order": null, "outcome": null, "visual_codes": {}, "textual_codes": {}, "instructions": [ { "name": "instructions", "steps": [ { "step1": "" } ] } ], "ewallet_id": "ewallet_4d4b74f67ddf7cd8fd9ea33bf72aa3bd", "ewallets": [ { "ewallet_id": "ewallet_4d4b74f67ddf7cd8fd9ea33bf72aa3bd", "amount": 1.07, "percent": 100, "refunded_amount": 0 } ], "payment_method_options": { "aft": true, "purpose_code": "family_support" }, "payment_method_type": "nl_visa_card", "payment_method_type_category": "card", "fx_rate": 1, "merchant_requested_currency": null, "merchant_requested_amount": null, "fixed_side": "", "payment_fees": null, "invoice": "", "escrow": null, "group_payment": "", "cancel_reason": null, "initiation_type": "customer_present", "mid": "mid_7b624b32f161313347d554138d81858", "next_action": "not_applicable", "error_code": "", "remitter_information": {}, "save_payment_method": false, "merchant_advice_code": null, "merchant_advice_message": null, "transaction_link_id": null } }