Протокол Merchant API

Введение

Этот документ является коммерческим документом, который представлен по соглашению обеих сторон и описывает методы и запросы в биллинговой системе. Основываясь на методах в торговой системе, они должны будут адаптироваться к биллинговой системе.

Обзор

Все данные принимаются POST методом Ответ возвращается в формате JSON

Запросы

Обращение производится данными запросами check, pay, и check_status

Ниже будет описан каждый запрос:

check - метод, который должен выполниться до использования метода pay. Используется для получения дополнительной информации от Merchant и проверки возможности реальной транзакции.

pay - метод, который должен выполниться после того как метод (Response) вернет значение True. Данный метод используется для того, чтобы выполнилась реальная транзакция.

check_status - метод, который должен выполниться после pay. Используется для получения информации от транзакции он возвращает true или false

POST check

{{url}}/api/payment/check

url

token- который мы вам предоставим в процессе интеграции

Параметры запроса (request):

Параметр Тип Описание
method string REQUEST
merchant_id string Уникальный идентификатор поставщика
account string Аккаунт или номер телефона
amount double Сумма платежа (валюта от договора)
params object Объект с параметрами метода. Если в данном методе нет параметров, поле можно опустить

Параметры ответа (response):

Параметр Тип Описание
succes:true boolean Ответ при успешном запросе
succes:false boolean Ответ при не успешном запросе

Headers

Content-Type application/json
token {{token}}

Body raw (application/json)

{ "method": "", "merchant_id": , "account": "", "amount": , "params" : {} }

Example RequestCheck

'{

curl --location --request POST '{{url}}/api/payment/check  ' \
--header 'Content-Type: application/json' \
--header 'token: {{token}}' \
--data-raw '{
    "method": "check",
    "merchant_id": 123,
    "account": "333222444", 
    "amount": 3000.00,
    "params" : {}
}'

Example Response 200 OK

Body
{
    "succes" : true,
}

POST pay

{{url}}/api/payment/pay

url

token - который мы вам предоставим в процессе интеграции

Параметры запроса (request):

Параметр Тип Описание
method string REQUEST
merchant_id string Уникальный идентификатор поставщика
account string Аккаунт или номер телефона
amount double Сумма платежа (валюта от договора)
params object Объект с параметрами метода. Если в данном методе нет параметров, поле можно опустить

Параметры ответа (response):

Параметр Тип Описание
state: 1 string Ответ от сервера как прошло транзакция
transaction_id string Идентификатор транзакции
"state:1" - Оплата успешно

 "state:2" - В процессе

 "state:  " - С любым другим числом означает ошибку

Headers

Content-Type application/json
token {{token}}

Body raw (application/json)

{ "method": "", "merchant_id": , "account": "", "amount": , "params" : {} }

Example Request

'{

curl --location --request POST '{{url}}/api/payment/pay  ' \
--header 'Content-Type: application/json' \
--header 'token: {{token}}' \
--data-raw '{
    "method": "pay",
    "merchant_id": 123,
    "account": "333222444", 
    "amount": 3000.00,
    "params" : {}
}'

Example Response 200 OK

Body
{
  "state": 1,
  "transaction_id": "87967231"
}

POST check status

{{url}}/api/payment/check_status

url

token - который мы вам предоставим в процессе интеграции

Параметры запроса (request):

Параметр Тип Описание
methodstringv REQUEST
transaction_idstring Идентификатор транзакции

Параметры ответа (response):

Параметр|Тип|Описание

state: 1|string|Ответ от сервера как прошло транзакция

Headers

Content-Type application/json
token {{token}}

Body raw (application/json)

{
  "method": "check_status",
  "transaction_id": "87967231"
}

Example Request

'{curl --location --request POST '{{url}}/api/payment/check_status' \
--header 'Content-Type: application/json' \
--header 'token: ' \
--data-raw '{
  "method": "check_status",
  "transaction_id": {{transaction_id}}
}'

Example Response

{
  "state": 1
}
"state:1" - Проверка статуса успешно выполнено

 "state:2" - В процессе

 "state:  " - С любым другим числом означает ошибку

скачать postman_collection