Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何阅读stripe webhook响应_Javascript_Jquery_Json_Coldfusion_Stripe Payments - Fatal编程技术网

Javascript 如何阅读stripe webhook响应

Javascript 如何阅读stripe webhook响应,javascript,jquery,json,coldfusion,stripe-payments,Javascript,Jquery,Json,Coldfusion,Stripe Payments,我创建了coldfusion文件来捕获STRIPE webhook响应 <cfsavecontent variable="headerdump"> <cfdump var="#toString(getHttpRequestData().content, 'utf-8')#" expand="yes" format="text"> </cfsavecontent> <pre>{ "id": "evt_1041EO45YXiN2y2zPh

我创建了coldfusion文件来捕获STRIPE webhook响应

<cfsavecontent variable="headerdump">
    <cfdump var="#toString(getHttpRequestData().content, 'utf-8')#" expand="yes" format="text">
</cfsavecontent>
<pre>{
  "id": "evt_1041EO45YXiN2y2zPhZbNrgh",
  "created": 1399872268,
  "livemode": false,
  "type": "invoice.payment_succeeded",
  "data": {
    "object": {
      "date": 1399872268,
      "id": "in_1041EO45YXiN2y2zQF1xhLyl",
      "period_start": 1399872268,
      "period_end": 1399872268,
      "lines": {
        "object": "list",
        "total_count": 1,
        "has_more": false,
        "url": "/v1/invoices/in_1041EO45YXiN2y2zQF1xhLyl/lines",
        "data": [
          {
            "id": "sub_41EOmzNFelCyAL",
            "object": "line_item",
            "type": "subscription",
            "livemode": false,
            "amount": 0,
            "currency": "usd",
            "proration": false,
            "period": {
              "start": 1399872268,
              "end": 1399958668
            },
            "quantity": 1,
            "plan": {
              "interval": "month",
              "name": "test one day",
              "created": 1399536505,
              "amount": 500,
              "currency": "usd",
              "id": "test_001",
              "object": "plan",
              "livemode": false,
              "interval_count": 1,
              "trial_period_days": 1,
              "metadata": {
              },
              "statement_description": "half day trial"
            },
            "description": null,
            "metadata": null
          }
        ]
      },
      "subtotal": 0,
      "total": 0,
      "customer": "cus_41EOvhzjYGx7ci",
      "object": "invoice",
      "attempted": true,
      "closed": true,
      "paid": true,
      "livemode": false,
      "attempt_count": 0,
      "amount_due": 0,
      "currency": "usd",
      "starting_balance": 0,
      "ending_balance": null,
      "next_payment_attempt": null,
      "charge": null,
      "discount": null,
      "application_fee": null,
      "subscription": "sub_41EOmzNFelCyAL",
      "metadata": {
      },
      "description": null
    }
  },
  "object": "event",
  "pending_webhooks": 1,
  "request": "iar_41EO1vDF1gpnPn"
}</pre> 

当我打印headerdump时,得到了下面的响应。我想提取输出文本的节点值

{
“id”:“evt_1041EO45YXiN2y2zPhZbNrgh”,
“已创建”:1399872268,
“livemode”:错误,
“类型”:“发票.付款成功”,
“数据”:{
“对象”:{
“日期”:1399872268,
“id”:“in_1041EO45YXiN2y2zQF1xhLyl”,
“周期开始”:1399872268,
“期间结束”:1399872268,
“行”:{
“对象”:“列表”,
“总计数”:1,
“has_more”:错,
“url”:“/v1/invoices/in_1041EO45YXiN2y2zQF1xhLyl/行”,
“数据”:[
{
“id”:“sub)Eomznfelcyal”,
“对象”:“行项目”,
“类型”:“订阅”,
“livemode”:错误,
“金额”:0,
“货币”:“美元”,
“按比例分配”:错误,
“期间”:{
“开始”:1399872268,
“结束”:1399958668
},
“数量”:1,
“计划”:{
“间隔”:“月”,
“名称”:“测试一天”,
“已创建”:1399536505,
“金额”:500,
“货币”:“美元”,
“id”:“测试001”,
“对象”:“计划”,
“livemode”:错误,
“间隔计数”:1,
“试用期”为:1,
“元数据”:{
},
“声明描述”:“半天试用”
},
“描述”:空,
“元数据”:空
}
]
},
“小计”:0,
“总计”:0,
“客户”:“客户”,
“对象”:“发票”,
“尝试”:正确,
“封闭”:正确,
“付费”:正确,
“livemode”:错误,
“尝试计数”:0,
“到期金额”:0,
“货币”:“美元”,
“起始余额”:0,
“期末余额”:空,
“下一次付款尝试”:空,
“费用”:无效,
“折扣”:空,
“申请费”:空,
“订阅”:“sub)Eomznfelcyal”,
“元数据”:{
},
“说明”:空
}
},
“对象”:“事件”,
“挂起的webhooks”:1,
“请求”:“iar_41EO1vDF1gpnPn”
} 
请建议如何在coldfusion或javascript中阅读此内容


谢谢

我会这样做:


variables.requestdata=getHTTPRequestData();
variables.sStripeData=toString(variables.requestdata.content);
variables.stStripeData=反序列化JSON(variables.sStripeData);

@Peter:我尝试了,但出现了错误“字符1处的JSON解析失败:'向我们显示您用于尝试从字符串中提取JSON的代码。不要使用
生成内容。它很可能会将不需要的内容添加到变量中。只需使用
#toString(getHttpRequestData().content,'utf-8')#
标签中,查看是否效果更好。除了Miguel强调的cfdump问题(此处不需要cfdump或cfsavecontent),这个问题与链接的问题基本相同(如果有任何显著差异,请使用适当的详细信息编辑问题,然后可以重新打开)。
<cfscript>
  variables.requestdata = getHTTPRequestData();
  variables.sStripeData = toString(variables.requestdata.content);
  variables.stStripeData  = deserializeJSON(variables.sStripeData);
</cfscript>