Перейти до основного вмісту

Оплата частинами від ПриватБанку

Оплата частинами від Приват - це розстрочка, що надається банком ПриватБанк в межах кредитного ліміту, встановленого при оплаті товару/послуги в торгово-сервісних мережах та/або інтернет-магазинах. Для використання цього платіжного методу, оплата може бути проведена тільки карткою Privatbank. Більш детально ознайомитися з особливостями роботи та умовами надання послуг можна на сайті банку.

Direct-інтеграція

Запит на створення платежу повинен містити такі параметри:

ParameterTypeRequiredDescription
pos_idUUIDMerchant's identifier (POS_ID)
modeMODEdirect
methodMETHODPayment method (auth or purchase)
amountNumberTransaction amount (must be > 300 UAH). 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 "privat_payparts" for processing direct payments through Privat Payment by Parts
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. It must be in the format +380992223344.
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
properties.parts_countStringThe number of parts into which the payment amount is divided (must be > 1 and <= 25)

Приклад запиту:

$ 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": "auth",
"amount": 500,
"currency": "UAH",
"description": "Order description",
"order_id": "123",
"order_3ds_bypass": "always",
"payway": "privat_payparts",
"customer_id": 1234,
"customer_fname": "Tom",
"customer_lname": "Hanks",
"customer_email": "[email protected]",
"customer_phone": "+380999999999",
"server_url": "https://callback.blackhole.com/callback",
"result_url": "https://example.com/result",
"payload": "sale=true",
"properties": {
"part_counts": "2"
},
"products": [
{
"name" : "Apple",
"amount" : 100,
"currency": "UAH",
"qty" : 2
},
{
"name" : "Pineapple",
"amount" : 100,
"currency": "UAH",
"qty" : 1
}
]
}'

Параметри відповіді:

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
methodMETHODPayment method (auth)
amountNumberTransaction amount
currencyCURRENCYTransaction currency (ISO_4217)
descriptionString(≤2048)Payment description
statusSTATUSTransaction status
status_codeSTATUS_CODETranzzo payment status code
status_descriptionSTATUS_DESCRIPTIONTranzzo payment status code description
user_action_requiredBooleanEither customer action is required to proceed with payment
user_action_urlURLIf user_action_required is true then user should be redirected to this URL
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_expirationStringToken expiration timestamp
customer_idStringCustomer's identifier in merchant's system
customer_ipStringCustomer's IP address
customer_fnameStringCustomer's first name
customer_lnameStringCustomer's last name
customer_patronymStringCustomer's patronym
customer_emailStringCustomer's email
customer_phoneStringCustomer's phone
customer_countryStringCustomer's country (ISO 3166-1 (alpha-2)). For instance, UA for Ukraine
customer_birthdayStringCustomer's birthday (format: yyyy-MM-dd)
result_urlURLCustomer will be redirected to this URL after payment
created_atTIMESTAMPTimestamp when transaction was created
processed_atTIMESTAMPTimestamp when transaction was updated last time
payloadStringField for custom data
receipt_urlURLURL link to the receipt for the corresponding transaction

Приклад відповіді:

{
"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": "auth",
"amount": 1000,
"currency": "UAH",
"description": "Order description",
"status": "pending",
"status_code": "2122",
"status_description": "3DS verification is required to finish the transaction.",
"user_action_required": true,
"user_action_url": "null",
"eci": "null",
"mcc": "null",
"options_3ds": "supported",
"cc_mask": "null",
"cc_token": "null",
"cc_token_expiration": "null",
"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",
"result_url": "https://example.com/result",
"created_at": "2018-10-10T10:10:22.100",
"processed_at": "2018-10-10T10:10:23.300",
"payload": "sale=true",
"receipt_url": "https://cpay.tranzzo.com/public/receipt/12491284012940129402424124124124124ffef3re3rf32f2vf"
}

Hosted-інтеграція

Hosted-інтеграція дозволить вам приймати платежі від клієнтів з платіжної сторінки Tranzzo.

інформація

Для активації методу “Оплата частинами від ПриватБанку“ на платіжній сторінці зверніться у службу підтримки Tranzzo

Запит на створення платежу повинен містити такі параметри:

ParameterTypeRequiredDescription
pos_idUUIDMerchant's identifier (POS_ID)
modeMODEhosted
methodMETHODPayment method (auth or 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
productsArray[Product]Array of products to be paid
nameStringProduct name
amountNumberProduct price (does not influence total payment 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)
currencyStringProduct price currency
qtyNumberProduct quantity. Max three decimals (e.g. 1.455)
customer_idStringCustomer's identifier in merchant's system
customer_fnameStringCustomer's first name. The parameter is mandatory for merchants operating in either the microfinance sector or the iGaming sector
customer_lnameStringCustomer's last name. The parameter is mandatory for merchants operating in either the microfinance sector or the iGaming sector
customer_patronymStringCustomer's patronym
customer_emailStringCustomer's email
customer_phoneStringCustomer's phone
customer_langStringCheckout language. Supported values.
customer_countryStringCustomer's country (ISO 3166-1 (alpha-2)). For instance, UA for Ukraine
customer_birthdayStringCustomer's birthday (format: yyyy-MM-dd)
customer_tax_idStringCustomer's tax identification number. The parameter is mandatory for merchants operating in the microfinance sector when the payment amount exceeds 30 000 UAH
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
order_timeoutIntegerPayment lifespan. Value in seconds
f_receipt_deliveryStringFiscal receipt delivery option (email, sms, viber, none). For more details, refer to the Receiving Fiscal Receipts section.

Приклад запиту:

$ 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": "hosted",
"method": "auth",
"amount": 500,
"currency": "UAH",
"description": "Order description",
"order_id": "123",
"order_3ds_bypass": "always",
"server_url": "https://callback.blackhole.com/callback",
"result_url": "https://example.com/result",
"payload": "sale=true",
"customer_email": "[email protected]",
"customer_phone": "+380999999999",
"products": [
{
"name" : "Apple",
"amount" : 100,
"qty" : 2
},
{
"name" : "Pineapple",
"amount" : 100,
"qty" : 1
}
]
}'

Відповідь зі статусом 303 HTTP на успішний запит містить заголовок location, в який клієнт повинен бути перенаправлений для продовження оплати.

Приклад відповіді:

HTTP/2 303
# .. other headers
location: https://cpay.tranzzo.com/api/v1/checkout/1b806782-3d97-4444-abb9-6e4b45d34663/form

Наступні кроки

Тестування процесу обміну токену і оплати:

  1. Створіть обліковий запис у Мерчант-порталі.
  2. Використовуйте автентифікаційні дані тестового проєкту.
  3. Налаштуйте вебхуки.
  4. Скористайтеся даними для тестування для отримання різних кодів результатів операцій
  5. Опрацьовуйте отримані помилки.

Більше деталей — у контрольному списку інтеграції.

Вихід в онлайн:

  1. Створіть робочий проєкт у мерчант-порталі.
  2. При direct-інтеграції: пройдіть сертифікацію PCI DSS або підключіть імплементувати токенізаційний віджет.
  3. Коли наша команда Комплаєнсу активує робочий проєкт, замініть автентифікаційні дані тестового проєкту на дані робочого.

Дивіться також: