Описание API

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


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

Запрос на пополнение

Запросы формируются двумя способами, в зависимости от того в каком виде хотите выдавать клиентам форму оплаты:

    Прямая ссылка на форму оплаты конкретной платежной системы. В этом случае в ответе на запрос выдается ссылка ведущая на форму оплаты той платежной системы которую вы укажите при формировании запроса.

Первый метод:Отправить запрос методом POSTPOST https://merchant.betatransfer.io/api/payment?token=api public key
Входящие данные:amount - сумма (в формате 12345.00, для YandexMoney min. 50 руб, max 100000 руб; для Card min. 100 руб, max 15000 руб; для QIWI min. 5000 руб, max 100000 руб)currency - валюта (RUB)paymentSystem - платежная система (YandexMoney, Card, Qiwi)orderId - ваш id (латинские буквы, цифры, без спецзнаков)urlResult - ссылка для callback успешной оплатыurlSuccess - ссылка при успешной оплатеurlFail - ссылка при не успешной оплатеsign - подпись 
В paymentSystem нужно указать одно из этих значений:YandexMoney - Яндекс.ДеньгиCard - КартыQiwi - Киви

Ответ:success - true|falseerrors - ошибки если success=falseid - наш идентификатор платежаurlPayment - прямая ссылка на платежную систему для оплаты

Illustration
    Страница выбора платежной системы для оплаты. В этом случае будет выдана ссылка ведущая на страницу мерчанта Betatransfer где клиент сам выбирает чем совершить оплату.

Второй метод:Отправить запрос методом POSTPOST https://merchant.betatransfer.io/api/payment?token=api public key
Входящие данные:amount - сумма (в формате 12345.00, для YandexMoney min. 50 руб, max 100000 руб; для Card min. 100 руб, max 15000 руб; для QIWI min. 5000 руб, max 100000 руб)currency - валюта (RUB)orderId - ваш id (латинские буквы, цифры, без спецзнаков)urlResult - ссылка для callback успешной оплатыurlSuccess - ссылка при успешной оплатеurlFail - ссылка при не успешной оплатеsign - подпись 

Ответ:success - true|falseerrors - ошибки если success=falseid - наш идентификатор платежаurl - ссылка на страницу Betatransfer для выбора способа оплаты


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

Вам отправляется POST запрос по ссылке указанной в urlResult
Данные:paymentSystem - платежная система (YandexMoney, Card, Qiwi)currency - валюта (RUB)paymentCommission - комиссия платежной системы (число в валюте платежа)sign - формируется по параметрам $amount, $orderId, $apiSecret кроме sign. Необходимо объединить в одну строку и обернуть в md5($amount . $orderId . $secret)amount - зачисленная суммаorderAmount - сумма ордераorderId - ваш idid - наш id
На запрос нужно ответить в формате http code 200 и body OKМы будем оправлять уведомления об успешной оплате по такой схеме:1-ое уведомление шлется сразу, 2-ое через 2 мин,3-е через 10 мин, 4-е через 30 мин, 5-е через 1 час, 6-е через 3 часа, 7-е через 5 часов, 8-е через 10 часов, 9-е через 15 часов, 10-ое через 24 часа после оплаты.Как только вы получаете уведомление, то нужно ответить ОК, иначе с нашей стороны будет продолжаться отправка уведомлений.


Получение информации по транзакциям

Отправить запрос методом POSTPOST https://merchant.betatransfer.io/api/history?token=api public key
Параметры:limit - количество записей которое нужно вывестиtype - тип транзакции (deposit - пополнение, withdrawal - вывод)status - статус (success - успешно, processing - оплачивается, error - ошибка, cancel - отменено)address - номер счета

Ответ:items[]    id - порядковый номер транзакции    type - тип транзакции (deposit - пополнение, withdrawal - вывод)    amount - зачисленная сумма    commission - комиссия сервиса (число в валюте платежа)    paymentCommission - комиссия платежной системы (число в валюте платежа)    paymentSystem - платежная система    currency - тип валюты (RUB, USD)    address - номер кошелька или карты    status - статус транзакции (success - успешно, processing - оплачивается, error - ошибка, cancel - отменено)
pageCount - количество страниц


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

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

Ответ:balance - баланс (rub, usd)accountlockWithdrawal - блокировка выводаlockAccount - блокировка аккаунтаauthAt - последняя авторизация


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

Пример кода PHP

<code>
<?php
function requestBetatransfer(string $method, array $data){    $public = ''; // api key    $secret = ''; // api sercet
    $data['token'] = $public;
    $data['sign'] = md5(implode('', $data) . $secret);     $url = 'https://merchant.betatransfer.io/api/' . $method . '?' . http_build_query($data);
    $ch = curl_init();    curl_setopt($ch, CURLOPT_URL, $url);    curl_setopt($ch,CURLOPT_USERAGENT, 'Betatransfer');    curl_setopt($ch, CURLOPT_HEADER, 0);    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    curl_setopt($ch, CURLOPT_TIMEOUT, 30);    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);    curl_setopt($ch, CURLOPT_POST, true);    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));    $response = curl_exec($ch);    curl_close($ch);
    return json_decode($response, true);}
/*// запрос на пополнение
$response = requestBetatransfer('payment', [
'amount' => 100,
'currency' => 'RUB',
'paymentSystem' => 'YandexMoney',
'orderId' => 'test',
'urlSuccess' => 'https://site.test/payment/success',
'urlFail' => 'https://site.test/payment/fail',
'urlResult' => 'https://site.test/payment/result',
]);
var_dump($response);*/
/*// запрос на вывод
$response = requestBetatransfer('withdrawal-payment', [    'amount' => 500,    'currency' => 'RUB', // с какого баланса    'toCurrency' => 'RUB', // на какую валюту    'toPaymentSystem' => 'YandexMoney', // на какую платежную систему    'address' => '410018161031540',    'orderId' => 11213, // ваш id]);
var_dump($response);*/
/*// статус транзакции(вывода, пополнения)
$response = requestBetatransfer('info', [    'id' => 51952, // наш id]);
var_dump($response);*/
//получение списка транзакций и информации о них$response = requestBetatransfer('history', [    'type' => 'deposite',    'status' => 'success', // success processing error cancel    'currency' => 'RUB',]);
//информация об аккаунте, его баланс и статус$response = requestBetatransfer('account-info');
?>
</code>

Связаться с нами: ten.refsnartateb%40troppus

Мы в соц.сетях