public async Task <IActionResult> WithdrawAsync([FromBody] WithdrawTransactionRequest request) { var createTransactionRequest = new CreateTransactionRequest { Bundle = request.BundleId }; var createTransactionResponse = await _cashierServiceClient.CreateTransactionAsync(createTransactionRequest); try { var createPaypalPayoutRequest = new CreatePaypalPayoutRequest { Email = request.Email, Transaction = createTransactionResponse.Transaction }; await _paymentServiceClient.CreatePaypalPayoutAsync(createPaypalPayoutRequest); return(this.Ok()); } catch (RpcException exception) { var cancelTransactionRequest = new CancelTransactionRequest { TransactionId = createTransactionResponse.Transaction.Id }; await _cashierServiceClient.CancelTransactionAsync(cancelTransactionRequest); throw exception.Capture(); } }
public async Task <IActionResult> DepositAsync([FromBody] DepositTransactionRequest request) { var createTransactionRequest = new CreateTransactionRequest { Bundle = request.BundleId }; var createTransactionResponse = await _cashierServiceClient.CreateTransactionAsync(createTransactionRequest); try { var createStripePaymentIntentRequest = new CreateStripePaymentIntentRequest { PaymentMethodId = request.PaymentMethodId, Transaction = createTransactionResponse.Transaction }; var createStripePaymentIntentResponse = await _paymentServiceClient.CreateStripePaymentIntentAsync(createStripePaymentIntentRequest); return(this.Ok(createStripePaymentIntentResponse.ClientSecret)); } catch (RpcException exception) { var cancelTransactionRequest = new CancelTransactionRequest { TransactionId = createTransactionResponse.Transaction.Id }; await _cashierServiceClient.CancelTransactionAsync(cancelTransactionRequest); throw exception.Capture(); } }
public ActionResult CancelOrder() { var cancelTransactionRequest = new CancelTransactionRequest((string)Session["tid"], _configuration); CancelTransactionResponse response = _cieloService.CancelTransaction(cancelTransactionRequest); ViewBag.Status = response.Status.ToString(); return RedirectToAction("CheckStatus"); }
public void CancelTransactionRequest_OnValidRequest_ReturnObject() { // arrange var request = new CancelTransactionRequest(); // act var msg = request.ToMessage(); // assert Assert.NotNull(msg); Assert.Equal("cancel_transaction", msg.EventName); }
public void ToXml_GivenACancelTransactionRequest_ShouldGenerateAXmlAsExpected() { var cancelTransactionRequest = new CancelTransactionRequest("10069930690864271001", new FakeConfiguration()) { UniqueKey = Guid.Parse("4c38f150-b67d-4059-88d1-b53b13e54a8e") }; cancelTransactionRequest .ToXml(false) .RemoveNewLinesAndSpaces() .Should() .Be(ExpectedXml.RemoveNewLinesAndSpaces()); }
public CancelTransactionResponse CancelTransaction(CancelTransactionRequest request) { var responseContent = string.Empty; try { responseContent = Execute(request); CreateExceptionIfError(responseContent); return(new CancelTransactionResponse(responseContent)); } catch (Exception ex) { throw new ResponseException(responseContent, ex); } }
public override async Task <CancelTransactionResponse> CancelTransaction(CancelTransactionRequest request, ServerCallContext context) { var httpContext = context.GetHttpContext(); var userId = httpContext.GetUserId(); var account = await _accountService.FindAccountOrNullAsync(userId); if (account == null) { throw context.NotFoundRpcException("User account not found."); } var result = await _accountService.MarkAccountTransactionAsCanceledAsync(account !, request.TransactionId.ParseEntityId <TransactionId>()); if (result.IsValid) { var response = new CancelTransactionResponse(); return(context.Ok(response)); } throw context.FailedPreconditionRpcException(result); }