从Stripe不正确的层次结构中的invoice.payment_failed Webhook获取订阅ID

时间:2018-07-19 23:15:59

标签: php stripe-payments

这里的层次结构是什么?

看起来很像

$ event-> data-> object-> lines-> data-> subscription

我已经尝试过了,但是我没有ID。实际上,这很令人困惑。

这是回应,为什么我假设层次结构是

$event->data->object->lines->data->subscription

我想过我是否会说

$ subID = $ event-> data-> object-> lines-> data-> subscription;

然后

$ subID应该=“ sub_randcomSUB”

{ "object": { "id": "in_randomnumbers", "object": "invoice", "amount_due": 20000, "amount_paid": 0, "amount_remaining": 20000, "application_fee": null, "attempt_count": 1, "attempted": true, "auto_advance": true, "billing": "charge_automatically", "billing_reason": "manual", "charge": "ch_randomnumbers", "closed": false, "currency": "usd", "customer": "cus_randomnumbers", "date": 1532039357, "description": null, "discount": null, "due_date": null, "ending_balance": 0, "forgiven": false, "hosted_invoice_url": "https://pay.stripe.com/invoice/invst_randomnumbers", "invoice_pdf": "https://pay.stripe.com/invoice/invst_randomcnumbers/pdf", "lines": { "object": "list", "data": [ { "id": "ii_randomnumbn", "object": "line_item", "amount": 20000, "currency": "usd", "description": "SSS", "discountable": true, "invoice_item": "ii_random", "livemode": false, "metadata": { }, "period": { "end": 1532039351, "start": 1532039351 }, "plan": null, "proration": false, "quantity": 1, "subscription": "sub_randcomSUB", "type": "invoiceitem" } ], "has_more": false, "total_count": 1, "url": "/v1/invoices/in_randcom/lines" }, "livemode": false, "metadata": { }, "next_payment_attempt": 1532298568, "number": "5186095-0004", "paid": false, "period_end": 1534715394, "period_start": 1532036994, "receipt_number": null, "starting_balance": 0, "statement_descriptor": null, "subscription": null, "subtotal": 20000, "tax": null, "tax_percent": null, "total": 20000, "webhooks_delivered_at": 1532039363 }, "previous_attributes": null }

1 个答案:

答案 0 :(得分:1)

$event->data->object->lines->data是一个数组。您需要获取数组的第一个元素,例如$event->data->object->lines->data[0],然后订阅,例如$event->data->object->lines->data[0]->subscription