public async Task <ChangeResult> TransactAsync(TransactRequest request) { App.Authorize(PERM_TRANSACT); var commands = request.Commands.NonNull(nameof(request.Commands)); try { var result = new List <ChangeResult>(); var time = Time.Timeter.StartNew(); using (var connection = GetSqlConnection(request.RequestHeaders)) { using (var tx = connection.BeginTransaction()) try { foreach (var command in commands) { var isSql = isSqlStatementType(command); var oneChange = await txAsync(connection, tx, command, isSql).ConfigureAwait(false); result.Add(oneChange); } tx.Commit(); } catch { tx.Rollback(); throw; } } time.Stop(); return(new ChangeResult(ChangeResult.ChangeType.Processed, result.Count, $"Processed in {time.ElapsedMs:n0} ms", result, 200)); } catch (Exception error) { throw new DocValidationException(nameof(ReadRequest.Command), "Error executing transact request: \n{0}".Args(error.ToMessageWithType()), error); } }
public IActionResult Index() { Guid refId = Guid.NewGuid(); FlutterWaveApi api = new FlutterWaveApi(SecretKey); TransactRequest request = new TransactRequest(); request.currency = "NGN"; request.amount = 15000; request.tx_ref = refId.ToString(); request.redirect_url = "http://*****:*****@yahoo.com", name = "Ekene Duru", phonenumber = "08012345678" }; request.meta = new MetaR() { consumer_id = 23333, consumer_mac = "45666666655", ExtraField = "gooooo", ExtraFieldTwo = "455544444444444444" }; request.customizations = new Customizations { title = "Test Payment", logo = "", description = "Middleout isn't free. Pay the price" }; TransactionReponse resp = api.Initialize(request); if (resp.status == "success") { HttpContext.Response.Redirect(resp.data.link); } return(View()); }
public ValidState ValidateTransactRequest(ValidState state, TransactRequest request) { request.NonNull(nameof(request)); return(DoValidateTransactRequest(state, request)); }
/// <summary> /// Must override to validate the transact request /// </summary> protected abstract ValidState DoValidateTransactRequest(ValidState state, TransactRequest request);
public async Task <object> PostTransactRequest(TransactRequest request) => await SaveNewAsync(request).ConfigureAwait(false);