public async Task ChangeStatus() { var cartId = Guid.NewGuid().ToString(); var customerId = Guid.NewGuid().ToString(); var submitOrder = new SubmitOrder { CartId = cartId, Customer = customerId, Items = new List <Filling>() }; var bookPayment = new BookPayment { Id = Guid.NewGuid(), CartId = cartId, Customer = customerId }; var cancelPayment = new CancelPayment { Id = Guid.NewGuid(), CartId = cartId, Customer = customerId }; await SendInOrder(new IMessage[] { submitOrder, bookPayment, cancelPayment, bookPayment } ); var(order, _) = await ordersRepository.Get <Order>(customerId, cartId); Assert.AreEqual(order.PaymentBooked, false); }
public async Task Handle(CancelPayment message, IMessageHandlerContext context) { var payment = await this.DbContext.Payments.FirstOrDefaultAsync(p => p.PaymentId == message.PaymentId); if (payment != null) { payment.PaymentStatus = PaymentStatus.Canceled; await this.DbContext.SaveChangesAsync(); this.Data.Completed = false; } }
public virtual void CancelPayment(PaymentMethod paymentMethod, long orderId, string merchantReference) { var orderStatus = GetOrderStatus(paymentMethod, orderId); var request = new CancelPayment() { Meta = { MerchantId = paymentMethod.DynamicProperty <int>().MerchantId }, Payment = { OrderId = orderId, MerchantReference = merchantReference, EffortId = orderStatus.EffortId, AttemptId = orderStatus.AttemptId } }; var text = request.ToString(); SendTextAndCheckResponseForErrors(GetServiceUrl(paymentMethod), text); }
public void CancelPaymentTest() { const int customerid = 1394; const long loanID = 7; const long paymentToCancel = 6; DateTime canceldate = DateTime.UtcNow; // new DateTime(2015, 12, 30); var pp = this.m_oDB.Fill<NL_Payments>("NL_PaymentsGet", CommandSpecies.StoredProcedure, new QueryParameter("@LoanID", loanID)); var nlpayment = pp.FirstOrDefault(p => p.PaymentID == paymentToCancel); if (nlpayment != null) { nlpayment.PaymentStatusID = (int)NLPaymentStatuses.WrongPayment; // (int)NLPaymentStatuses.ChargeBack; nlpayment.DeletionTime = canceldate; nlpayment.Notes = "remove"; nlpayment.DeletedByUserID = 357; try { CancelPayment pstrategy = new CancelPayment(customerid, nlpayment, 357); pstrategy.Execute(); m_oLog.Debug(pstrategy.Error); } catch (Exception ex) { m_oLog.Debug(ex); } } }
public async Task TrackTotalPaymentsValue() { var cartId = Guid.NewGuid().ToString(); var customerId = Guid.NewGuid().ToString(); var submitOrder = new SubmitOrder { CartId = cartId, Customer = customerId, Items = new List <Filling> { Filling.Meat, Filling.Mushrooms, Filling.QuarkAndPotatoes } }; var bookPayment = new BookPayment { Id = Guid.NewGuid(), CartId = cartId, Customer = customerId }; var cancelPayment = new CancelPayment { Id = Guid.NewGuid(), CartId = cartId, Customer = customerId }; await SendInOrder(new IMessage[] { submitOrder, bookPayment, cancelPayment, bookPayment } ); var(payment, _) = await marketingRepository.Get <Payments>(customerId, Payments.RowId); Assert.AreEqual(0, payment.TotalValue); }
/// <summary> /// Cancel a payment /// It is with this resource that we cancel a payment. /// The feature is used when we want to make a payment cancellation (charge-back) /// by performing the reverse transaction of the same type previously sent from A (seller) to B(buyer). /// A checkout cancellation has a transaction identifier(txId), /// seller's administrative password (password) and a vendor identifier (vendorKey) /// </summary> /// <param name="cancelPayment"></param> /// <returns></returns> public Checkout CancelPayment(CancelPayment cancelPayment) { try { //Convert to Sha256 cancelPayment.password = Converts.ComputeSha256Hash(cancelPayment.password); string urlBase = this.SandBox ? GlobalType.URL_BASE_SANDBOX : GlobalType.URL_BASE_DEFAULT; string strJson = JsonConvert.SerializeObject(cancelPayment); byte[] buffer = Encoding.UTF8.GetBytes(strJson); HttpWebRequest httpWebRequest = HttpWebRequest.CreateHttp(urlBase + GlobalType.URL_CHECKOUT_DELETE); httpWebRequest.Method = "DELETE"; httpWebRequest.Accept = "application/json"; httpWebRequest.ContentType = "application/json"; httpWebRequest.ContentLength = buffer.Length; httpWebRequest.GetRequestStream().Write(buffer, 0, buffer.Length); using (HttpWebResponse objResponse = httpWebRequest.GetResponse() as HttpWebResponse) { using (StreamReader strReader = new StreamReader(objResponse.GetResponseStream())) return(JsonConvert.DeserializeObject <Checkout>(strReader.ReadToEnd())); } } catch (Exception ex) { return(new Checkout() { status = new Status() { code = "-1", message = ex.Message } }); } }
public void Handle(ICommandContext context, CancelPayment command) { context.Get <Payments.Payment>(command.AggregateRootId).Cancel(); }
static void Main(string[] args) { ApusPaymentsAPI apusPaymentsAPI = new ApusPaymentsAPI(EnviromentType.SandBox); string pan = "9999999999999999"; string password = "******"; string vendorKey = "5f5bdaed-f82b-4b82-b3f5-1d562633da5b"; string vendorPassword = "******"; // Make a payment MakePayment makePayment = new MakePayment(); makePayment.pan = pan; makePayment.password = password; makePayment.blockchain = BlockChainType.LTC; makePayment.amount = 13.88; makePayment.currency = CurrencyType.BRL; makePayment.vendorKey = vendorKey; var makePaymentReturn = apusPaymentsAPI.MakePayment(makePayment); Console.WriteLine("MakePayment: " + JsonConvert.SerializeObject(makePaymentReturn)); Console.WriteLine(""); // Make a recurring payment MakeRecurringPayment makeRecurringPayment = new MakeRecurringPayment(); makeRecurringPayment.pan = pan; makeRecurringPayment.password = password; makeRecurringPayment.blockchain = BlockChainType.LTC; makeRecurringPayment.amount = 13.88; makeRecurringPayment.currency = CurrencyType.BRL; makeRecurringPayment.period = PeriodType.M; makeRecurringPayment.vendorKey = vendorKey; var makeRecurringPaymentReturn = apusPaymentsAPI.MakeRecurringPayment(makeRecurringPayment); Console.WriteLine("Make a Recurring Payment: " + JsonConvert.SerializeObject(makeRecurringPaymentReturn)); Console.WriteLine(""); // Search payment SearchPayment searchPayment = new SearchPayment(); searchPayment.vendorKey = vendorKey; searchPayment.txId = ""; searchPayment.timestamp = ""; searchPayment.blockchain = BlockChainType.LTC; searchPayment.currency = CurrencyType.BRL; searchPayment.coinAmount = ""; searchPayment.currencyAmount = ""; searchPayment.buyer = ""; var searchPaymentReturn = apusPaymentsAPI.SearchPayment(searchPayment); Console.WriteLine("Search Payment: " + JsonConvert.SerializeObject(searchPaymentReturn)); Console.WriteLine(""); // Cancel CancelPayment cancelPayment = new CancelPayment(); cancelPayment.txId = "2bf779e2a311c2629df977b0bb105879411fd71f5839972c4ed1d3278f80170f"; cancelPayment.password = vendorPassword; cancelPayment.vendorKey = vendorKey; var cancelPaymentReturn = apusPaymentsAPI.CancelPayment(cancelPayment); Console.WriteLine("Cancel a Payment: " + JsonConvert.SerializeObject(cancelPaymentReturn)); Console.WriteLine(""); RechargeCryptoBalance rechargeCryptoBalance = new RechargeCryptoBalance(); rechargeCryptoBalance.pan = pan; rechargeCryptoBalance.password = password; rechargeCryptoBalance.blockchain = BlockChainType.LTC; rechargeCryptoBalance.amount = 13.88; rechargeCryptoBalance.currency = CurrencyType.BRL; rechargeCryptoBalance.vendorKey = vendorKey; var rechargeCryptoBalanceReturn = apusPaymentsAPI.RechargeCryptoBalance(rechargeCryptoBalance); Console.WriteLine("Recharge of Crypto Balance: " + JsonConvert.SerializeObject(rechargeCryptoBalanceReturn)); Console.WriteLine(""); Console.ReadKey(); }
protected override void OnDisappearing() { CancelPayment?.Invoke(this, EventArgs.Empty); Instance = null; base.OnDisappearing(); }
private void BtnCancelBuy_Clicked(object sender, EventArgs e) { CancelPayment?.Invoke(this, e); Instance = null; }
protected override bool OnBackButtonPressed() { CancelPayment?.Invoke(this, EventArgs.Empty); Instance = null; return(base.OnBackButtonPressed()); }
public async Task HandleAsync(ICommandContext context, CancelPayment command) { var payment = await context.GetAsync <Payment>(command.AggregateRootId); payment.Cancel(); }