Описание API

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


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

1. Модули приема платежей для CMS

Готовый модуль для CMS WordPress и Open Card помогут Вам буквально за 5 минут подключить прием платежей от BetaTransfer на WordPress и Open Card

Модуль приема платежей для CMS Wordpress (WooCommerce)

Illustration


Модуль приема платежей для CMS Opencart (2.0 - 2.2)

Illustration




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

Форма запроса платежа - форма в формате 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”: []}

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

Для получения платежной формы для оплаты через шлюз определенной платежной системы, необходимо указать значение параметра "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”: []}

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

Для создания запроса на вывод средств, нужно отправить запрос методом 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


5. Редирект плательщика на страницы "Успех" или "Ошибка"

После оплаты платежный шлюз может перенаправить плательщика на страницу возврата на сайт продавца. Система попробует перенаправить плательщика на ту или иную страницу в зависимости от результата попытки оплаты. Редирект произойдет в том случае если в запросе на оплату были указаны UrlSuccess, urlFail

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

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

Illustration

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

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

Отправить запрос методом POSTPOST https://merchant.betatransfer.io/api/history?token=api public key
Параметры:
* - обязательные пункты

Illustration

Ответ:

Illustration

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

Отправить запрос методом GET
GET https://merchant.betatransfer.io/api/account-info?token=api public key&sign=generate sign
где sign = md5($apiPublic . $apiSecret)

Ответ:

Illustration

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

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

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

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

Запросы формируются двумя способами, в зависимости от того в каком виде хотите выдавать клиентам форму оплаты:
Первый метод: Прямая ссылка на форму оплаты конкретной платежной системы. В этом случае в ответе на запрос выдается ссылка ведущая на форму оплаты той
Отправить запрос методом 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

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