Сценарий 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
метод оплаты (код банка).
Параметры запроса
Название | Тип | Описание |
---|---|---|
type | DirectionType | Тип заявки - in |
amount | string | Сумма, пример: 2000.00 |
currency | string | Валюта, пример: RUB |
notificationUrl | string | URL для получения уведомлений о статусе заявки |
notificationToken | string | Токен для валидации уведомлений,передается коллбеках, может использоваться для авторизации колбеков |
internalId | string (optional) | ID заявки в системе мерчанта |
userId | string (optional) | ID клиента в системе мерчанта |
paymentOption | PaymentOption (optional) | Тип оплаты |
paymentMethod | PaymentMethod (optional) | Метод оплаты (код банка) |
startDeal | boolean (optional) | true для данного типа запроса |
Пример запроса
- CURL
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"
}
]
}