首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >recurly中的订阅API

recurly中的订阅API
EN

Stack Overflow用户
提问于 2017-11-15 14:22:11
回答 3查看 444关注 0票数 0

我正在尝试使用PHP.Below中的recurly.js接口获取订阅数据,代码如下:

代码语言:javascript
复制
require_once('lib/recurly.php');
Recurly_Client::$subdomain = 'https://subdomain.recurly.com/v2/subscriptions';
Recurly_Client::$apiKey = 'privatekey';
$subscriptions = Recurly_SubscriptionList::getActive();
print_r($subscriptions);
foreach ($subscriptions as $subscription) {
   print_r($subscription);
}

$subscriptions正在打印以下内容:

代码语言:javascript
复制
Recurly_SubscriptionList Object(
  [_position:Recurly_Pager:private] => 0
  [_objects:protected] => 
  [_href:protected] => /subscriptions?state=active
  [_type:protected] => 
  [_client:protected] => Recurly_Client Object
    (
        [_apiKey:Recurly_Client:private] => 
        [_acceptLanguage:Recurly_Client:private] => en-US
    )

  [_links:protected] => Array
    (
    )
)

当$subscription打印nothing.What时,错误的结果不是订阅列表。

EN

回答 3

Stack Overflow用户

发布于 2017-11-15 14:30:58

由于print_r(gettype($subscription));是一个对象,因此不能将其视为数组。为了获得数组形式的对象属性,可以使用内置函数get_obj_vars

您可以遵循以下代码:

代码语言:javascript
复制
require_once('lib/recurly.php');
Recurly_Client::$subdomain = 'https://subdomain.recurly.com/v2/subscriptions';
Recurly_Client::$apiKey = 'privatekey';
$subscriptions = Recurly_SubscriptionList::getActive();
foreach(get_obj_vars($subscription) as $key => $value) {
    echo $key . ' => ' . $value;
}

这基本上会在对象$subscriptions.中创建一个包含所有公共成员的数组但是,由于print_r($subscriptions);的输出只包含私有和受保护的成员,它实际上会返回一个空数组。

票数 1
EN

Stack Overflow用户

发布于 2017-12-12 02:05:46

订阅数组可以通过使用预格式化标签以可读的格式打印,如下所示。此外,请注意,您的子域是如何在代码中输入的更正。

代码语言:javascript
复制
<?php
require_once('lib/recurly.php');
Recurly_Client::$subdomain = '<mySubdomain>';  //Only enter the Recurly subdomain name here, not URL
Recurly_Client::$apiKey = 'privatekey';
$subscriptions = Recurly_SubscriptionList::getActive();
print_r($subscriptions);

foreach ($subscriptions as $subscription) {
    
    //print_r($subscription);

    echo '<pre>';
    print_r (array($subscription));
    echo '</pre>';
    }
?>

票数 0
EN

Stack Overflow用户

发布于 2018-04-21 20:00:12

目前,您已经编写了导致该问题的子域的完整URL。所以只需替换这一行

代码语言:javascript
复制
Recurly_Client::$subdomain = 'https://subdomain.recurly.com/v2/subscriptions';

使用

代码语言:javascript
复制
Recurly_Client::$subdomain = 'your-subdomain-name'; // i.e devapp,myapp..etc

你不需要写整个子域地址,你只需要传递你的子域名,这可以在configuration ->站点设置中找到(只需要子域名的名称)。

无论您的子域在注册时的名称是什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47300678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档