Skontaktuj się z nami, jeśli potrzebujesz moduł płatności w języku PHP do ręcznego wysyłania operacji SOAP. Operacje SOAP są dostępne jako metody obiektu „$call” będącego statycznym parametrem klasy „SoapService” z przestrzeni nazw „billon” dostępnej po dołączeniu skryptu „billon.php” modułu płatności. Metody przyjmują jako argumenty:
- tablicę z elementami:
- z kluczem „cNode” z kluczem API, który można uzyskać ze strony ustawień serwisu „billon.me”, lub tablicę z elementami: nazwą użytkownika pod kluczem „name” i adresem, po którym dostępna jest bezpośrednia komunikacja z węzłem Corporate Node, pod kluczem „address”,
- z kluczem „params”, którego wartością są parametry operacji SOAP w formie tablicy;
- funkcję z argumentem, który jest odpowiedzią węzła Corporate Node.
Można ustawić akcję po wysłaniu każdej operacji SOAP ustawiając funkcję „$onRequestSend” będąca statycznym parametrem klasy „SoapService”. Funkcja przyjmuje takie same argumenty, jak funkcja ustawiana metodą konfiguracyjną „onRequestSend”, czyli kolejno nazwę operacji, parametry w formie obiektu, odpowiedź i błąd przy wysłaniu.
Przykład:
require_once "billon/index.php"; //lokalizacja skryptu "index.php" modułu płatności Billon \billon\SoapService::$onRequestSend = function ($requestName, $parameters, $requestResponse, $error) { // zdarzenie wysłania operacji SOAP, przypisanie funkcji niewymagane $requestName; // nazwa operacji SOAP $parameters; // parametry operacji SOAP $requestResponse; // odpowiedź z węzła Corporate Node $error; // błędy przy wysyłaniu operacji SOAP (błędy z węzła Corporate Node przekazywane są przez argument "$requestResponse") }; $uid = uniqueId(); $data = array("cNode" => "eyJhkGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c3VyIjp7ImlkIjoyNSwic2FsdCI6IjEyZWVkMzQwLTM2NGUtMThNjgyN1hNDM5zA1MiOjEh0OTCJpYXQiDk0NjF9Q1M.zeWXG7Nyr3PFVhb4HRgLi5rh8fLZx41VHySHWUStIzc", // API key użytkownika serwisu "billon.me", tylko operacje "hello", "requestPaymentInitiation", "getTaskStatus", "getMoneyStatus" i "startSeriesPayment" /*array("name" => "billonpayments4", "address" => "http://213.189.38.34:20891"),*/ // komunikacja bezpośrednio z węzłem Corporate Node "params" => array("type" => "NORMAL", "amount" => array("amount" => 1000, "currency" => 'PLN'), 'seriesId' => null, "requestData" => array("username" => 'paying', "uniqueTransferId" => $uid, "title" => 'Tytuł płatności', "merchantBrandName" => 'Nazwa brandu', "requestInvoiceData" => "NOT_NEEDED", "requestDeliveryData" => "NOT_NEEDED", "description" => ' '))); \billon\SoapService::$call->requestPaymentInitiation($data, function($requestResponse) { if (is_object($requestResponse) && property_exists($requestResponse, 'requestStatus') && $requestResponse->requestStatus === "SUCCESS") { } });