php - 客户和订阅之间的连接: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 中,文档中没有关于它的详细信息。
解决方案
全面披露:我在布伦特里工作。如果您还有其他问题,请随时联系 支持人员。
只是为了确保我理解您正在寻找的结果:您当前正在尝试检索与活动订阅相关的所有客户记录,对吗?
如果是这样,您可以通过执行以下操作来实现:
遍历您从搜索结果中收到的活动订阅的集合。
为每个订阅关联的支付方式令牌解析每个订阅对象。
另外,运行paymentMethod.find()调用来检索支付方式的对象。
付款方式对象将包含客户 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 支持,我们可以为您提供进一步的帮助。
推荐阅读
- python - 从时间序列数据中删除非工作时间
- dart - VS Code 不继续输入 (Dart)
- tcl - 如何通过 Tcl 解释器获取触发的 procs\commands 列表
- machine-learning - 随机森林是线性还是非线性回归模型
- angular - Apollo - Angular 应用程序中子组件的多个 graphql 订阅
- node.js - How to upload file from the back-end to another back-end?
- r - 创建列表,它是 R 中两个命名列表的组合
- linux - logrotate 是如何工作的
- android - Android API 31(版本 12)只有 64 位版本?
- audio - 什么是 BinaryIO?