【发布时间】: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
我在任何地方都找不到有关如何执行此操作的任何参考。有没有可能?
【问题讨论】:
标签: php paypal billing paypal-rest-sdk