Paypal REST SDK - 计费计划在激活后不再可检索

Posted

技术标签:

【中文标题】Paypal REST SDK - 计费计划在激活后不再可检索【英文标题】:Paypal REST SDK - Billing Plans no longer retrievable after being made ACTIVE 【发布时间】:2015-04-15 22:51:01 【问题描述】:

所以我在 Github 上使用 Paypal php SDK,http://paypal.github.io/PayPal-PHP-SDK/。我注意到一些奇怪的行为,我不确定发生了什么。

假设我创建了一个计费计划,但创建后不要触摸它,因此状态是简单的已创建。一切都很好,我可以从计划列表中检索它。但是,当我通过补丁将状态更改为 ACTIVE 时,我可以看到它实际上是活动的,但只有一次。任何后续查看计划列表的尝试都不再显示该计划。这是怎么回事?我实际上是在复制粘贴他们提供的示例源代码。

编辑 - 只是为了扩展,我知道该计划仍然存在,因为我可以订阅用户。奇怪的是,您单击确定订阅的贝宝页面非常不冗长......甚至没有说价格是多少,只是为了批准支付我的商店。然而,由 PayPal 返回的协议对象(包括批准 url)包含所有这些信息。很奇怪。

【问题讨论】:

【参考方案1】:

如果您使用的是 PayPal-PHP-SDK,您可以为 Plan::all() 方法分配更多参数。

如List Plan sample code 所示,您可以将参数“status”传递为:

try 
    // Get the list of all plans
    // You can modify different params to change the return list.
    // The explanation about each pagination information could be found here
    // at https://developer.paypal.com/webapps/developer/docs/api/#list-plans
    $params = array('page_size' => '20', 'page' => '98', 'status' => 'ACTIVE');
    $planList = Plan::all($params, $apiContext);
 catch (Exception $ex) 
    ResultPrinter::printError("List of Plans", "Plan", null, $params, $ex);
    exit(1);

在这种情况下,您可以更改 statuspage 以及 page_size。这将帮助您获得计划的活动列表。

实际上,默认情况下list planstatus默认为CREATED

【讨论】:

以上是关于Paypal REST SDK - 计费计划在激活后不再可检索的主要内容,如果未能解决你的问题,请参考以下文章

PayPal REST API 计费计划和协议(订阅)

创建计费计划时 PayPal Rest 设置 notfyURL

Paypal Rest api:计费计划,paypal_definitions 的“周期”含义

Paypal REST API - 计费协议

PayPal REST API - 计费计划和协议以及增值税

PayPal rest api,PHP SDK,计费,我收到错误 REQUIRED_SCOPE_MISSING