【问题标题】:Connection between Customer and Subscription:Braintree API PHP客户和订阅之间的连接:Braintree API PHP
【发布时间】:2018-09-26 23:02:31
【问题描述】:

我正在努力让 Braintree 帐户中的所有活跃成员。我可以列出所有客户,但我不知道如何列出活跃客户。

在 Braintree 仪表板中,我可以通过转到订阅并过滤所有活动订阅然后单击订阅 ID 轻松查看它。从那里我可以看到哪个客户拥有该订阅 ID。

然后我尝试先获取所有有效订阅,但我也找不到与任何客户的任何联系。

我正在使用 PHP SDK。

这是我获得有效订阅的方式。

我的图书馆中的订阅代码:

function active_subscriptions(){
    return Braintree_Configuration::gateway()->subscription()->search([
        Braintree_SubscriptionSearch::status()->in([Braintree_Subscription::ACTIVE])
      ]);
}

这是控制器:

function active_subscriptions(){
    $active_subscriptions = $this->braintree_lib->active_subscriptions();
    $counter = 5;
    foreach($active_subscriptions as $subscription) {
        if($counter == 0){
            die();
        }
        echo 'Subscription ID: '.$subscription->id.'<br />';
        echo 'merchantAccountId: '.$subscription->merchantAccountId.'<br />';
        echo 'planId: '.$subscription->planId.'<br /><br />';

        $counter--;
    }
}

我找到了this,但它在 Ruby on Rails 中,文档中没有关于它的详细信息。

【问题讨论】:

标签: php api codeigniter sdk braintree


【解决方案1】:

全面披露:我在 Braintree 工作。如果您还有其他问题,请随时联系 support.

只是为了确保我理解您正在寻找的结果:您当前正在尝试检索与有效订阅相关的所有客户记录,对吗?

如果是这样,您可以通过执行以下操作来实现:

  1. 遍历您从search 结果中收到的活动订阅集合。

  2. 解析每个subscription object 以获得与每个订阅关联的付款方式令牌。

  3. 另外,运行paymentMethod.find() 调用以检索付款方式的对象。

  4. 付款方式对象将包含customer ID。

执行上述步骤后,您可以根据结果创建一个列表,其中将包含所有具有有效订阅的客户。

这是一个如何实现此目标的基本示例:

$collection = $gateway->subscription()->search([
  Braintree_SubscriptionSearch::status()->in(
    [Braintree_Subscription::ACTIVE]
    )
]);

foreach($collection as $subscription) {
    $token = $subscription->paymentMethodToken;
    $paymentMethod = $gateway->paymentMethod()->find($token);
    $customer = $paymentMethod->customerId;
    echo $customer . "\n";
}

如果这不是您想要的,或者如果您有任何其他问题,您可以直接联系 Braintree 支持,我们可以为您提供进一步的帮助。

【讨论】:

  • 嗨@bbusby,这可行,但需要很多时间。我的程序出现错误:Maximum execution time of 120 seconds exceeded。有更快的方法吗?
  • 你好@jeepers_creepers。根据您尝试提取的记录数量以及与每个订阅、付款方式和客户相关的记录数量,此搜索有时可能需要一些时间才能完成。如果您需要更多帮助,我建议您发送电子邮件至 Braintree 支持,并附上您的商家 ID 以及您的搜索尝试。这将使我们能够审查您的特定网关并根据您的特定搜索提供任何建议。
猜你喜欢
  • 2013-04-01
  • 2015-10-25
  • 2015-04-27
  • 2018-08-10
  • 2018-01-09
  • 2023-04-02
  • 2019-03-01
  • 2019-10-01
  • 2021-12-19
相关资源
最近更新 更多