如何在bluesnap中发送网址以删除订阅?

时间:2015-10-08 12:14:27

标签: php curl payment-gateway bluesnap

我是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获得另一种解决方案?

谢谢

2 个答案:

答案 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