Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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
Stripe payments Stripe事件:如何捕获使用Stripe事件和webhook成功支付的产品?_Stripe Payments - Fatal编程技术网

Stripe payments Stripe事件:如何捕获使用Stripe事件和webhook成功支付的产品?

Stripe payments Stripe事件:如何捕获使用Stripe事件和webhook成功支付的产品?,stripe-payments,Stripe Payments,我的网站的用户将使用Stripe的单一支付工作流和结帐会话购买信用卡。他们可以购买单信用卡或信用卡套餐,如折扣价的10信用卡套餐。 成功付款后,我想用webhook捕捉事件,并根据用户支付的产品和数量更新用户余额 我目前正在跟踪payment_intent.Successed事件,我可以看到付款和收费信息,但找不到与订购产品相关的任何信息。我错过了什么?多谢各位 这是我正在捕获的支付意图事件的一个示例: { "amount": 5250, "amount_c

我的网站的用户将使用Stripe的单一支付工作流和结帐会话购买信用卡。他们可以购买单信用卡或信用卡套餐,如折扣价的10信用卡套餐。 成功付款后,我想用webhook捕捉事件,并根据用户支付的产品和数量更新用户余额

我目前正在跟踪payment_intent.Successed事件,我可以看到付款和收费信息,但找不到与订购产品相关的任何信息。我错过了什么?多谢各位

这是我正在捕获的支付意图事件的一个示例:

{
  "amount": 5250,
  "amount_capturable": 0,
  "amount_received": 5250,
  "application": null,
  "application_fee_amount": null,
  "canceled_at": null,
  "cancellation_reason": null,
  "capture_method": "automatic",
  "charges": {
    "data": [
      {
        "amount": 5250,
        "amount_captured": 5250,
        "amount_refunded": 0,
        "application": null,
        "application_fee": null,
        "application_fee_amount": null,
        "balance_transaction": "txn_1HUSonCfZ37XLQD8mLERR2YR",
        "billing_details": {
          "address": {
            "city": null,
            "country": "JP",
            "line1": null,
            "line2": null,
            "postal_code": null,
            "state": null
          },
          "email": "xxxx.xxxx.xxxx@gmail.com",
          "name": "asd",
          "phone": null
        },
        "calculated_statement_descriptor": "XXX XXXX",
        "captured": true,
        "created": 1600847712,
        "currency": "jpy",
        "customer": "cus_I4c27DIUQuvAHQ",
        "description": null,
        "destination": null,
        "dispute": null,
        "disputed": false,
        "failure_code": null,
        "failure_message": null,
        "fraud_details": {},
        "id": "ch_1HUSomCfZ37XLQD8d133buOK",
        "invoice": null,
        "livemode": false,
        "metadata": {},
        "object": "charge",
        "on_behalf_of": null,
        "order": null,
        "outcome": {
          "network_status": "approved_by_network",
          "reason": null,
          "risk_level": "normal",
          "risk_score": 39,
          "seller_message": "Payment complete.",
          "type": "authorized"
        },
        "paid": true,
        "payment_intent": "pi_1HUSoWCfZ37XLQD82vnE1yQT",
        "payment_method": "pm_1HUSolCfZ37XLQD8gSn0oy4x",
        "payment_method_details": {
          "card": {
            "brand": "visa",
            "checks": {
              "address_line1_check": null,
              "address_postal_code_check": null,
              "cvc_check": "pass"
            },
            "country": "US",
            "exp_month": 11,
            "exp_year": 2050,
            "fingerprint": "uaJa23vzDgA7fnSC",
            "funding": "credit",
            "installments": null,
            "last4": "4242",
            "network": "visa",
            "three_d_secure": null,
            "wallet": null
          },
          "type": "card"
        },
        "receipt_email": null,
        "receipt_number": null,
        "receipt_url": "https://pay.stripe.com/receipts/acct_1HU77uCfZ37XLQD8/ch_1HUSomCfZ37XLQD8d133buOK/rcpt_I4c233eGeSYOaN9cPvncC4AcU2Sm4s7",
        "refunded": false,
        "refunds": {},
        "review": null,
        "shipping": null,
        "source": null,
        "source_transfer": null,
        "statement_descriptor": null,
        "statement_descriptor_suffix": null,
        "status": "succeeded",
        "transfer_data": null,
        "transfer_group": null
      }
    ],
    "has_more": false,
    "object": "list",
    "total_count": 1,
    "url": "/v1/charges?payment_intent=pi_1HUSoWCfZ37XLQD82vnE1yQT"
  },
  "client_secret": "pi_1HUSoWCfZ37XLQD82vnE1yQT_secret_XXX",
  "confirmation_method": "automatic",
  "created": 1600847696,
  "currency": "jpy",
  "customer": "cus_I4c27DIUQuvAHQ",
  "description": null,
  "id": "pi_1HUSoWCfZ37XLQD82vnE1yQT",
  "invoice": null,
  "last_payment_error": null,
  "livemode": false,
  "metadata": {},
  "next_action": null,
  "object": "payment_intent",
  "on_behalf_of": null,
  "payment_method": "pm_1HUSolCfZ37XLQD8gSn0oy4x",
  "payment_method_options": {
    "card": {
      "installments": null,
      "network": null,
      "request_three_d_secure": "automatic"
    }
  },
  "payment_method_types": [
    "card"
  ],
  "receipt_email": null,
  "review": null,
  "setup_future_usage": null,
  "shipping": null,
  "source": null,
  "statement_descriptor": null,
  "statement_descriptor_suffix": null,
  "status": "succeeded",
  "transfer_data": null,
  "transfer_group": null
}
从我可以看到,在“确认付款成功>网络挂钩”下,您应该列出checkout.session.completed和not payment\u intent.successed,因为checkout.session.completed页面上显示了有关您的客户及其付款的详细信息

尝试使用该事件,如果它不起作用,请发布此事件的请求正文

,我可以在“确认付款成功”下查看>您应该列出的Webhook以checkout.session.completed and not payment\u intent.successed,因为checkout.session.completed正如该页面所述,包含有关客户及其付款的详细信息


尝试使用该事件,如果它不起作用,请发布此事件的请求正文

假设您已将产品详细信息放在您创建的签出会话的行项目中,那么您需要的是如何完成订单,您可以通过收听事件来完成

当您收到一个事件时,该事件将是一个id为的签出会话,然后您可以指定并能够检查会话的


更新:我修改了上述内容,以反映默认情况下不包括第_行项目。您必须检索会话并将其包含在扩展中。

假设您已将产品详细信息放在您创建的签出会话的行项目中,那么您需要的是如何完成订单,您可以通过侦听事件来完成

当您收到一个事件时,该事件将是一个id为的签出会话,然后您可以指定并能够检查会话的


更新:我修改了上述内容,以反映默认情况下不包括第_行项目。您必须检索会话并将其包含在扩展中。

付款发生在您的网站或stripe提供的预配置页面上?@Berto99我使用的是stripe签出会话付款发生在您的网站或stripe提供的预配置页面上?@Berto99我使用的是stripe签出会话如果您检查了我在问题中发布的有效载荷,客户和付款信息在那里,但不是关于产品的paid@Veilkrand是的,但我想查看checkout.session.completed的有效负载我无法将有效负载粘贴到注释中,因为它太长了。它只是包含了一个付款意图,就像在问题中发布的那样,所以如果你检查我在问题中发布的有效负载,客户和付款信息就在那里,但不是关于产品的paid@Veilkrand是的,但我想查看checkout.session.completed的有效负载我无法将有效负载粘贴到注释中,因为它太长了。它只是包含了一个付款意图,如在问题中发布的“我在传递行项目中的价格id以参考产品和价格”。这些项目都不包括在checkout.session.completed或payment\u intent.successed事件的数据中。默认情况下,行\u项目不会附加,必须在检索过程中使用expand请求它们,以便它们不在事件数据中。我更新了上面的答案。我正在传递行项目中的price\u id以参考产品和价格。这些项目都不包括在checkout.session.completed或payment\u intent.successed事件的数据中。默认情况下,行\u项目不会附加,必须在检索过程中使用expand请求它们,以便它们不在事件数据中。我更新了上面的答案。