处理付款事件的java paypal webhook控制器
我需要实现webhook控制器来处理完整的支付事件,所以我如何处理或订阅。 `public IActionResult Webhook() { //APIContext对象可以包含受信任证书的可选覆盖。 var apiContext=PayPalConfiguration.GetAPIContext() } 这是我得到的javascript示例,但与我希望在java中处理程序实现的示例相同。当控制器被击中时,需要哪些参数。对于,Webhook事件名称列表如下:,特别是您希望的是处理付款事件的java paypal webhook控制器,java,paypal,payment-gateway,webhooks,paypal-sandbox,Java,Paypal,Payment Gateway,Webhooks,Paypal Sandbox,我需要实现webhook控制器来处理完整的支付事件,所以我如何处理或订阅。 `public IActionResult Webhook() { //APIContext对象可以包含受信任证书的可选覆盖。 var apiContext=PayPalConfiguration.GetAPIContext() } 这是我得到的javascript示例,但与我希望在java中处理程序实现的示例相同。当控制器被击中时,需要哪些参数。对于,Webhook事件名称列表如下:,特别是您希望的是PAYMENT.S
PAYMENT.SALE.COMPLETED
(而不是“.CAPTURE”。)
您可能会发现此处的信息很有帮助:我需要获得付款(即收到付款),此时我需要得到通知,并且该捕获事件可用,对吗?因此,我需要支付对象。
// Get the received request's headers
var requestheaders = HttpContext.Request.Headers;
// Get the received request's body
var requestBody = string.Empty;
using (var reader = new System.IO.StreamReader(HttpContext.Request.Body))
{
requestBody = reader.ReadToEnd();
}
dynamic jsonBody = JObject.Parse(requestBody);
string webhookId = jsonBody.id;
var ev = WebhookEvent.Get(apiContext, webhookId);
// We have all the information the SDK needs, so perform the validation.
// Note: at least on Sandbox environment this returns false.
// var isValid = WebhookEvent.ValidateReceivedEvent(apiContext, ToNameValueCollection(requestheaders), requestBody, webhookId);
switch (ev.event_type)
{
case "PAYMENT.CAPTURE.COMPLETED":
// Handle payment completed
break;
case "PAYMENT.CAPTURE.DENIED":
// Handle payment denied
break;
// Handle other webhooks
default:
break;
}
return new HttpStatusCodeResult(200);