Описание API

Для того чтобы начать принимать платежи на своем сайте с помощью сервиса Betatransfer нужно настроить формирование запросов согласно данной документации.
API KEY и API SECRET нужно запросить через контактную форму сервиса.


Техническая документация API

Форма запроса платежа

Форма запроса платежа - форма в формате HTML для запроса платежа, которая генерируется веб-сайтом Продавца и используется для передачи данных Betaransfer. Эта форма является ключевой в протоколе Betatransfer и представляет собой набор скрытых полей, содержащих информацию, необходимую для завершения перевода.
Пример запроса:
<form method="post" action="https://merchant.betatransfer.io/api/payment?token=api_public_key"> <input type="hidden" name="amount" value=""> <input type="hidden" name="currency" value=""> <input type="hidden" name="orderId" value=""> <input type="hidden" name="urlResult" value=""> <input type="hidden" name="urlSuccess" value=""> <input type="hidden" name="urlFail" value=""> <input type="hidden" name="sign" value=""> <input type="submit" value="Pay"></form>
В таблице ниже указаны все приемлемые поля для формы HTML для надлежащего взаимодействия с Betatransfer.

Illustration

Пример успешного ответа:{ “status”: “success”, “id”: 123456, “url”: “https://...”}
Пример неуспешного ответа:{ “status”: “error”, “errors”: []}

Форма запроса платежа платежного шлюза

Для получения платежной формы для оплаты через шлюз платежной системы, необходимо указать значение параметра как: способ оплаты "paymentSystem" — платежная система (см. Коды платежных направлений).
Пример запроса:
<form method="post" action="https://merchant.betatransfer.io/api/payment?token=api_public_key"> <input type="hidden" name="amount" value=""> <input type="hidden" name="currency" value=""> <input type="hidden" name="paymentSystem" value=""> <input type="hidden" name="orderId" value=""> <input type="hidden" name="urlResult" value=""> <input type="hidden" name="urlSuccess" value=""> <input type="hidden" name="urlFail" value=""> <input type="hidden" name="sign" value=""> <input type="submit" value="Pay"></form>
В таблице выше (см. Форма запроса платежа) указаны все приемлемые поля для формы.
Пример успешного ответа:{ “status”: “success”, “id”: 123456, “urlPayment”: “https://...”}
Пример неуспешного ответа:{ “status”: “error”, “errors”: []}

Форма запроса вывода

Для вывода отправить запрос методом POST на адрес https://merchant.betatransfer.io/api/withdrawal-payment?token=api_public_key. Token в post параметры указывать не надо.
Пример запроса
<form method="post" action="https://merchant.betatransfer.io/api/withdrawal-payment?token=api_public_key"><input type="hidden" name="amount" value=""><input type="hidden" name="currency" value=""><input type="hidden" name="orderId" value=""><input type="hidden" name="paymentSystem" value=""><input type="hidden" name="address" value=""><input type="hidden" name="sign" value=""><input type="submit" value="Pay"></form>

Ответ{"status":"success","id":***,"paymentSystem":"Card","orderId":"***","orderAmount":"250","orderCurrency":"RUB","paymentAmount":0,"paymentCurrency":"RUB","commission":"0","commissionCurrency":"RUB"}

Illustration

Возврат клиента

После оплаты платежный шлюз может перенаправить клиента на страницу возврата. На этой странице, система попробует перенаправить клиента на ту или иную страницу результата на сайте продавца (Success Page, Fail Page) в зависимости от состояния платежа на текущий момент.

Оповещение о платеже

При проведении платежа, Betatransfer создает запрос с данными по нему на страницу взаимодействия. В этом запросе содержатся все необходимые данные для завершения процесса оплаты заказа на вашем сайте. Данная форма предназначена, в первую очередь, для тесной интеграции с Вашим сайтом. Она позволяет автоматизировать процесс, который инициализируется по получению данного уведомления о совершенном платеже, для зачисления платежа и обработки заказа в биллинге на Вашем сайте. Полный перечень параметров формы возврата приведен ниже:

Illustration

Внимание! Данные об успешном платеже отправляются на указанный в запросе URL взаимодействия. Уведомление о платеже будет доставляться на клиентский сервер до получения корректного ответа от сайта. Корректным ответом считается ответ “OK”. В случае неуспеха - сервис сделает до 10-ти повторных попыток на протяжении 3-х дней.

Информации по транзакциям

Отправить запрос методом POSTPOST https://merchant.betatransfer.io/api/history?token=api public key
Параметры:

Illustration

Ответ:

Illustration

Информации о балансе аккаунта и его статусе

Отправить запрос методом POST
POST https://merchant.betatransfer.io/api/account-info?token=api public key

Ответ:

Illustration

Примечание:
- все запросы
POST
-
sign формируется по всем переданным параметрам кроме sign, необходимо объединить в одну строку и обернуть в md5(implode('', $data) . $secret)

Формирование цифровой подписи

Цифровая подпись формируется путем объединения значений параметров формы, с добавлением в «секретного ключа». Полученное после объединения параметров и "секретного ключа" значение хешируется алгоритмом md5.
Пример алгоритма формирования подписи (Форма запроса платежа) на языке PHP:
$params = [ ‘amount’, ‘currency’, ‘paymentSystem’, ‘orderId’, ‘urlResult’, ‘urlSuccess’, ‘urlFail’];$string = implode('', $params);$sign = hash('md5', $string . $apiSecret);return $sign;
Пример алгоритма формирования подписи (Оповещение о платеже) на языке PHP:
$params = [ ‘amount’, ‘orderId’];$string = implode('', $params);$sign = hash('md5', $string . $apiSecret);return $sign;

Коды платежных направлений

Запросы формируются двумя способами, в зависимости от того в каком виде хотите выдавать клиентам форму оплаты:
Первый метод: Прямая ссылка на форму оплаты конкретной платежной системы. В этом случае в ответе на запрос выдается ссылка ведущая на форму оплаты той
Отправить запрос методом POST с использованием PaymentSystemPOST https://merchant.betatransfer.io/api/payment?token=api public keytoken должен быть указан как GET параметр. В POST его прописывать не надо.
Входящие данные:

Illustration

В paymentSystem нужно указать одно из этих значений:YandexMoney - для пополнения через Яндекс.ДеньгиCard - для пополнения через банковские карты

Ответ:

Illustration


Второй метод: Страница выбора платежной системы для оплаты. В этом случае будет выдана ссылка ведущая на страницу мерчанта Betatransfer где плательщик сам выбирает чем совершить оплату.
Отправить запрос методом POST POST https://merchant.betatransfer.io/api/payment?token=api public keytoken должен быть указан как GET параметр. В POST его прописывать не надо.

Входящие данные:

Illustration

Ответ:

Illustration

Внимание! Чтобы узнать список платежных направлений, которые Вам доступны, обратитесь в службу поддержки