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

API інтеграція

Повернення коштів може проводитися як щодо всієї суми платежу, так і щодо його частини.

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

An image from the static

Повернення всієї суми платежу (повне повернення)

Особливості використання цієї інтеграції для повернення всієї суми платежу:

  1. Запит до Tranzzo API на повернення може застосовуватися тільки до транзакцій оплати (purchase) або зарахування резерву (capture) з успішними статусами (success).
  2. Використовуйте HTTP-метод POST.

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

ParameterTypeRequiredDescription
pos_idUUIDMerchant's identifier (POS_ID)
order_idStringMerchant's order identifier to be captured (max length is 32 characters)
order_currencyCURRENCYCurrency of original order
commentStringRefund comment. Can be used for describing reasons of refund or for passing another data about operation (max length is 2048 characters)
server_urlURLWebhook notification will be sent to this URL

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

$ curl "https://cpay.tranzzo.com/api/v1/refund" \
-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}",
"order_id": "123",
"order_currency": "UAH",
"comment": "10101",
"server_url": "https://callback.blackhole.com/callback/"
}'

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

ParameterTypeDescription
operation_idUUIDUnique Tranzzo refund identifier
payment_idUUIDTranzzo payment identifier of primary operation
order_idStringMerchant's order_id of primary operation (max length is 32 characters)
transaction_idUUIDUnique Tranzzo transaction identifier
pos_idUUIDMerchant's identifier (POS_ID)
modeMODEdirect
methodMETHODrefund
amountNumberActual refund amount
currencyCURRENCYTransaction currency
statusSTATUSTransaction status
status_codeSTATUS_CODETranzzo payment status code
status_descriptionSTATUS_DESCRIPTIONTranzzo payment status code description
created_atTIMESTAMPTimestamp when transaction was created
processing_timeTIMESTAMPTimestamp when transaction was updated last time
feeObjectAmount and currency of commission
commentStringRefund comment

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

{
"operation_id": "f7d0c7cb-af32-441f-b2af-4d90d4da70e1",
"payment_id": "fdf1a710-8a34-414c-b023-b7e78104301a",
"order_id": "123",
"transaction_id": "4f98dc46-ffff-4ba7-a267-286fe7669894",
"pos_id": "dc728de1-51ef-4ef1-80f7-3b44b07b5667",
"mode": "direct",
"method": "refund",
"amount": 100,
"currency": "UAH",
"status": "success",
"status_code": "1004",
"status_description": "Refund successful.",
"created_at": "2018-10-10T10:10:10.100",
"processing_time": "2018-10-10T10:10:12.000",
"fee": null,
"comment": "10101"
}

Повернення частини суми платежу (часткове повернення)

У випадку повернення не всієї суми платежу, а лише його частини запит до Tranzzo API повинен містити такі параметри:

ParameterTypeRequiredDescription
pos_idUUIDMerchant's identifier (POS_ID)
order_idStringMerchant's order identifier to be captured (max length is 32 characters)
order_currencyCURRENCYCurrency of original order
refund_amountNumberAmount to be refunded
commentStringRefund comment. Can be used for describing reasons of refund or for passing another data about operation (max length is 2048 characters)
server_urlURLWebhook notification will be sent to this URL

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

$ curl "https://cpay.tranzzo.com/api/v1/refund" \
-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}",
"order_id": "123",
"order_currency": "UAH",
"refund_amount": 80,
"comment": "10101",
"server_url": "https://callback.blackhole.com/callback/"
}'
інформація

Cума всіх транзакцій часткового повернення за платежем не може перевищувати загальну суму оригінального платежу.

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

ParameterTypeDescription
operation_idUUIDUnique Tranzzo refund identifier
payment_idUUIDTranzzo payment identifier of primary operation
order_idStringMerchant's order_id of primary operation (max length is 32 characters)
transaction_idUUIDUnique Tranzzo transaction identifier
pos_idUUIDMerchant's identifier (POS_ID)
modeMODEdirect
methodMETHODrefund
amountNumberActual refund amount
currencyCURRENCYTransaction currency
statusSTATUSTransaction status
status_codeSTATUS_CODETranzzo payment status code
status_descriptionSTATUS_DESCRIPTIONTranzzo payment status code description
created_atTIMESTAMPTimestamp when transaction was created
processing_timeTIMESTAMPTimestamp when transaction was updated last time
feeObjectAmount and currency of commission
commentStringRefund comment

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

{
"operation_id": "f7d0c7cb-af32-441f-b2af-4d90d4da70e1",
"payment_id": "fdf1a710-8a34-414c-b023-b7e78104301a",
"order_id": "123",
"transaction_id": "4f98dc46-ffff-4ba7-a267-286fe7669894",
"pos_id": "dc728de1-51ef-4ef1-80f7-3b44b07b5667",
"mode": "direct",
"method": "refund",
"amount": 100,
"currency": "UAH",
"status": "success",
"status_code": "1004",
"status_description": "Refund successful.",
"created_at": "2018-10-10T10:10:10.100",
"processing_time": "2018-10-10T10:10:12.000",
"fee": null,
"comment": "10101"
}

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

Тестування платіжного процесу:

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

Коли наша команда Комплаєнсу активує робочий проєкт, замініть автентифікаційні дані тестового проєкту на дані робочого.

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