我試圖通過來自Stripe Payments的發佈請求接收webhook。 Java方法來處理它看起來是這樣的:如何從Java中的Stripe接收Webhook
@ResponseBody
@RequestMapping( consumes="application/json",
produces="application/json",
method=RequestMethod.POST,
value="stripeWebhookEndpoint")
public String stripeWebhookEndpoint(Event event){
logger.info("\n\n" + event.toString());
logger.info("\n\n" + event.getId());
return null;
}
但條紋事件總是與所有空值回來:
<[email protected] id=null> JSON: {
"id": null,
"type": null,
"user_id": null,
"livemode": null,
"created": null,
"data": null,
"pending_webhooks": null
}
如果該方法接收一個字符串,而是和使用@RequestBody :
@ResponseBody
@RequestMapping( consumes="application/json",
produces="application/json",
method=RequestMethod.POST,
value="stripeWebhookEndpoint")
public String stripeWebhookEndpoint(@RequestBody String json){
logger.info(json);
return null;
}
在這裏,它打印沒有空值的json。這裏是正在打印請求的一部分:
{
"created": 1326853478,
"livemode": false,
"id": "evt_00000000000000",
"type": "charge.succeeded",
"object": "event",
"request": null,
"data": {
"object": {
"id": "ch_00000000000000",
"object": "charge",
"created": 1389985862,
"livemode": false,
"paid": true,
"amount": 2995,
"currency": "usd",
...
}
但使用@RequestBody與條紋事件參數給出400:語法錯誤。
那麼,爲什麼我不能採取正確的類型,一個條紋事件,作爲參數?
感謝您的問題,但它可能從條紋命中'localhost'網址? –