1. Wstęp
  2. Biblioteki dla webmasterów
  3. Wysyłanie operacji SOAP w PHP

Wysyłanie operacji SOAP w PHP

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") 
    {
    }
});
Czy ten artykuł jest dla Ciebie pomocny? Tak Nie

Jak możemy pomóc?