Example #1
0
        public bool StartSale(int amount, string path_to_save_qr)
        {
            // returns the location of the QR code file of the payment
            SSaleResponse      resp        = api.Sale(amount);
            SMBillsTransaction transaction = new SMBillsTransaction()
            {
                Amount_in_cents      = amount,
                Channel_id           = resp.channelid,
                Transaction_id       = resp.transactionid,
                Currency             = "EUR",
                Status               = TransactionStatus.ToDatabaseStatus(TransactionStatus.FromInt(resp.status)),
                Order_id             = resp.orderid,
                Payment_token_number = resp.paymenttokennumber.ToString(),
            };

            database.InsertRecord(transaction);
            current_transaction = transaction;

            // get qr code and save it to a temp folder
            api.getQRCode(resp.paymenttokennumber.ToString(), path_to_save_qr);

            // change state
            flow.state = StateHelper.GetCorrespondingState(this, TransactionStatus.FromInt(resp.status));
            return(true);
        }
Example #2
0
        private void LoadLastTransaction(OnlinePaymentFlow flow)
        {
            SMBillsTransaction last_transaction = database.GetLastTransaction();

            if (last_transaction != null && last_transaction.Datetime_finished != null)
            {
                current_transaction = last_transaction;
                ETransactionStatus status = TransactionStatus.FromDatabaseStatus(current_transaction.Status);
                flow.state = StateHelper.GetCorrespondingState(this, status);
            }
        }