Перейти к содержанию

Внесение денежных средств с использованием модели Host To Host в синхронном режиме

Этот раздел описывает вариант использования системы Moneygate при внесении денежных средств в синхронном режиме. Модель Host To Host представляет собой взаимодействие между системой мерчанта и системой Moneygate при помощи HTTP-запросов к API Moneygate. В этом случае система мерчанта использует собственный графический интерфейс для взаимодействия с кастомером.

Предварительно выполненные действия

Мерчант зарегистрировался в системе Moneygate.

Руководство по регистрации в системе.

Вариант использования системы Moneygate при внесении денежных средств в синхронном режиме

Шаг 1 – Получение списка платежных инструментов

Шаг 2 – Создание платежного ордера

Получение текущего статуса платежного ордера

Получение текущего статуса платежного ордера может быть осуществлено двумя способами:

  1. Запрос статуса системой мерчанта при помощи API функции /sync/deposit-orders/get-status
  1. Получение статуса от системы 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 – ???????????????????