我是php开发人员,我将我的网站与bluesnap集成。我想允许用户删除他们的订阅。 Bt我无法从curl传递url,bt“HTTP / 1.1 403 Forbidden .....”arrise?
这是代码
$xmlToSend = ' < subscription xmlns="http://ws.plimus.com" >< /subscription ' > ';
$url = 'https://ws.bluesnap.com/services/2/subscriptions/'.$subs_id;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/xml'));
curl_setopt($ch, CURLOPT_USERPWD, $credentials);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlToSend);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
$result = curl_exec($ch);
$info = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
curl_close($ch);
如何解决这个问题?我可以通过其他方式做到这一点,或者如何使用curl lib获得另一种解决方案?
谢谢
答案 0 :(得分:0)
$ xmlToSend =
<subscription xmlns="http://ws.plimus.com">
<subscription-id>' . $subscription_id . '</subscription-id>
<status>C</status>
<underlying-sku-id>' . $skuId . '</underlying-sku-id>
<shopper-id>' . $shopper_id . '</shopper-id>
</subscription>
;
我用这个xml格式取消订阅
$ url ='https://ws.bluesnap.com/services/2/subscriptions/'。$ subs_id;
你需要修改xml而不是链接,链接是否正确。
请查看链接here
答案 1 :(得分:0)
Http错误403 错误通常表示 - 您没有启用/需要访问服务的访问角色或IP地址 - 您需要联系以支持为订阅授予相关角色正在编码。我看到你正在调用订阅 - 你需要为该调用启用适当的角色;如果您希望cancel the subscription
,也可以考虑调用取消订阅API