//This function can be used to perform authorization on the approved order. public async static Task <HttpResponse> AuthorizeOrder(string OrderId, bool debug = false) { var request = new OrdersAuthorizeRequest(OrderId); request.Prefer("return=representation"); request.RequestBody(new AuthorizeRequest()); var response = await PayPalClient.client().Execute(request); if (debug) { var result = response.Result <Order>(); Console.WriteLine("Status: {0}", result.Status); Console.WriteLine("Order Id: {0}", result.Id); Console.WriteLine("Authorization Id: {0}", result.PurchaseUnits[0].Payments.Authorizations[0].Id); Console.WriteLine("Intent: {0}", result.CheckoutPaymentIntent); Console.WriteLine("Links:"); foreach (LinkDescription link in result.Links) { Console.WriteLine("\t{0}: {1}\tCall Type: {2}", link.Rel, link.Href, link.Method); } AmountWithBreakdown amount = result.PurchaseUnits[0].AmountWithBreakdown; Console.WriteLine("Buyer:"); Console.WriteLine("\tEmail Address: {0}", result.Payer.Email); Console.WriteLine("Response JSON: \n {0}", PayPalClient.ObjectToJSONString(result)); } return(response); }
//This function can be used to perform authorization on the approved order. public async static Task <PayPalHttp.HttpResponse> AuthorizeOrder(string OrderId, bool debug = false) { var request = new OrdersAuthorizeRequest(OrderId); request.Prefer("return=representation"); request.RequestBody(new AuthorizeRequest()); var response = await PayPalClient.client().Execute(request); string s = ""; if (debug) { var result = response.Result <Order>(); s = s + "Status: " + result.Status + "\n"; s = s + "Order Id: " + result.Id + "\n"; s = s + "Authorization Id: " + result.PurchaseUnits[0].Payments.Authorizations[0].Id + "\n"; s = s + "Intent: " + result.CheckoutPaymentIntent + "\n"; s = s + "Links:"; foreach (LinkDescription link in result.Links) { s = s + "Rel: " + link.Rel + " | " + link.Href + " | " + link.Method + "\n"; } AmountWithBreakdown amount = result.PurchaseUnits[0].AmountWithBreakdown; s = s + "Buyer: "; s = s + "\tEmail Address: " + result.Payer.Email; // Console.WriteLine("Response JSON: \n {0}", PayPalClient.ObjectToJSONString(result)); } MessageBox.Show(s); return(response); }
public async Task <HttpResponse> AuthorizeOrder(string OrderId, bool debug = false) { var request = new OrdersAuthorizeRequest(OrderId); request.Prefer("return=representation"); request.RequestBody(new AuthorizeRequest()); //3. Call PayPal to authorization an order var response = await PayPalClient.Client(_configuration).Execute(request); //4. Save the authorization ID to your database. Implement logic to save the authorization to your database for future reference. if (debug) { var result = response.Result <Order>(); Console.WriteLine("Status: {0}", result.Status); Console.WriteLine("Order Id: {0}", result.Id); Console.WriteLine("Authorization Id: {0}", result.PurchaseUnits[0].Payments.Authorizations[0].Id); Console.WriteLine("Intent: {0}", result.CheckoutPaymentIntent); Console.WriteLine("Links:"); foreach (PayPalCheckoutSdk.Orders.LinkDescription link in result.Links) { Console.WriteLine("\t{0}: {1}\tCall Type: {2}", link.Rel, link.Href, link.Method); } AmountWithBreakdown amount = result.PurchaseUnits[0].AmountWithBreakdown; Console.WriteLine("Buyer:"); Console.WriteLine("\tEmail Address: {0}", result.Payer.Email); Console.WriteLine("Response JSON: \n {0}", PayPalClient.ObjectToJSONString(result)); } return(response); }
public async void TestOrdersAuthorizeRequest() { OrdersAuthorizeRequest request = new OrdersAuthorizeRequest("ORDER-ID"); HttpResponse response = await TestHarness.client().Execute(request); Assert.Equal(200, (int)response.StatusCode); Assert.NotNull(response.Result <Order>()); }
public async static Task <HttpResponse> AuthorizeOrder(string OrderId) { var request = new OrdersAuthorizeRequest(OrderId); request.Prefer("return=representation"); request.RequestBody(new AuthorizeRequest()); var response = await PayPalClient.client().Execute(request); return(response); }
public async static Task <HttpResponse> AuthorizeOrder(string OrderId) { var request = new OrdersAuthorizeRequest(OrderId); request.Prefer("return=representation"); request.RequestBody(new AuthorizeRequest()); var response = await PayPalClient.client().Execute(request); // Add code here to process the response results on server. // for example, you can extract the authorization ID and store it to database. return(response); }
public async Task <ActionResult> AuthorizeCaptureOrderPaypal() { CartDetailsModel cart = (CartDetailsModel)Session["CartDetails"]; try { if (CheckProductInCart(cart)) { //neu on het thi tien hanh thanh toan string orderId = Request["token"]; var requestAuthorization = new OrdersAuthorizeRequest(orderId); requestAuthorization.Prefer("return=representation"); requestAuthorization.RequestBody(new AuthorizeRequest()); var responseAuthorization = await PayPalClient.client().Execute(requestAuthorization); var resultAuthorization = responseAuthorization.Result <Order>(); if (resultAuthorization.Status.Equals("COMPLETED")) { //if success //get authorizationID string AuthorizationId = resultAuthorization.PurchaseUnits[0].Payments.Authorizations[0].Id; var requestCapture = new AuthorizationsCaptureRequest(AuthorizationId); requestCapture.Prefer("return=representation"); requestCapture.RequestBody(new CaptureRequest()); //execute capture var responseCapture = await PayPalClient.client().Execute(requestCapture); var captureOrderResult = responseCapture.Result <PayPalCheckoutSdk.Payments.Capture>(); if (captureOrderResult.Status.Equals("PENDING"))//success { //check lai xem con hang trong kho k sau khi customer da thanh toan xong //neu k thi refund tien r tra ve trang shopping-cart if (!CheckProductInCart(cart)) { await RefundOrderPaypal(captureOrderResult.Id); return(RedirectToAction("LoadCartDetails", "Cart")); } else { return(FinishOrderPaypal(cart)); } } else { TempData["ErrorOrder"] = "Error to order by PayPal!!"; return(RedirectToAction("LoadCartDetails", "Cart")); } } else { TempData["ErrorOrder"] = "Error to order by PayPal!!"; return(RedirectToAction("LoadCartDetails", "Cart")); } } else { TempData["ErrorOrder"] = "Error to order by PayPal!!"; return(RedirectToAction("LoadCartDetails", "Cart")); } } catch (Exception e) { SendMailSSL.SendErrorToAdmin("Error at AuthorizeCaptureOrderPaypal: " + e.ToString()); } return(RedirectToAction("LoadCartDetails", "Cart")); }