首页 > 解决方案 > 订阅后条带收费,从订阅中获取元数据

问题描述

当我创建订阅时,我设置了一些元数据来识别我在数据库中的订单。当我收到 webhookcharge.succeeded时,订阅的元数据不会在此事件中传递,我无法识别与此付款相关的订单。如何在与订阅相关的每个 webhook 上发送元数据。

标签: pythondjangostripe-payments

解决方案


订阅的元数据存在于 Subscription 而不是 Charge 对象上。费用与本身与订阅(如果有)相关联的特定发票(如果有)相关联。

根本不可能在订阅上设置元数据以将其移植到相应的费用中。

相反,您将使用API来检索 Charge 并使用Expand功能一次性获取关联的发票和订阅。

在 PHP 中,它看起来像这样:

$charge = \Stripe\Charge::retrieve(
  array(
    "id" => "ch_1CP95G2eZvKYlo2C4pcS2pxm",
    "expand" => array("invoice.subscription")
  )
);

然后,您可以直接在代码中访问订阅的元数据。


推荐阅读