.NET

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
}