Skip to main content

Payouts to cards

This payment method allows you to use only direct integration for payments.

Interaction format:

Scheme services

info

Note: the use of direct integration when collecting card data on the merchant side requires PCI DSS certification. Alternatively, you can use our tokenization widget by implementing it on your site.

Features of payment transactions:

  • Use the HTTP POST method to create a payout transaction.

Request parameters:

ParameterTypeRequiredDescription
pos_idUUIDMerchant's identifier (POS_ID)
modeMODEdirect
methodMETHODcredit
amountNumberTransaction amount
currencyCURRENCYTransaction currency (ISO_4217)
descriptionStringPayment description
order_idStringUnique identifier of transfer
cc_numberCC_NUMBERRecipient's card number
order_3ds_bypassString3-D Secure flow option
customer_idStringCustomer's identifier in merchant's system
customer_fnameStringCustomer's first name
customer_lnameStringCustomer's last name
customer_emailStringCustomer's email
customer_phoneStringCustomer's phone
customer_ipStringCustomer's IP address
customer_countryStringCustomer country (ISO 3166-1 (alpha-2)). For instance, UA for Ukraine
customer_cityStringCustomer's city
customer_birthdayDateCustomer's birthday (format: yyyy-MM-dd)
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 custom data. Max 4000 symbols.
validation_urlURLPreflight request will be sent to this URL
propertiesJSONAdditional specific parameters for integrations

In addition, the following parameters can also be submitted in the request:

ParameterTypeDescription
recipient_first_nameStringRecipient's first name
recipient_middle_nameStringRecipient's middle name
recipient_last_nameStringRecipient's last name
recipient_doc_numberStringRecipient's document number
recipient_doc_issue_dateDateRecipient's document issue date (format: yyyy-MM-dd)
recipient_doc_issued_byStringRecipient's place that issued his/her document
recipient_phoneStringRecipient's phone
recipient_birth_dateDateRecipient's birth date (format: yyyy-MM-dd)
recipient_birth_placeStringRecipient's birth place
recipient_countryStringRecipient's citizenship (ISO_3166-2)
recipient_cityStringRecipient's city
recipient_addressStringRecipient's address
recipient_postcodeStringRecipient's postcode
wallet_numberStringWallet number

Depending on what is used in the request: full card data or a token, you need to pass the following parameters:

  • Using full card data: cc_number, exp_month, exp_year, card_cvv
  • Using tokens: cc_token

Request example:

$ curl "https://cpay.tranzzo.com/api/v1/payment" \
-H "Content-Type: application/json" \
-H "X-API-AUTH: CPAY ${API_KEY}:${API_SECRET}" \
-H "X-API-KEY: ${ENDPOINTS_KEY}" \
-X POST -d '{
"pos_id": "${POS_ID}",
"mode": "direct",
"method": "credit",
"amount": 1,
"currency": "UAH",
"description": "Credit description",
"order_id": "123",
"order_3ds_bypass": "always",
"cc_number": "4242424242424242",
"server_url": "https://callback.blackhole.com/callback",
"result_url": "https://example.com/result",
"payload": "sale=true"
}'

Response parameters:

ParameterTypeDescription
payment_idUUIDUnique Tranzzo payment identifier
order_idString(≤256)Unique identifier of order
gateway_order_idGW_IDUnique order identifier in bank acquirer system.
billing_order_idBILLING_IDUnique Tranzzo billing identifier
transaction_idUUIDTranzzo transaction identifier
pos_idUUIDMerchant's identifier (POS_ID)
modeMODEdirect
methodMETHODcredit
amountNumberTransaction amount
currencyCURRENCYTransaction currency (ISO_4217)
descriptionString(≤2048)Payment description
statusSTATUSTransaction status
status_codeSTATUS_CODETranzzo payment status code
status_descriptionStringTranzzo payment status code description
user_action_requiredBooleanEither customer action is required to proceed with payment
eciECIElectronic Commerce Indicator - authentication result of credit card payment on 3D Secure
mccMCCMCC for this transaction
options_3dsString3-D Secure flow option
cc_maskCC_MASKCard number mask
cc_tokenCC_TOKENTranzzo card token generated for this card
cc_token_expirationTIMESTAMPToken expiration timestamp
customer_idStringCustomer's identifier in merchant's system
customer_ipIPCustomer's IP address
customer_fnameStringCustomer's first name
customer_lnameStringCustomer's last name
customer_emailStringCustomer's email
customer_phoneStringCustomer's phone
customer_countryStringCustomer country (ISO 3166-1 (alpha-2)). For instance, UA for Ukraine
customer_cityStringCustomer's city
customer_birthdayDateCustomer's birthday
result_urlURLCustomer will be redirected to this URL after payment.
created_atTIMESTAMPTimestamp when transaction was created
processing_timeTIMESTAMPTimestamp when transaction was updated last time
payloadString(≤4096)Field for custom data.
propertiesJSONAdditional specific parameters for integrations

Response example:

{
"payment_id": "9b1392a5-d030-4e85-b02d-9b7191ea2a5e",
"order_id": "123",
"gateway_order_id": "9B39A076243EB3EBB0925EAA981763AC:158545961",
"billing_order_id": "11231231231",
"transaction_id": "a8d80c86-0c7b-41bc-b63d-1e78f80edcd9",
"pos_id": "dc728de1-51ef-4ef1-80f7-3b44b07b5667",
"mode": "direct",
"method": "credit",
"amount": 1,
"currency": "UAH",
"description": "P2P description",
"status": "success",
"status_code": "1000",
"status_description": "Transaction is successful.",
"user_action_required": false,
"eci": "7",
"mcc": "4900",
"options_3ds": "supported",
"cc_mask": "424242******4242",
"cc_token": "ODJkZjBhNmY2OTMyNDJlN2wjMjFjfTQzOXU3ZDFhYzI6cWJmWHFmMHlzM3hYaXJMWEZv",
"cc_token_expiration": "2020-10-10T10:10:22",
"customer_id": "123",
"customer_ip": "194.183.171.239",
"customer_fname": "Tom",
"customer_lname": "Hanks",
"customer_email": "[email protected]",
"customer_phone": "+380999999999",
"customer_country": "UA",
"customer_city": "Ivano-Frankivsk",
"customer_birthday": "1999-04-02",
"result_url": "https://example.com/result",
"created_at": "2018-10-10T10:10:22.100",
"processing_time": "2018-10-10T10:10:23.300",
"payload": "sale=true",
"properties": {
"recipient_first_name":"Petro",
"recipient_last_name":"Petrenko",
"recipient_middle_name":"Petrovych",
"recipient_doc_number":"1234567890",
"recipient_doc_issue_date":"2015-08-12",
"recipient_doc_issued_by":"Kyiv RV UMVS",
"recipient_phone":"380999999999",
"recipient_birth_date":"2000-01-01",
"recipient_birth_place":"Kyiv",
"recipient_country":"UA",
"recipient_city":"Kyiv",
"recipient_address":"Kyiv City, Akademika Yangelia St. 18/1, ap. 309",
"recipient_postcode":"03056",
"wallet_number":"12345678900987"
}
}

To test the payment process:

Find more details in the integration checklist.

After testing, in order to go live, please proceed as follows:

  1. Create a live project in the merchant portal.
  2. Pass PCI DSS certification (if you intend to work with card data of payers on your side) or implement a tokenization widget (to be able to make direct payments without using card data).
  3. After receiving information from our Compliance team about the completion of the settings for the project, make changes to the authentication data using the data of the live project.
  4. You are ready to work with payouts.

See also: