Pre použitie konkrétneho platobného systému stačí include-nuť PHP súbor s implementáciou danej platby, ostatné potrebné súbory sa includnú samé.
Príklad generovania payment requestu
Pozorne si, prosím, prečítajte aj článok Ako používať MONOGRAM EPayment knižnice.
require_once 'EPayment/SLSP_SporoPay/SporoPayPaymentRequest.class.php';
$pr = new SporoPayPaymentRequest();
$pr->suma = "100.00"; // suma (v €)
$pr->vs = "0875351244"; // variabilný symbol platby
$pr->ss = "5482311578"; // špecifický symbol platby
$pr->param = "myParam=dakaHodnota"; // parameter obchodníka, tento bude zaslaný naspäť v payment response
$pr->pu_predcislo = SPOROPAY_PU_PREDCISLO; // predčíslo účtu obchodníka - súčasť obchodníkovho ID
$pr->pu_cislo = SPOROPAY_PU_CISLO; // číslo účtu obchodníka - súčasť obchodníkovho ID
$pr->url = "https://www.mojastranka.sk/payment/return_slsp.php"; // návratová URL, na ktorú bude zaslaný payment response
if ($pr->validate()) {
// V prípade, že testujete integráciu MONOGRAM EBanking knižníc do Vášho systému, môžete
// namiesto reálnych platieb používať MONOGRAM EBanking server simulátor.
// Tento umožňuje riadne pretestovanie celého procesu nákupu simuláciou platobného servra.
// Pre jeho použitie musíte prepísať predvolenú URL, na ktorú sa posielajú payment requesty.
// Na toto slúži metóda SetRedirectUrlBase, ktorú obsahuje každý payment request.
$pr->SetRedirectUrlBase(SPOROPAY_REDIRECTURLBASE);
$pr->SignMessage(SPOROPAY_SHAREDSECRET); // podpísanie payment response-u
$paymentRequestUrl = $pr->GetRedirectUrl();
header('Location: '.$paymentRequestUrl);
echo "Pre pokracovanie platby prosim <a href="{$paymentRequestUrl}">kliknite sem</a>.";
exit;
}
Príklad spracúvania payment responsu
require_once 'EPayment/SLSP_SporoPay/SporoPayPaymentHttpResponse.class.php';
$pres = new SporoPayPaymentHttpResponse();
if ($pres->Validate() && $pres->VerifySignature(SPOROPAY_SHAREDSECRET)) {
$result = $pres->GetPaymentResponse();
switch ($result) {
case IEPaymentHttpPaymentResponse::RESPONSE_SUCCESS:
// zapísať platbu ako úspešnú, expedovať tovar/poskytnúť službu
break;
case IEPaymentHttpPaymentResponse::RESPONSE_FAIL:
// zapísať platbu ako neúspešnú, informovať klienta o nezbehnutí splatby
// (a možno aj rušení objednávky)
break;
case IEPaymentHttpPaymentResponse::RESPONSE_TIMEOUT:
// zapísať platbu s nedefinovaným výsledkom, príchod platby je nutné overiť manuálne.
// informovať o tom klienta.
break;
}
} else {
// zobraziť chybovú hlášku a zaznamenať údaje do logov
}