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

Сплачуйте частинами від ПУМБ

Загальні відомості

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

Більш детально ознайомитися з особливостями роботи та умовами надання послуг можна на сайті Пумб.

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

Direct-інтеграція дозволить вам приймати платежі, використовуючи власну платіжну сторінку.

Формат взаємодії:

An image from the static

Використання direct-інтеграції потребує проходження сертифікації PCI DSS. У якості альтернативи ви можете скористатися нашим токенізаційним віджетом.

Особливості використання direct-інтеграції:

  1. Платіжна сторінка повинна використовувати HTTPS-протокол.
  2. Дані кожного клієнта мають бути сталими та унікальними.
  3. Використовуйте HTTP-метод POST.

Параметри запиту:

ParameterTypeRequiredDescription
pos_idUUIDMerchant's identifier (POS_ID)
modeMODEhosted
methodMETHODPayment method (auth or purchase)
amountNumberTransaction amount. Must be a positive number (min 500 UAH)
currencyCURRENCYTransaction currency (ISO_4217)
descriptionStringPayment description
order_idStringUnique identifier of order
order_3ds_bypassString3-D Secure flow option
paywayStringUse fuib_payparts for processing direct payments through Pumb Payment by Parts
productsArray[Product]Array of products to be paid
customer_idStringCustomer's identifier in merchant's system
customer_fnameStringCustomer's first name.
customer_lnameStringCustomer's last name.
customer_patronymStringCustomer's patronym
customer_emailStringCustomer's email
customer_phoneStringCustomer's phone
customer_ipStringCustomer IP address
customer_countryStringCustomer's country (ISO 3166-1 (alpha-2)). For instance, UA for Ukraine
customer_referrerURLPage customer is redirected from
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
browser_fingerprintJSONBrowser fingerprint. These parameters could be used in 3DS 2.0 verification
properties.parts_countString.The number of parts into which the payment amount is divided (must be => 3 and <= 24)

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

$ curl "https://cpay.tranzzo.com/api/v1/payment" \
-H "Content-Type: application/json" \
-H "X-API-AUTH: CPAY-HMAC-SHA1 ${API_KEY}:${SIGNATURE}" \
-H "X-API-KEY: ${ENDPOINTS_KEY}" \
-X POST -d '{
"pos_id": "${POS_ID}",
"mode": "direct",
"method": "purchase",
"amount": 500,
"payway": "fuib_payparts",
"currency": "UAH",
"description": "Order description",
"order_id": "123",
"order_3ds_bypass": "always",
"customer_phone": "+380000000000",
"server_url": "https://callback.blackhole.com/callback",
"result_url": "https://example.com/result",
"customer_referrer": "https://example.com",
"properties": {
"part_counts": "3"
},
"products": [
{
"name": "Apple",
"amount": 500,
"qty": 1
}
],
"browser_fingerprint": {
"browserColorDepth": "24",
"browserScreenHeight": "860",
"browserScreenWidth": "1600",
"browserJavaEnabled": "false",
"browserLanguage": "uk-UA",
"browserTimeZone": "Europe/Kiev",
"browserTimeZoneOffset": "-120",
"browserAcceptHeader": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"browserIpAddress": "127.0.0.1",
"browserUserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.146 Safari/537.36"
},
}'

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

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 or purchase)
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
customer_idStringCustomer’s identifier in merchant's system
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
processing_timeTIMESTAMPTimestamp when transaction was updated last time
feeObjectAmount and currency of commission
fixed_feeObjectAmount and currency of fixed commission (fee), which constitutes a portion of the total commission (fee)
percent_feeObjectAmount and currency representing the interest commission (fee), which constitutes a portion of the total commission (fee)
payloadStringField for custom data
bank_short_nameStringBank short name.

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

{
"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": "purchase",
"amount": 500,
"currency": "UAH",
"description": "Order description",
"status": "pending",
"status_code": "2122",
"status_description": "pending",
"user_action_required": false,
"user_action_url": "null",
"eci": "null",
"mcc": "null",
"options_3ds": "supported",
"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-HMAC-SHA1 ${API_KEY}:${SIGNATURE}" \
-H "X-API-KEY: ${ENDPOINTS_KEY}" \
-X POST -d '{
"pos_id": "${POS_ID}",
"mode": "hosted",
"method": "purchase",
"amount": 500,
"currency": "UAH",
"description": "Order description",
"order_id": "123",
"order_3ds_bypass": "always",
"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",
"products": [
{
"name" : "Apple",
"amount" : 100,
"currency": "UAH",
"qty" : 2
},
{
"name" : "Pineapple",
"amount" : 350,
"currency": "UAH",
"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. Коли наша команда Комплаєнсу активує робочий проєкт, замініть автентифікаційні дані тестового проєкту на дані робочого.