public async Task RefundOrderPaypal(string captureOrderId)
        {
            try
            {
                CartDetailsModel cart  = (CartDetailsModel)Session["CartDetails"];
                double           total = cart.Total;
                var request            = new CapturesRefundRequest(captureOrderId);
                request.Prefer("return=representation");
                RefundRequest refundRequest = new RefundRequest()
                {
                    Amount = new PayPalCheckoutSdk.Payments.Money
                    {
                        Value        = "" + total,
                        CurrencyCode = "USD"
                    }
                };
                request.RequestBody(refundRequest);
                var response = await PayPalClient.client().Execute(request);

                var result = response.Result <PayPalCheckoutSdk.Payments.Refund>();
                if (result.Status.Equals("COMPLETED"))
                {
                    TempData["RefundMess"] = "Refund money success !!";
                }
            }
            catch (Exception e)
            {
                SendMailSSL.SendErrorToAdmin("Error at RefundOrderPaypal: " + e.ToString());
            }
        }
        /*
         * Method for refund the capture. Valid capture Id should be
         *  passed an argument to this method.
         */
        public async static Task <HttpResponse> CapturesRefund(string CaptureId, bool debug = false)
        {
            var request = new CapturesRefundRequest(CaptureId);

            request.Prefer("return=representation");
            RefundRequest refundRequest = new RefundRequest()
            {
                Amount = new Money
                {
                    Value        = "20.00",
                    CurrencyCode = "USD"
                }
            };

            request.RequestBody(refundRequest);
            var response = await PayPalClient.client().Execute(request);

            if (debug)
            {
                var result = response.Result <Refund>();
                Console.WriteLine("Status: {0}", result.Status);
                Console.WriteLine("Refund Id: {0}", result.Id);
                Console.WriteLine("Links:");
                foreach (LinkDescription link in result.Links)
                {
                    Console.WriteLine("\t{0}: {1}\tCall Type: {2}", link.Rel, link.Href, link.Method);
                }
                Console.WriteLine("Response JSON: \n {0}", PayPalClient.ObjectToJSONString(result));
            }
            return(response);
        }
예제 #3
0
        public async static Task <HttpResponse> CapturesRefund(string CaptureId, string amount, string currecncode)
        {
            var request = new CapturesRefundRequest(CaptureId);

            request.Prefer("return=representation");
            RefundRequest refundRequest = new RefundRequest()
            {
                Amount = new Money
                {
                    Value        = amount,
                    CurrencyCode = currecncode
                }
            };

            request.RequestBody(refundRequest);
            var response = await PayPalClient.client().Execute(request);

            return(response);
        }
예제 #4
0
        public async Task <HttpResponse> CapturesRefund(bool debug = false)
        {
            try
            {
                string CaptureId = "2FR8054805574234G";
                var    request   = new CapturesRefundRequest(CaptureId);
                request.Prefer("return=representation");
                PayPalCheckoutSdk.Payments.RefundRequest refundRequest = new PayPalCheckoutSdk.Payments.RefundRequest()
                {
                    Amount = new PayPalCheckoutSdk.Payments.Money
                    {
                        Value        = "23.00",
                        CurrencyCode = "USD"
                    }
                };
                request.RequestBody(refundRequest);

                PayPalEnvironment payPalEnvironment = new SandboxEnvironment("Af8jLh10kVlYkx4lunz6GSduOt92LyS_hRCOjzRZaU1SZrr1Eb7xYXBjLn-ue6SqiVlsTCEPPlMmL4bI", "EKQBNJEbuBx-yIx0vdtFTiptyfnnyjQVYwhPAmiuKe19T3Viko-B8E-wYrfQuvGdVCOJ97zH9-arreb4");

                var httpResponse = await new PayPalHttpClient(payPalEnvironment).Execute(request);


                if (true)
                {
                    var result = httpResponse.Result <PayPalCheckoutSdk.Payments.Refund>();
                    //result.SellerPayableBreakdown.PaypalFee.Value
                    Console.WriteLine("Status: {0}", result.Status);
                    Console.WriteLine("Refund Id: {0}", result.Id);
                    Console.WriteLine("Links:");
                }
                return(httpResponse);
            }
            catch (Exception e)
            {
                var request = new OrdersCreateRequest();
                //PayPalEnvironment payPalEnvironment = new SandboxEnvironment("Af8jLh10kVlYkx4lunz6GSduOt92LyS_hRCOjzRZaU1SZrr1Eb7xYXBjLn-ue6SqiVlsTCEPPlMmL4bI", "EKQBNJEbuBx-yIx0vdtFTiptyfnnyjQVYwhPAmiuKe19T3Viko-B8E-wYrfQuvGdVCOJ97zH9-arreb4");
                PayPalEnvironment payPalEnvironment = new SandboxEnvironment("AWslfpHdNCbQxriW7vju-2SyILIfD62prHjvERnaG_G7B1WmGAP6Spw04MMwJBixLWd5peQ-3JQ1pasX", "EC-tZkW-enhtWH_Yf3Tmm5R15_9ULsIdfMDU150ivrTyJKUyfNioFaR1A7L0bPXPKN3Z3zawNMIp8wqU");
                //return await new PayPalHttpClient(payPalEnvironment).Execute(request);
                var httpResponse = await new PayPalHttpClient(payPalEnvironment).Execute(request);
                return(httpResponse);
            }
        }