Beispiel #1
0
        public void DefaultDynamicBillPaymentQRMustBeReadable()
        {
            var qrCode   = PPay.DynamicQR.CreateBillPaymentQrCode();
            var actual   = sut.Read(qrCode);
            var expected = new PromptPayQrInfo()
                           .InitializeDefault(staticQr: false)
                           .SetPlainBillPayment();

            actual.ValidateWith(expected);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        public void DefaultStaticCreditTransferQRMustBeReadable()
        {
            var qrCode   = PPay.StaticQR.CreateCreditTransferQrCode();
            var actual   = sut.Read(qrCode);
            var expected = new PromptPayQrInfo()
                           .InitializeDefault()
                           .SetPlainCreditTransfer();

            actual.ValidateWith(expected);
        }
Beispiel #4
0
 public static IQrInfo SetPlainBillPayment(this PromptPayQrInfo qr)
 {
     qr.Segments.Add(new QrDataObject("30200016A000000677010112"));
     qr.BillPayment = new BillPayment();
     return(qr);
 }
Beispiel #5
0
 public static IQrInfo SetPlainCreditTransfer(this PromptPayQrInfo qr)
 {
     qr.Segments.Add(new QrDataObject("29200016A000000677010111"));
     qr.CreditTransfer = new CreditTransfer();
     return(qr);
 }