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); }
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); } }