您好,我正在尝试按照条带指南进行集成订阅服务,这是下面的代码
// Set your secret key. Remember to switch to your live secret key in production!
// See your keys here: https://dashboard.stripe.com/account/apikeys
\Stripe\Stripe::setApiKey('sk_test_51**********');
$app->post('/stripe-webhook', function(Request $request, Response $response) {
$logger = $this->get('logger');
$event = $request->getParsedBody();
$stripe = $this->stripe;
// Parse the message body (and check the signature if possible)
我只是想知道是否有人知道// Parse the message body (and check the signature if possible)
的实际含义。
答案 0 :(得分:1)
如果您在本部分的[1]中扩展该指南的其他68行,您将看到一些示例代码,这些示例代码将POST请求的正文并将其传递给函数constructEvent()
,从而有效地解析了将JSON输入到您可以在代码中使用的事件中。
签名检查是可选的,但是建议使用的方法来确保传入消息实际上是由Stripe [2]发送的。它通过将webhook机密(您可以在仪表板设置中启用/查找webhooks的机密)以及作为标头发送的签名传递给构造事件函数来工作。如果发送的和计算的(在constructEvent()
签名内完成不匹配,则会引发异常。
[1] https://stripe.com/docs/billing/subscriptions/fixed-price#webhooks