RozetkaPay

Кошик платежів

Об'єднання кількох отримувачів коштів в один платіж через RozetkaPay API

Кошик платежів дозволяє об’єднати декілька отримувачів коштів (продавців) в один платіж.

Одностадійна оплата (Direct)

Створення кошику

curl -X POST https://api.rozetkapay.com/api/payments/batch/v1/new \
-u "login:password" \
-H "Content-Type: application/json" \
-d '{
"batch_external_id": "basket_12345",
"callback_url": "https://your-site.com/callback",
"currency": "UAH",
"confirm": true,
"mode": "direct",
"customer": {
"email": "user@example.com",
"external_id": "user_123",
"first_name": "Іван",
"last_name": "Петренко",
"phone": "+380501234567",
"payment_method": {
"type": "cc_token",
"cc_token": {
"token": "tok_card_token"
}
}
},
"orders": [
{
"api_key": "UUID_seller_1",
"amount": 500,
"description": "Товар від продавця 1",
"external_id": "order_001"
},
{
"api_key": "UUID_seller_2",
"amount": 300,
"description": "Товар від продавця 2",
"external_id": "order_002"
}
],
"result_url": "https://your-site.com/result"
}'

Весь перелік полів — у API Reference →

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

ПараметрОбов’язковийОпис
batch_external_idТакУнікальний ID кошика
callback_urlТакURL для callback
currencyТакВалюта (UAH)
confirmНіtrue — списання одразу, false — двостадійна
modeТакdirect або hosted
customerТак для directДані платника
ordersТакСписок замовлень

Параметри замовлення (order)

ПараметрОбов’язковийОпис
api_keyТакID проекту продавця
amountТакСума замовлення
descriptionТакОпис замовлення
external_idТакID замовлення
productsНіСписок товарів

Успішна відповідь

{
"id": "563338115268219116",
"action_required": false,
"batch_details": {
"amount": "800",
"auth_code": "294956",
"currency": "UAH",
"created_at": "2024-01-15T10:30:00Z"
},
"order_details": [
{
"external_id": "order_001",
"amount": "500",
"status": "success",
"status_code": "transaction_successful"
},
{
"external_id": "order_002",
"amount": "300",
"status": "success",
"status_code": "transaction_successful"
}
],
"batch_external_id": "basket_12345"
}

Оплата через платіжну сторінку RozetkaPay

curl -X POST https://api.rozetkapay.com/api/payments/batch/v1/new \
-u "login:password" \
-H "Content-Type: application/json" \
-d '{
"batch_external_id": "basket_12345",
"callback_url": "https://your-site.com/callback",
"currency": "UAH",
"confirm": true,
"mode": "hosted",
"orders": [
{
"api_key": "UUID_seller_1",
"amount": 500,
"external_id": "order_001"
},
{
"api_key": "UUID_seller_2",
"amount": 300,
"external_id": "order_002"
}
],
"result_url": "https://your-site.com/result",
"checkout_ttl": 720
}'

Відповідь

{
"action_required": true,
"action": {
"type": "url",
"value": "https://buy.rozetkapay.com/order/<UUID>"
},
"batch_external_id": "basket_12345"
}

Двостадійна оплата кошику

Крок 1: Блокування коштів

curl -X POST https://api.rozetkapay.com/api/payments/batch/v1/new \
-u "login:password" \
-H "Content-Type: application/json" \
-d '{
"batch_external_id": "basket_12345",
"callback_url": "https://your-site.com/callback",
"currency": "UAH",
"confirm": false,
"mode": "direct",
"customer": {
"external_id": "user_123",
"payment_method": {
"type": "cc_token",
"cc_token": {
"token": "tok_card_token"
}
}
},
"orders": [
{
"api_key": "UUID_seller_1",
"amount": 500,
"external_id": "order_001"
},
{
"api_key": "UUID_seller_2",
"amount": 300,
"external_id": "order_002"
}
]
}'

Крок 2: Підтвердження (Confirm)

curl -X POST https://api.rozetkapay.com/api/payments/batch/v1/confirm \
-u "login:password" \
-H "Content-Type: application/json" \
-d '{
"batch_external_id": "basket_12345",
"callback_url": "https://your-site.com/callback",
"currency": "UAH",
"orders": [
{
"api_key": "UUID_seller_1",
"amount": 500,
"external_id": "order_001"
},
{
"api_key": "UUID_seller_2",
"amount": 250,
"external_id": "order_002"
}
]
}'

Скасування кошику

curl -X POST https://api.rozetkapay.com/api/payments/batch/v1/cancel \
-u "login:password" \
-H "Content-Type: application/json" \
-d '{
"batch_external_id": "basket_12345",
"callback_url": "https://your-site.com/callback"
}'

Діаграма процесу

flowchart TD
    P([Платник]) --> CB[Create Batch<br/>confirm: false]
    CB --> H[Блокування коштів]
    H --> CF[Confirm<br/>списання]
    H --> CN[Cancel<br/>скасування]
    CF --> D{Розподіл коштів}
    D --> S1[Продавець 1]
    D --> S2[Продавець 2]
    D --> S3[Продавець 3]
    D --> SN[...]

Callbacks

Callback-и для кошика формуються потранзакційно, не один на весь кошик. Кожне замовлення в кошику отримує окремий callback.