【问题标题】:How to read the stripe webhook response [duplicate]如何阅读条纹 webhook 响应 [重复]
【发布时间】:2014-05-15 00:41:34
【问题描述】:

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

<cfsavecontent variable="headerdump">
    <cfdump var="#toString(getHttpRequestData().content, 'utf-8')#" expand="yes" format="text">
</cfsavecontent>

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

<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> 

请建议如何在 Coldfusion 或 javascript 中阅读此内容。

谢谢

【问题讨论】:

  • @Peter:我已经尝试过,但出现错误“字符 1 处的 JSON 解析失败:' 标记,但下一个字符再次出现相同的错误。
  • 向我们展示您用来尝试从字符串中提取 JSON 的代码
  • 不要使用&lt;cfdump&gt; 来生成内容。它很可能会将不需要的内容添加到您的变量中。只需在&lt;cfsavecontent&gt; 标签中使用#toString(getHttpRequestData().content, 'utf-8')#,看看效果是否更好。
  • 除了 Miguel 强调的 cfdump 问题(这里不需要 cfdump 和 cfsavecontent),这个问题与链接的问题基本相同(如果有任何显着差异,请使用合适的编辑问题详细信息,可以重新打开)。

标签: javascript jquery json coldfusion stripe-payments


【解决方案1】:

我会这样做:

<cfscript>
  variables.requestdata = getHTTPRequestData();
  variables.sStripeData = toString(variables.requestdata.content);
  variables.stStripeData  = deserializeJSON(variables.sStripeData);
</cfscript>

【讨论】:

    猜你喜欢
    • 2016-03-07
    • 1970-01-01
    • 2016-05-15
    • 1970-01-01
    • 2016-09-12
    • 1970-01-01
    • 2016-12-25
    • 2021-05-06
    • 1970-01-01
    相关资源
    最近更新 更多