These docs are for v3.0. Click to read the latest docs for v4.0.

Депозиты с использованием явного платежного сервиса

Сначала вы должны выбрать платежный сервис. Вы можете получить список доступных сервисов и выбрать нужную вам услугу, используя

Наименование метода:https://api.kuna.io/v3/auth/merchant/payment_services
Тип запроса:POST
Параметры:currency - код валюты в нижнем регистре (uah, rub, usd)

Вы получите набор платежных сервисов, например (для RUB):

[
  {
    "code": "payment_card_rub_hpp",
    "fields": [
      {
        "key": "card_number",
        "type": "string",
        "label": {
          "ru": "Номер карты",
          "en": "Card number",
          "uk": "Номер карти"
        },
        "example": null,
        "hint": {
          "ru": "Введите номер карты",
          "en": "Enter card number",
          "uk": "Введіть номер карти"
        },
        "regexp": "^\\\\d{12,19}$",
        "required": false,
        "position": 0
      }
    ],
    "amount_max": 100000,
    "amount_min": 3000,
    "fee": {
      "rate": 3.5,
      "fixed": 0,
      "min": 0,
      "max": 0
    },
    "default": true
  },
  {
    "code": "qiwi_rub_hpp",
    "fields": [
      {
        "key": "phone",
        "type": "string",
        "label": {
          "ru": "Номер телефона",
          "en": "Phone number",
          "uk": "Номер телефону"
        },
        "example": null,
        "hint": {
          "ru": "Введите номер телефона",
          "en": "Enter phone number",
          "uk": "Введіть номер телефону"
        },
        "regexp": "^\\\\+\\\\d{10,14}$",
        "required": true,
        "position": 0
      }
    ],
    "amount_max": 60000,
    "amount_min": 5000,
    "fee": {
      "rate": 0,
      "fixed": 0,
      "min": 0,
      "max": 0
    }
  }
]

Пример набора сервисов для UAH:

[
  {
    "code": "payment_card_uah_hpp",
    "fields": [],
    "amount_max": 100000,
    "amount_min": 100,
    "fee": {
      "rate": 1.5,
      "fixed": 5,
      "min": 0,
      "max": 0
    },
    "default": true
  },
]

Необходимо выбрать нужный сервис и сохранить его code иfields ['key']. Обратите внимание, что поля могут быть пустыми, это означает, что они не обязательны. Таким образом, для qiwi_rub_hpp (в примере для RUB) вам понадобится поле phone, но для поля payment_card_uah_hpp (в примере для UAH) нет необходимости.

Затем необходимо создать депозит с использованием выбранного платежного сервиса и обязательных полей

Наименование метода:https://api.kuna.io/v3/auth/merchant/deposit
Тип запроса:POST

Параметры:

currencyкод валюты в нижнем регистре (uah, rub, usd)
amountсумма к депозиту
payment_service (required)название выбранного платежного сервиса (например, 'payment_card_uah_hpp', 'qiwi_rub_hpp' или просто 'default').
fields (optional)платежный сервис может потребовать использования дополнительных полей, например, для 'qiwi_rub_hpp'' требуются параметры fields с номером телефона, вродеfields: {phone: '...'}
return_urlURL для перенаправления после успешного депозита

Пример для депозита UAH с платежной карты:

{
  "currency": "uah",
  "amount": 100.0,
  "payment_service": "payment_card_uah_hpp",
  "return_url": "https://return.url"
}

Пример для депозита RUB с платежной карты:

{
  "currency": "rub",
  "amount": 10000,
  "payment_service": "payment_card_rub_hpp",
  "fields": { "card_number": "4111111111111111" }
}

Пример для депозита RUB с использованием QIWI:

{
  "currency": "rub",
  "amount": 10000,
  "payment_service": "qiwi_rub_hpp",
  "fields": { "phone": "+380666666666" }
}

После выполнения запроса вы получите JSON с несколькими параметрами в ['flow_data'], который вы должны использовать для создания простой формы с вашим дизайном или даже скрытой и отправить ее, и вы будете перенаправлены на страницу оплаты сервиса. В случае, когда method равен 'POST', вы должны создать форму, но если method равен 'GET', вы можете просто перенаправить на URL, созданный из action и списка параметров. Если вам не нужна форма, вы можете использовать ['payment_invoice_id'] и перенаправить пользователя на https://paygate.kuna.io/hpp?cpi= <ID> (работает, только если method 'GET').