RozetkaPay

Платіжні сценарії

Основні сценарії проведення платежів через RozetkaPay API

API підтримує такі платіжні сценарії:

  • Одностадійна оплата — негайне списання коштів
  • Двостадійна оплата — блокування суми з подальшим списанням

Способи інтеграції

Пряма інтеграція (mode: direct)

Пряма інтеграція можлива для оплати:

  • Збереженими картками в гаманці RozetkaPay
  • Збереженими картками в гаманцях Google Pay та Apple Pay
  • Платіжними картками — партнер має мати сертифікацію PCI DSS

Взаємодія повністю відбувається через API.

Платіжна сторінка (mode: hosted)

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

  1. Партнер ініціює запит на проведення оплати
  2. У відповідь отримує адресу сторінки для здійснення платежу
  3. Після оплати формується callback зі статусом та деталями операції

Одностадійна оплата

Списання коштів відбувається одразу після успішної авторизації.

curl -X POST https://api.rozetkapay.com/api/payments/v1/new \
-u "login:password" \
-H "Content-Type: application/json" \
-d '{
"amount": 100,
"currency": "UAH",
"external_id": "order_12345",
"mode": "hosted",
"confirm": true,
"callback_url": "https://your-site.com/callback",
"result_url": "https://your-site.com/result",
"customer": {
"email": "user@example.com",
"phone": "380501234567"
}
}'

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

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

ПараметрОбов’язковийТипОпис
amountТакnumberСума замовлення
currencyТакstringВалюта (ISO 4217), напр. UAH
external_idТакstringУнікальний номер замовлення
modeТакstringhosted — платіжна сторінка; direct — дані картки в запиті
confirmНіbooleantrue — списання одразу, false — двостадійна
callback_urlНіstringURL для callback зі статусом
result_urlНіstringURL для редіректу після оплати
result_url_successНіstringURL для редіректу після успішної оплати — має пріоритет над result_url
result_url_failНіstringURL для редіректу після неуспішної оплати — має пріоритет над result_url
checkout_ttlНіnumberСкільки хвилин платіжна сторінка лишається доступною
descriptionНіstringОпис замовлення (до 2048 символів)
payloadНіstringДодаткові дані (до 4000 символів)
init_recurrent_paymentНіbooleantrue — зберегти recurrent_id для рекурентних платежів
campaign_nameНіstringВалідація типу картки під час оплати. r_card — тільки картка Rozetka; diia_card — тільки Дія.Картка. Якщо покупець використає інший тип — операція завершиться помилкою

Параметри customer

ПараметрТипОпис
color_modestringwhite або dark — тема платіжної сторінки
localestringUK, EN або PL — мова платіжної сторінки
emailstringEmail платника
phonestringТелефон платника
external_idstringID платника у партнера
first_namestringІм’я
last_namestringПрізвище
payment_methodobjectПлатіжний метод (обов’язковий для direct)

Відповідь

{
"action": {
"type": "url",
"value": "https://pay.rozetkapay.com/..."
},
"action_required": true,
"id": "rp_abc123",
"external_id": "order_12345",
"is_success": true,
"details": {
"status": "init",
"amount": 100,
"currency": "UAH",
"created_at": "2024-01-15T10:30:00Z"
}
}
ПараметрОпис
action_requiredЧи потрібні додаткові дії
action.typeТип дії (url — редірект)
action.valueURL для завершення оплати
is_successУспішність операції
details.statusСтатус операції
receipt_urlПосилання на квитанцію (якщо is_success: true)

Двостадійна оплата

Див. окремий гайд: Двостадійна оплата

Статуси операцій

СтатусОпис
initОперація ініційована
pendingОчікує обробки
successУспішно завершена
failureПомилка

Повний список статусів і кодів помилок див. у Статусах операцій.