繁体   English   中英

客户与订阅之间的连接:Braintree API PHP

[英]Connection between Customer and Subscription:Braintree API PHP

我正在努力使我们的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--;
    }
}

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

全面披露:我在Braintree工作。 如果您还有其他疑问,请随时与支持小组联系。

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

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

  1. 遍历从搜索结果中收到的有效订阅的集合。

  2. 解析每个订阅对象以获取与每个订阅关联的付款方式令牌。

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

  4. 付款方式对象将包含客户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支持,我们可以为您提供进一步的帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM