Exemple #1
0
        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);
        }
Exemple #4
0
		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);
				}
			}
		}
Exemple #5
0
        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();
 }
Exemple #8
0
        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();
        }
Exemple #9
0
 protected override void OnDisappearing()
 {
     CancelPayment?.Invoke(this, EventArgs.Empty);
     Instance = null;
     base.OnDisappearing();
 }
Exemple #10
0
 private void BtnCancelBuy_Clicked(object sender, EventArgs e)
 {
     CancelPayment?.Invoke(this, e);
     Instance = null;
 }
Exemple #11
0
 protected override bool OnBackButtonPressed()
 {
     CancelPayment?.Invoke(this, EventArgs.Empty);
     Instance = null;
     return(base.OnBackButtonPressed());
 }
Exemple #12
0
        public async Task HandleAsync(ICommandContext context, CancelPayment command)
        {
            var payment = await context.GetAsync <Payment>(command.AggregateRootId);

            payment.Cancel();
        }