Serwis „billon.me” umożliwia ręczne wysyłanie operacji SOAP „hello”, „requestPaymentInitiation”, „getTaskStatus”, „getMoneyStatus” i „startSeriesPayment” oraz odesłanie odpowiedzi węzła Corporate Node użytkownika serwisu. W celu zlecenia wysłania operacji SOAP przez serwis „billon.me” należy wysłać metodą POST żądanie na adres „https://billon.me/api/v1” z parametrami:
- „token” zawierającym API key, który można uzyskać na stronie ustawień,
- „request” zawierającym nazwę operacji, np. „hello”
- opcjonalnym „params” zawierającym tablicę asocjacyjną z parametrami operacji.
W przypadku poprawnego klucza w parametrze „token” i braku problemów po stronie serwisu w odpowiedzi zostanie wysłana odpowiedź węzła Corporate Node. Żądania POST można też wysyłać na port 5002, czyli na adres „https://billon.me:5002/api/v1”. Przykładowe wysłanie operacji SOAP w języku PHP:
$uid = uniqueId(); $data = array("type" => "NORMAL", "amount" => array("amount" => 1000, "currency" => 'PLN', "colour" => 0), 'seriesId' => null, "commissionPercent" => null, "requestData" => array("username" => 'paying', "uniqueTransferId" => $uid, "title" => 'Tytuł płatności', "merchantBrandName" => 'Nazwa brandu', "requestInvoiceData" => "NOT_NEEDED", "requestDeliveryData" => "NOT_NEEDED", "description" => ' ', 'channelInfo' => ' ', 'antiSpamCode' => ' ')); $params = array('token' => "eyJhkGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c3VyIjp7ImlkIjoyNSwic2FsdCI6IjEyZWVkMzQwLTM2NGUtMThNjgyN1hNDM5zA1MiOjEh0OTCJpYXQiDk0NjF9Q1M.zeWXG7Nyr3PFVhb4HRgLi5rh8fLZx41VHySHWUStIzc", 'request' => 'requestPaymentInitiation', 'params' => $data); $result = @file_get_contents('https://billon.me/api/v1', false, stream_context_create(array('http' => array('header' => "Content-type: application/x-www-form-urlencoded\r\n", 'method' => 'POST', 'content' => http_build_query($params))))); $error = $http_response_header; if ($result === false && function_exists('curl_init')) { $curl = curl_init('https://billon.me/api/v1'); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($params)); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($curl); $error = curl_error($curl); curl_close($curl); }
Przykładowe wysłanie operacji SOAP w technologii „Node.js”:
var uniqueId = require('uuid/v1'); var data = { type: "NORMAL", amount: { amount: 1000, currency: 'PLN' }, requestData: { username: 'paying', uniqueTransferId: uniqueId(), title: 'Tytuł płatności', merchantBrandName: 'Nazwa brandu', requestInvoiceData: "NOT_NEEDED", requestDeliveryData: "NOT_NEEDED", description: ' ' } }; var request = require('request'); request.post({"rejectUnauthorized": false, url: 'https://billon.me/api/v1', form: {token: "eyJhkGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c3VyIjp7ImlkIjoyNSwic2FsdCI6IjEyZWVkMzQwLTM2NGUtMThNjgyN1hNDM5zA1MiOjEh0OTCJpYXQiDk0NjF9Q1M.zeWXG7Nyr3PFVhb4HRgLi5rh8fLZx41VHySHWUStIzc", request: 'requestPaymentInitiation', params: data} }, function (error, response, body) { if (error) { } else { } });
Moduł „Node.js” billon od wersji 2.2 umożliwia obsługę płatności z węzłem Corporate Node użytkownika serwisu „billon.me” i ręczne wysyłanie operacji do tego serwisu. Umożliwia to też moduł płatności w PHP.