public void DefaultDynamicBillPaymentQRMustBeReadable() { var qrCode = PPay.DynamicQR.CreateBillPaymentQrCode(); var actual = sut.Read(qrCode); var expected = new PromptPayQrInfo() .InitializeDefault(staticQr: false) .SetPlainBillPayment(); actual.ValidateWith(expected); }
public static PromptPayQrInfo InitializeDefault(this PromptPayQrInfo qr, bool staticQr = true, CurrencyCode currency = CurrencyCode.THB, string country = "TH") { var PointOfInitiationMethod = staticQr ? emv.Static : emv.Dynamic; qr.Segments.Add(new QrDataObject("000201")); qr.Segments.Add(new QrDataObject($"0102{PointOfInitiationMethod}")); qr.Segments.Add(new QrDataObject($"5303{((int)currency).ToString("000")}")); qr.Segments.Add(new QrDataObject($"5802{country}")); return(qr); }
public void DefaultStaticCreditTransferQRMustBeReadable() { var qrCode = PPay.StaticQR.CreateCreditTransferQrCode(); var actual = sut.Read(qrCode); var expected = new PromptPayQrInfo() .InitializeDefault() .SetPlainCreditTransfer(); actual.ValidateWith(expected); }
public static IQrInfo SetPlainBillPayment(this PromptPayQrInfo qr) { qr.Segments.Add(new QrDataObject("30200016A000000677010112")); qr.BillPayment = new BillPayment(); return(qr); }
public static IQrInfo SetPlainCreditTransfer(this PromptPayQrInfo qr) { qr.Segments.Add(new QrDataObject("29200016A000000677010111")); qr.CreditTransfer = new CreditTransfer(); return(qr); }