如何将 Paypal 计费计划从 ACTIVE 状态更改为 CREATED 状态?
Posted
技术标签:
【中文标题】如何将 Paypal 计费计划从 ACTIVE 状态更改为 CREATED 状态?【英文标题】:How to change Paypal Billing Plans to CREATED state from ACTIVE state? 【发布时间】:2015-06-22 13:43:22 【问题描述】:我已经制定了 3 个单独的计费计划并将它们更新为 ACTIVE 状态。目前还没有任何与之相关的协议。
我希望能够在计划的详细信息切换到 ACTIVE 状态后对其进行编辑。
所以,当我尝试更新计划时,它给了我一个错误提示:
"name":"BUSINESS_VALIDATION_ERROR","details":["field":"validation_error","issue":"Requested state change is invalid."]
所以,我尝试再次将状态转换为 CREATED,以便编辑详细信息。这是我试过的代码sn-p:
try
$statePatch = new PayPal\Api\Patch();
$statePatch->setOp('replace')
->setPath('/')
->setValue(array('state' => 'CREATED'));
$statePatchRequest = new \PayPal\Api\PatchRequest();
$statePatchRequest->addPatch($statePatch);
$plan->update($statePatchRequest, $apiContext);
$updatedPlan = \PayPal\Api\Plan::get($plan->getId(), $apiContext);
catch (Exception $ex)
var_dump($ex);
exit(1);
但这仍然不起作用。 API 再次给出了类似的错误。
private 'url' => string 'https://api.sandbox.paypal.com/v1/payments/billing-plans/P-6DK979342A210870GWHVJFGY' (length=83)
private 'data' => string '"name":"BUSINESS_VALIDATION_ERROR","details":["field":"validation_error","issue":"Requested state change is invalid."],"message":"Validation Error.","information_link":"https://developer.paypal.com/webapps/developer/docs/api/#BUSINESS_VALIDATION_ERROR","debug_id":"5cf8ac1da4fa8"' (length=283)
protected 'message' => string 'Got Http response code 400 when accessing https://api.sandbox.paypal.com/v1/payments/billing-plans/P-6DK979342A210870GWHVJFGY.' (length=126)
private 'string' (Exception) => string '' (length=0)
protected 'code' => int 400
protected 'file' => string '/var/www/public/application/third_party/PayPal-php-SDK/paypal/rest-api-sdk-php/lib/PayPal/Core/PayPalHttpConnection.php' (length=119)
protected 'line' => int 177
我在任何地方都找不到有关如何执行此操作的任何参考。有没有可能?
【问题讨论】:
【参考方案1】:您可能想直接关注PayPal REST API SDK 中提供的samples。
http://paypal.github.io/PayPal-PHP-SDK/sample/doc/billing/UpdatePlan.html
从外观上看,您需要“状态”为 ACTIVE,而不是 CREATED
【讨论】:
Patel:我想你误解了我的问题...我试图编辑计划描述,而它已经处于 ACTIVE 状态。我做不到。这就是为什么,我试着把它放回 CREATED 状态,以为我可以编辑它。有没有办法编辑计划详情? 哦!现在我懂了。不幸的是,一旦计划被激活,它就不能被编辑,因为它可能会影响已经签署的协议的改变。但是,API 团队已经意识到了这个问题,并正在尝试看看我们是否可以更新计划中要编辑的几个组件。 这就是我耳边的音乐。 :) 如果我们可以编辑描述和金额,那就太好了。但是,就目前而言,如果我们决定以后停止某个计划,或者创建一个新的计划来增加金额,那么我们应该如何管理计费协议(并找到其相关的计划数据)?此外,这带来了另一个问题,如果要替换旧计划,我们如何将用户迁移到新计划?以上是关于如何将 Paypal 计费计划从 ACTIVE 状态更改为 CREATED 状态?的主要内容,如果未能解决你的问题,请参考以下文章
Paypal Rest api:计费计划,paypal_definitions 的“周期”含义
Paypal REST SDK - 计费计划在激活后不再可检索