internal void LoadPaymentOrder()
        {
            if (_request.Transaction.ExtensionData.Contains("paymentData"))
            {
                var paymentData = _request.Transaction.ExtensionData.Slice("paymentData");

                this.PaymentOrder = PaymentOrder.Parse(paymentData);
            }
        }
        static internal PaymentOrder Parse(JsonObject json)
        {
            var po = new PaymentOrder();

            po.RouteNumber = json.Get("paymentOrder/routeNumber", po.RouteNumber);
            po.IssueTime   = json.Get("paymentOrder/issueTime", po.IssueTime);
            po.DueDate     = json.Get("paymentOrder/dueDate", po.DueDate);
            po.Total       = json.Get("paymentOrder/total", po.Total);
            po.Uri         = json.Get("paymentOrder/uri", po.Uri);

            po.ReceiptNo = json.Get("payment/receiptNo", po.ReceiptNo);

            return(po);
        }
        internal async Task CreatePaymentOrder()
        {
            var dto = await _externalServices.GeneratePaymentOrder();

            this.PaymentOrder = new PaymentOrder(dto);
        }