Skip to main content

Transfer between bank accounts (A2A)

A2A, or account-to-account payments, are direct electronic transfers of funds from the buyer's bank account to the recipient's account. A2A payments bypass traditional payment systems and are instantly credited to the recipient's account.

Currently, this method is only available with direct integration.

Direct integration

Interaction format:

a2a

When creating a payment, send a request with the following parameters:

ParameterTypeRequiredDescription
pos_idUUIDMerchant's identifier (POS_ID)
modeMODEdirect
methodMETHODPayment method ( purchase)
amountNumberTransaction amount. Must be a positive number. The number of decimal digits must be less than or equal to 2 (e.g., 100.00, 250, 50.50)
currencyCURRENCYTransaction currency (ISO_4217)
descriptionStringPayment description
order_idStringUnique identifier of order
order_3ds_bypassString3-D Secure flow option
paywayStringOptional payway. Use "bank_pay" for processing a2a payments
productsArray[Product]Array of products to be paid
customer_idStringCustomer identifier in merchant's system
customer_fnameStringCustomer first name
customer_lnameStringCustomer last name
customer_emailStringCustomer email
customer_phoneStringCustomer phone
customer_ipStringCustomer IP address
customer_countryStringCustomer country (ISO 3166-1 (alpha-2)). For instance, UA for Ukraine
server_urlURLWebhook notification will be sent to this URL
result_urlURLCustomer will be redirected to this URL after payment.
merchant_mccMCCMCC for this transaction
payloadStringField for merchant custom data. Max 4000 symbols.
validation_urlStringPreflight request will be sent to this URL

Request example:

curl --location 'https://cpay.tranzzo.com/api/v1/payment' \
--header 'Content-Type: application/json' \
--header 'X-API-AUTH: CPAY-HMAC-SHA1 $API_KEY:$SIGNATURE' \
--header 'X-API-KEY: $ENDPOINTS_KEY' \
--data '{
"pos_id": "${POS_ID}",
"mode": "direct",
"method": "purchase",
"amount": 1,
"currency": "UAH",
"description": "Order description",
"order_id": "123",
"order_3ds_bypass": "always",
"payway": "bank_pay",
"server_url": "http://callback-stub:9000/consume",
"result_url": "https://example.com/result",
"payload": "sale=true"
}'

Additional Webhook parameters provided by a2a payments:

ParameterTypeRequiredDescription
bank_pay.sender_mfoStringSender's Bank Identifier Code (BIC)
bank_pay.sender_ibanStringSender's IBAN
bank_pay.sender_bankStringSender's bank name
bank_pay.sender_nameStringSender's full name
bank_pay.sender_tax_idStringSender's tax ID
bank_pay.receiver_ibanStringReceiver's IBAN
bank_pay.descriptionStringDescription of a2a payment

Example:

"bank_pay": {
"sender_mfo": "test_mfo_456",
"sender_bank": "Pumb",
"sender_iban": "UA558771690896444199621297483",
"sender_name": "John Doe",
"sender_tax_id": "1234567890",
"receiver_iban": "UA573220000000026007233566001",
"description": "Test operation"
}