public async Task <IActionResult> Success([FromQuery(Name = "paymentId")] string paymentId, [FromQuery(Name = "PayerId")] string payerId) { var payPalApi = new PayPalApiService(_configuration); PayPalPaymentExecutedResponse result = await payPalApi .ExecutedPayment(paymentId, payerId); return(View("~/Views/Home/Success.cshtml")); }
public async Task <PayPalPaymentExecutedResponse> ExecutePaypalPaymentAsync(HttpClient httpClient, PaypalAccessToken paypalAccessToken, string paymentId, string payerId) { HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, $"/v1/payments/payment/{paymentId}/execute"); request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", paypalAccessToken.access_token); var payment = JObject.FromObject(new { payer_id = payerId }); request.Content = new StringContent(JsonConvert.SerializeObject(payment), Encoding.UTF8, "application/json"); HttpResponseMessage response = await httpClient.SendAsync(request); string content = await response.Content.ReadAsStringAsync(); PayPalPaymentExecutedResponse payPalPaymentExecutedResponse = JsonConvert.DeserializeObject <PayPalPaymentExecutedResponse>(content); return(payPalPaymentExecutedResponse); }
public async Task <IActionResult> Success([FromQuery(Name = "paymentId")] string paymentId, [FromQuery(Name = "payerID")] string payerID) { var payPalAPI = new PayPalAPI(configuration); PayPalPaymentExecutedResponse result = await payPalAPI.executedPayment(paymentId, payerID); Debug.WriteLine("Transaction Details"); Debug.WriteLine("cart: " + result.cart); Debug.WriteLine("create_time: " + result.create_time.ToLongDateString()); Debug.WriteLine("id: " + result.id); Debug.WriteLine("intent: " + result.intent); Debug.WriteLine("links 0 - href: " + result.links[0].href); Debug.WriteLine("links 0 - method: " + result.links[0].method); Debug.WriteLine("links 0 - rel: " + result.links[0].rel); Debug.WriteLine("payer_info - first_name: " + result.payer.payer_info.first_name); Debug.WriteLine("payer_info - last_name: " + result.payer.payer_info.last_name); Debug.WriteLine("payer_info - email: " + result.payer.payer_info.email); Debug.WriteLine("payer_info - billing_address: " + result.payer.payer_info.billing_address); Debug.WriteLine("payer_info - country_code: " + result.payer.payer_info.country_code); Debug.WriteLine("payer_info - payer_id: " + result.payer.payer_info.payer_id); Debug.WriteLine("state:" + result.state); ViewBag.result = result; return(View()); }
public async Task ExecutePaymentAsync(PayPalExecutePayment payment) { var url = ExecutePaymentUrl(payment.PaymentId); var request = new HttpRequestMessage(HttpMethod.Post, url); var executeRequest = new PayPalPaymentExecuteRequest { PayerId = payment.PayerId }; request.Content = new StringContent(JsonConvert.SerializeObject(executeRequest), Encoding.UTF8, "application/json"); var response = await _http.SendAsync(request); var content = await response.Content.ReadAsStringAsync(); PayPalPaymentExecutedResponse executedPayment = JsonConvert.DeserializeObject <PayPalPaymentExecutedResponse>(content); if (!String.IsNullOrWhiteSpace(executedPayment.ErrorName)) { throw new PaypalException(executedPayment.ErrorMessage, null, executedPayment.InformationLink); } }