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

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

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

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

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

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

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

Шаг 1 – Создание платежного ордера на вывод средств

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

Шаг 3 – Выбор платежного инструмента

Шаг 4 – Подтверждение платежа

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

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

  1. Запрос статуса системой мерчанта при помощи API функции /host-to-host/deposit-orders/get-status
  1. Получение статуса от системы Moneygate при помощи webhook-запросов /host-to-host/deposit-orders/get-status

Пример вывода средств Card To Card

В текущем примере будет выполнено вывод 100 000 TJS (таджикский сомони) с карты банка Dushanbe City Bank.

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

API-функция позволяет создать новый платежный ордер на вывод денежных средств с использованием модели Host-To-Host со способом перевода карта-карта (card2card).

Пример для Linux shell

curl -X POST --location 'https://moneygate.master.blowfish.api4ftx.cloud/v1/host-to-host/withdraw-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"
    }
}'

Запрос имеет заголовки аутентификации (Руководство по аутентификации запросов):

  • 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.

В результате выполнения запроса будет получен следующий body response:

{
    "success": true
    "data": {
    "id": "449bc546-e589-4aca-83fd-731153139094"
    },
"id": "449bc546-e589-4aca-83fd-731153139094",
}

В ответе содержатся следующие свойства:

  • success, тип boolean – представляет успешную операцию создания платежного ордера.
  • id, тип string – ID ордера, генерируется в системе мерчанта.Уникален в системе мерчанта.

2. Получение списка платежных инструментов.

API-функция позволяет получить список доступных инструментов для платежного ордера.

Пример для Linux shell

curl  POST --location 'https://moneygate.master.blowfish.api4ftx.cloud/v1/host-to-host/withdraw-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 '{
            "id": "{{ trans_id }}"
}'
Запрос имеет заголовки аутентификации (Руководство по аутентификации запросов):

  • X-Auth-Token.
  • X-Auth-Sign.

В теле запроса (body request) определены следующие свойства:

id, тип string – ID ордера, генерируется в системе мерчанта.Уникален в системе мерчанта.

В результате выполнения запроса будет получен следующий body response:

{
   "success": true,
   "data": {
     "id": "449bc546-e589-4aca-83fd-731153139094",
      "payment_instruments": [
        {
           "bank": "dushanbe",
           "bank_name": "Душанбе Сити Банк",
           "payment_type": "card2card",
           "payment_type_name": "Card to Card"
        },
                             ]
   }
}

В ответе содержатся следующие свойства:

  • success, тип boolean – представляет успешную операцию получения списка платежного инструмента.
  • data.id, тип string – ID ордера, генерируется в системе мерчанта.Уникален в системе мерчанта.
  • 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 – название способа перевода.

3. Выбор платежного инструмента.

API-функция позволяет выбрать платежный инструмент для платежного ордера.

Пример для Linux shell

curl  POST --location 'https://moneygate.master.blowfish.api4ftx.cloud/v1/host-to-host/withdraw-orders/set-payment-instrument' 
--header 'X-Auth-Token: $token_string' 
--header 'X-Auth-Sign: $sign_string' 
--header 'Content-Type: application/json'
--header 'Accept: application/json'
--data '{
    "id": "{{ trans_id }}",
    "payment_instrument": {
    "bank": "dushanbe",
    "payment_type": "card2card"
    },
    "customer_data": {
      "card_no": "1111222233334444",
      "card_holder_name": "Sergey"
    }
}'
Запрос имеет заголовки аутентификации (Руководство по аутентификации запросов):

  • X-Auth-Token.
  • X-Auth-Sign.

В теле запроса (body request) определены следующие свойства:

  • id, тип string – ID ордера, генерируется в системе мерчанта.Уникален в системе мерчанта.
  • payment_instruments, тип object – массив, включающий следующие объекты:
    • payment_instruments.bank, тип string – сокращенное название банка на английском языке.
    • payment_instruments.payment_type, тип string – способ перевода.
  • customer_data, тип object – данные соответствующие схеме плательщика для выбранного платежного инструмента.
    • customer_data.card_no, тип string – данные по карте плательщика.
    • customer_data.card_holder_name, тип string – имя плательщика по карте.

В результате выполнения запроса будет получен следующий body response:

{
   "success": true,
   "id": "449bc546-e589-4aca-83fd-731153139094",
  "data": {
   "blowfish_id": "01b03d77-f2bd-48ac-8388-06ee46e6a4e4"
    }
}

В ответе содержатся следующие свойства:

  • success, тип boolean – представляет успешную операцию выбранного платежного инструмента.
  • id, тип string – ID ордера, генерируется в системе мерчанта.Уникален в системе мерчанта.
  • data.blowfish_id, тип string – ID ордера, генерируется в системе Moneygate.

4. Подтверждение платежа.

API-функция позволяет подвердить совершение платежа.

Пример для Linux shell

curl  POST --location 'https://moneygate.master.blowfish.api4ftx.cloud/v1/host-to-host/withdraw-orders/confirm' 
--header 'X-Auth-Token: $token_string' 
--header 'X-Auth-Sign: $sign_string' 
--header 'Content-Type: application/json'
--header 'Accept: application/json'
--data '{
            "id": "{{ trans_id }}"
}'

Запрос имеет заголовки аутентификации (Руководство по аутентификации запросов):

  • X-Auth-Token.
  • X-Auth-Sign.

В теле запроса (body request) определены следующие свойства:

id, тип string – ID ордера, генерируется в системе мерчанта.Уникален в системе мерчанта.

В результате выполнения запроса будет получен следующий body response:

{
   "success": true,
}

В ответе содержатся следующие свойства:

  • success, тип boolean – представляет успешную операцию подтвеждения платежа.