/// <summary> /// POST payments/details API call async /// </summary> /// <param name="paymentsDetailsRequest"></param> /// <returns>PaymentsResponse</returns> public async Task <PaymentsResponse> PaymentDetailsAsync(PaymentsDetailsRequest paymentsDetailsRequest) { var jsonRequest = Util.JsonOperation.SerializeRequest(paymentsDetailsRequest); var jsonResponse = await _paymentDetails.RequestAsync(jsonRequest); return(JsonConvert.DeserializeObject <PaymentsResponse>(jsonResponse)); }
/// <summary> /// POST payments/details API call /// </summary> /// <param name="paymentsDetailsRequest"></param> /// <returns></returns> public PaymentsResponse PaymentDetails(PaymentsDetailsRequest paymentsDetailsRequest) { var jsonRequest = Util.JsonOperation.SerializeRequest(paymentsDetailsRequest); var jsonResponse = _paymentDetails.Request(jsonRequest); return(JsonConvert.DeserializeObject <PaymentsResponse>(jsonResponse)); }
/// <summary> /// POST payments/details API call async /// </summary> /// <param name="paymentsDetailsRequest"></param> /// <returns>PaymentsResponse</returns> public async Task <PaymentResponse> PaymentDetailsAsync(PaymentsDetailsRequest paymentsDetailsRequest, RequestOptions requestOptions = null) { var jsonRequest = Util.JsonOperation.SerializeRequest(paymentsDetailsRequest); var jsonResponse = await _paymentDetails.RequestAsync(jsonRequest, requestOptions); return(Util.JsonOperation.Deserialize <PaymentResponse>(jsonResponse)); }
/// <summary> /// POST payments/details API call /// </summary> /// <param name="paymentsDetailsRequest"></param> /// <returns>PaymentsResponse</returns> public PaymentResponse PaymentDetails(PaymentsDetailsRequest paymentsDetailsRequest, RequestOptions requestOptions = null) { var jsonRequest = Util.JsonOperation.SerializeRequest(paymentsDetailsRequest); var jsonResponse = _paymentDetails.Request(jsonRequest, requestOptions); return(Util.JsonOperation.Deserialize <PaymentResponse>(jsonResponse)); }
public ActionResult <string> SubmitAdditionalDetails([FromBody] PaymentsDetailsRequest req) { _logger.LogInformation($"Request for PaymentDetails API::\n{req}\n"); try { var res = _checkout.PaymentDetails(req); if (res.Action != null) { return(res.ToJson()); } else { var dict = new Dictionary <string, string>() { { "pspReference", res.PspReference }, { "resultCode", res.ResultCode.ToString() }, { "refusalReason", res.RefusalReason } }; return(JsonConvert.SerializeObject(dict)); } } catch (Adyen.HttpClient.HttpClientException e) { _logger.LogError($"Request for PaymentDetails failed::\n{e.ResponseBody}\n"); throw e; } }
/// <summary> ///Checkout Details request /// </summary> /// <returns>Returns a sample PaymentsDetailsRequest object with test data</returns> protected PaymentsDetailsRequest CreateDetailsRequest() { var paymentData = "Ab02b4c0!BQABAgCJN1wRZuGJmq8dMncmypvknj9s7l5Tj..."; var details = new PaymentCompletionDetails() { MD = "sdfsdfsdf...", PaReq = "sdfsdfsdf..." }; var paymentsDetailsRequest = new PaymentsDetailsRequest(details: details, paymentData: paymentData); return(paymentsDetailsRequest); }
private void RedirectAction(string orderRef, PaymentCompletionDetails details) { _logger.LogInformation($"Redirect request received\nRef: {orderRef}"); var paymentData = _cache.Get <string>(orderRef); var req = new PaymentsDetailsRequest(details: details, paymentData: paymentData); _logger.LogInformation($"Request for PaymentDetails API::\n{req}\n"); try { var res = _checkout.PaymentDetails(req); _logger.LogInformation($"Response for PaymentDetails API::\n{res}\n"); if (res.PspReference != "") { string redirectURL; // Conditionally handle different result codes for the shopper switch (res.ResultCode) { case ResultCodeEnum.Authorised: redirectURL = "/Home/Result/success"; break; case ResultCodeEnum.Pending: case ResultCodeEnum.Received: redirectURL = "/Home/Result/pending"; break; case ResultCodeEnum.Refused: redirectURL = "/Home/Result/failed"; break; default: { var reason = res.RefusalReason; if (reason == "") { reason = res.ResultCode.ToString(); } redirectURL = $"/Home/Result/error?reason={WebUtility.UrlEncode(reason)}"; break; } } // now redirect Response.Redirect(redirectURL); } } catch (Adyen.HttpClient.HttpClientException e) { _logger.LogError($"Request for PaymentDetails failed::\n{e.ResponseBody}\n"); Response.Redirect($"/Home/Result/error?reason={WebUtility.UrlEncode(e.ResponseBody)}"); } }