如何从条带响应中获取subscriptoin信息

时间:2015-12-02 02:50:53

标签: stripe-payments

我使用以下代码行来获取客户信息。

$customer = Stripe_Customer::retrieve($customer->id);

我正确地从条纹获得响应。这是我print_r($ customer-> subscriptions);

的回复
Stripe_List Object
(
    [_apiKey:protected] => sk_test_LteiEDqVirhMuUt3IzzxUHkU
    [_values:protected] => Array
        (
            [object] => list
            [data] => Array
                (
                    [0] => Stripe_Subscription Object
                        (
                            [_apiKey:protected] => sk_test_LteiEDqVirhMuUt3IzzxUHkU
                            [_values:protected] => Array
                                (
                                    [id] => sub_7SLD31Rqg3Qi5Z

我的问题是如何获得订阅ID(这里是sub_7SLD31Rqg3Qi5Z)。我试图通过$ customer->订阅['数据'] [' id']来获取它,但没有运气。

任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:0)

for($i = 0; $i < $customer->subscriptions->total_count; $i++) { $subscription = $customer->subscriptions->data[$i]; echo $subscription->id; } 是一个列表,因此您需要通过索引访问它。这是因为客户可以拥有多个订阅。

以下是您如何检索每个订阅的ID:

echo

一些不相关的说明:

  • 您应该使用print_r()代替echo来输出Stripe对象。 print_r()将显示格式正确的JSON表示。

  • 由于您使用了sk_test_...,因此您的问题包含您的秘密API密钥。即使它只是“测试密钥”,也不应该泄露秘密的API密钥。你应该编辑你的问题来掩盖API密钥(用$('#chartdiv').bind("jqplotClick", function(ev, seriesIndex, pointIndex, data, plot) { console.log('Plot Index: '+data.data[0]); console.log('Plot Value: '+data.data[1]); console.log('Plot Label: '+plot.series[data.seriesIndex].label); }); 之类的东西替换它),然后前往你的dashboard推出一个新的秘密测试密钥(通过点击小的“回收”图标在钥匙旁边。