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


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

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

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

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

Illustration

Скачать

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

Illustration

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

Модуль приема платежей для CMS Opencart (2.3) Скачать

Модуль приема платежей для CMS Opencart (3.0) Скачать




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. Получение информации по отдельной транзакции

Для получения информации по транзакции , нужно отправить запрос методом POST на адресhttps://merchant.betatransfer.io/api/info?token=api_pablic_key
Параметры:

Illustration

Ответ:

Illustration

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

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

Illustration

Ответ:

Illustration

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

Отправить запрос методом GETGET 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)

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

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

$params = [
‘Id’ //Id - Порядковый номер транзакции в нашей системе
];
$sign = md5(implode('', $params) . $apiSecret);
return $sign;

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

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

Illustration

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

Ответ:

Illustration


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

Входящие данные:* - обязательные пункты

Illustration

Ответ:

Illustration

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