Перейти к основному содержимому

Сценарий A - Прямой запрос реквизитов

Прямой запрос реквизитов подразумевает отправку API запроса Создание инвойса

POST /api/merchant/invoices

с указанием обязательных параметров а также параметров:

  • type - тип заявки in
  • paymentOption - тип оплаты, например, TO_CARD. Полный список доступных типов оплаты можно найти здесь
  • paymentMethod - метод оплаты, например sberbank. Полный список поддерживаемых методов можно получить через Public API здесь
  • startDeal - true. Этот параметр указывает, что в рамках запроса необходимо создать сделку с трейдером и вернуть в ответе реквизиты согласно указанным параметрам.

В случае если paymentOption или paymentMethod указанны как null - будут выданы любые свободные реквизиты трейдеров без учета данных параметров.

Реквизиты для перевода денежных средств возвращаются в ответе в массиве deals где будет либо 1 элемент, либо пустой массив.

Если массив deals пустой - это означает что в данный момент нет свободных реквизитов.

В ином случае в объекте requisites будут реквизиты для перевода, в paymentOption тип оплаты реквизитов, в paymentMethod метод оплаты (код банка).

Параметры запроса

НазваниеТипОписание
typeDirectionTypeТип заявки - in
amountstringСумма, пример: 2000.00
currencystringВалюта, пример: RUB
notificationUrlstringURL для получения уведомлений о статусе заявки
notificationTokenstringТокен для валидации уведомлений,передается коллбеках, может использоваться для авторизации колбеков
internalIdstring (optional)ID заявки в системе мерчанта
userIdstring (optional)ID клиента в системе мерчанта
paymentOptionPaymentOption (optional)Тип оплаты
paymentMethodPaymentMethod (optional)Метод оплаты (код банка)
startDealboolean (optional)true для данного типа запроса

Пример запроса

curl --request POST \
--url https://{{domain}}/api/merchant/invoices \
--header 'Content-Type: application/json' \
--header 'X-Identity: {{api_key}}' \
--header 'X-Signature: {{sign}}' \
-d '{
"type": "in",
"amount": "1000",
"currency": "RUB",
"notificationUrl": "https://webhook.site/0ee5347c-c0c1-41aa-a4ca-c87173be8bf2",
"notificationToken": "merchant_notification_token",
"internalId": "00001",
"userId": "uid-1",
"paymentOption": null,
"paymentMethod": "sberbank",
"startDeal": true
}'

Пример ответа

{
"id": "991a0e40-8cbd-405a-80fa-c84f2e4d5c6a",
"internalId": "00001",
"userId": "uid-1",
"type": "in",
"status": "new",
"paymentMethod": "sberbank",
"paymentOption": null,
"paymentRequisites": null,
"sum": {
"amount": "1000.00",
"currency": "RUB",
"subunit": 2
},
"storeId": 1,
"storeName": "Demo Test",
"receivedSumFromTaker": null,
"receivedSumFromMaker": null,
"serviceFeeSum": null,
"payoutSum": null,
"createdAt": "2024-11-04T13:55:45+00:00",
"expireAt": "2024-11-04T14:55:45+00:00",
"updatedAt": "2024-11-04T13:58:34+00:00",
"invoiceUrl": "http:\/\/pay.doamin.com\/invoice?id=991a0e40-8cbd-405a-80fa-c84f2e4d5c6a",
"deals": [
{
"id": "595af0e7-261d-4451-b651-3cfeecc0755c",
"type": "in",
"status": "transfer_waiting",
"paymentMethod": "sberbank",
"paymentOption": "SBP",
"requisites": {
"requisites": "+7(996)777-99-77",
"holder": "holder name"
},
"canceledAt": "2024-11-04T14:25:48+00:00",
"disputeAttachment": null,
"disputeReason": null,
"disputeReasonData": [],
"payment": null,
"rate": "99.23",
"isActive": true,
"qrCodeLink": "https:\/\/www.sberbank.com\/sms\/pbpn?requisiteNumber=79967779977"
}
]
}