Základné triedy a interface-y knižnice EPaymentMerchant_CS používajú namespace Monogram.EPayment.Merchant . Konkrétne implementácie platobných protokolov nájdete v namespace-och:
- SporoPay – Monogram.EPayment.Merchant.SLSP.SporoPay
- TatraPay – Monogram.EPayment.Merchant.TB.TatraPay
- CardPay – Monogram.EPayment.Merchant.TB.CardPay
- UniPlatba – Monogram.EPayment.Merchant.UCB.UniPlatba
- VÚB EPlatba – Monogram.EPayment.Merchant.VUB.EPlatba
Tieto namespace-y obsahujú pre Vás najdôležitejšie triedy – konkrétne implementácie payment requestov a payment responsov.
Príklad generovania payment requestu
Pozorne si, prosím, prečítajte aj článok Ako používať MONOGRAM EPayment knižnice.
SporoPayPaymentRequest pr = new SporoPayPaymentRequest();
pr.Vs = "0158435771"; // variabilný symbol platby
pr.Suma = 15.32; // suma (v €)
pr.Pu_predcislo = WebConfigurationManager.AppSettings["SporoPay_Pu_predcislo"]; // predčíslo účtu obchodníka - súčasť obchodníkovho ID
pr.Pu_cislo = WebConfigurationManager.AppSettings["SporoPay_Pu_cislo"]; // číslo účtu obchodníka - súčasť obchodníkovho ID
pr.Ss = "0571235842"; // špecifický symbol platby
pr.Param = "mojParameter=dakaHodnota"; // parameter obchodníka, tento bude zaslaný naspäť v payment response
pr.Url = "http://www.mojastranka.sk/payment/return_sporopay.aspx"; // návratová URL, na ktorú bude zaslaný payment response
// 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 property UrlBase, ktorú obsahuje každý payment request.
pr.UrlBase = "http://url.ebankingserversimulatora.sk/SLSP_SporoPay.aspx";
if (pr.Validate())
{
pr.SignMessage(WebConfigurationManager.AppSettings["SporoPay_SharedSecret"]); // podpísanie payment response-u
Response.Redirect(pr.PaymentRequestUrl);
}
else
{
throw new ApplicationException("Pri validácii payment requestu nastala chyba.");
}
Príklad spracúvania payment responsu
ISignedResponse paymentResponse = new SporoPayPaymentHttpResponse(Request);
if (((EBankingMessage)paymentResponse).Validate() &&
paymentRespone.VerifySignature(WebConfigurationManager.AppSettings["SporoPay_SharedSecret"]))
{
switch (paymentResponse.GetPaymentResponse())
{
case PaymentResponse.OK:
// zapísať platbu ako úspešnú, expedovať tovar/poskytnúť službu
break;
case PaymentResponse.Fail:
// zapísať platbu ako neúspešnú, informovať klienta o nezbehnutí splatby
// (a možno aj rušení objednávky)
break;
case PaymentResponse.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
}