为什么我会像这样获得客户ID和发票ID cus_0000000000000和in_0000000000000?在条纹webhook响应中。我正在检查我的帐户中的事件和响应,我得到了200的响应,但是却获得了客户ID和发票ID,为什么?我正在检查发送测试webhook事件,我得到了这样的响应。
public function actionStripeHook() { if (Yii::app()->request->isPostRequest) { try { $postdata = file_get_contents("php://input"); $event = json_decode($postdata); switch ($event->type) { case 'invoice.payment_succeeded': Yii::log('', 'trace', 'stripe'); Yii::log('==================================', 'trace', 'stripe'); Yii::log('==== Event (' . $event->type . ') ====', 'trace', 'stripe'); Yii::log('==================================', 'trace', 'stripe'); $customer_id = $event->data->object->customer; $customer = Stripe_Customer::retrieve($customer_id); $invoice = Stripe_Invoice::retrieve($event->data->object->id);
}
我的代码有什么问题,这是我在条纹Webhook端点中的操作,我收到了事件类型invoice.payment_succeeeeeed该事件来自这种情况,但是在我的Response.s中无法正确获取客户ID和发票ID。为什么?
您的代码没有任何问题-“发送测试Webhook”按钮发送格式正确的JSON事件,但所有资源ID均为xxx_000000000
。
“发送测试Webhook”按钮对于测试Stripe和您的Webhook处理程序之间的连通性最有用。如果要测试实际功能,则应“有机地”生成事件,即通过发送将触发所需事件的请求来生成事件。
例如,要生成invoice.payment_succeeded
事件,您应该:
用有效卡创建客户(例如4242424242424242)
为此客户创建订阅
创建订阅后,将创建发票并立即尝试付款。如果付款成功,则将invoice.payment_succeeded
发出一个事件(带有有效的ID)。