Внесение денежных средств с использованием модели Host To Host в синхронном режиме
Этот раздел описывает вариант использования системы Moneygate при внесении денежных средств в синхронном режиме. Модель Host To Host представляет собой взаимодействие между системой мерчанта и системой Moneygate при помощи HTTP-запросов к API Moneygate. В этом случае система мерчанта использует собственный графический интерфейс для взаимодействия с кастомером.
Предварительно выполненные действия
Мерчант зарегистрировался в системе Moneygate.
Вариант использования системы Moneygate при внесении денежных средств в синхронном режиме
Шаг 1 – Получение списка платежных инструментов
Шаг 2 – Создание платежного ордера
Получение текущего статуса платежного ордера
Получение текущего статуса платежного ордера может быть осуществлено двумя способами:
- Запрос статуса системой мерчанта при помощи API функции
/sync/deposit-orders/get-status
- Получение статуса от системы Moneygate при помощи webhook-запросов
/sync/deposit-orders/get-status
Пример внесения средств Card To Card
В текущем примере будет выполнено внесение 100 000 TJS (таджикский сомони) на карту банка Dushanbe City Bank.
1. Получение списка платежных инструментов.
API-функция позволяет получить список доступных инструментов для платежного ордера.
Пример для Linux shell
curl -Х POST --location 'https://moneygate.master.blowfish.api4ftx.cloud/v1/sync/deposit-orders/get-payment-instruments'
--header 'X-Auth-Token: $token_string'
--header 'X-Auth-Sign: $sign_string'
--header 'Content-Type: application/json'
--header 'Accept: application/json'
--data '{
"filters": {
"currency": "TJS"
}
}'
- X-Auth-Token.
- X-Auth-Sign.
В теле запроса (body request) определены следующие свойства:
filters.currency, тип string – фильтр по валюте ордера.
В результате выполнения запроса будет получен следующий body response:
{
"success": true,
"data": {
"payment_instruments": [
{
"bank": "dushanbe",
"bank_name": "Душанбе Сити Банк",
"payment_type": "card2card",
"payment_type_name": "Card to Card"
},
]
}
}
В ответе содержатся следующие свойства:
success, типboolean– представляет успешную операцию получения списка платежного инструмента.data.payment_instruments, типarray– массив, включающий следующие объекты:data.payment_instruments.bank, типstring– сокращенное название банка на английском языке.data.payment_instruments.bank_name, типstring– название банка на русском языке.data.payment_instruments.payment_type, типstring– способ перевода.data.payment_instruments.payment_type_name, типstring– название способа перевода.
Шаг 2 – Создание платежного ордера
API-функция позволяет создать новый платежный ордер на внесение денежных средств с использованием модели Host-To-Host со способом перевода карта-карта (card2card).
Пример для Linux shell
curl -X POST --location 'https://moneygate.master.blowfish.api4ftx.cloud/v1/sync/deposit-orders/new'
--header 'X-Auth-Token: $token_string'
--header 'X-Auth-Sign: $sign_string'
--header 'Content-Type: application/json'
--header 'Accept: application/json'
--data '{
"id": "449bc546-e589-4aca-83fd-771423844649",
"service_id": 6001,
"data": {
"callback_url": "https://merchant-side.com/send-status-here",
"amount": 10000000,
"currency": "TJS"
"payment_instrument": {
"payment_type": "card2card"
},
"customer_data": {
"customer_id": "{{ customer_id }}"
}
}
}'
Запрос имеет заголовки аутентификации (Руководство по аутентификации запросов):
- X-Auth-Token.
- X-Auth-Sign.
В теле запроса (body request) определены следующие свойства:
id, типstring– ID ордера, генерируется в системе мерчанта. Уникален в системе мерчанта.service_id, типinteger– ID услуги имеет значение 6001.data.callback_url, типstring– URL ресурса на стороне мерчанта по которому будут направляться обратные вызовы с изменениями статуса платежного ордера.data.amount, типinteger– Сумма платежа в разменных денежных единицах (в нашем случае 100000 таджикских сомони).data.currency, типstring– Буквенный код валюты по стандарту ISO 4217.data.payment_instrument.payment_type, типstring– Объект выбранного платежного инструмента.customer_data.customer_id, типstring– Данные соответствующие схеме плательщика для выбранного платежного инструмента.
В результате выполнения запроса будет получен следующий body response:
{
"success": true,
"id": "449bc546-e589-4aca-83fd-771423844649",
"data": {
"blowfish_id": "0f78825b-d10b-47fe-8445-78e3983237cf",
"trader_data": {
"bank": "dushanbe",
"card_holder": "Card Holder",
"card_info": "1239481349999999"
},
}
"trader_schema": {
"properties": {
"card_info": {
"description": "Номер карты получателя",
"type": "string"
}
},
"required": [
"card_info"
],
"type": "object"
},
}
В ответе содержатся следующие свойства:
success, типboolean– представляет успешную операцию создания платежного ордера.id, типstring– ID ордера, генерируется в системе мерчанта.Уникален в системе мерчанта.data.blowfish_id, типstring– ID ордера, генерируется в системе Moneygate.data.trader_data.bank, типstring– Сокращенное название банка на английском языке. ???????????data.trader_data.card_holder, типstring– Фамилия и имя владельца карты ???????????data.trader_data.card_info, типstring– Номер карты владельца ???????????????trader_schema.properties.card_info.description, типstring– Номер карты получателя ??????????trader_schema.properties.card_info.type, типstring– ???????????????required, типstring– ?????????????????????type, типstring– ???????????????????