0

私は PHP 開発者で、自分のサイトを bluesnap と統合しています。ユーザーがサブスクリプションを削除できるようにしたい。bt curl から URL を渡すことができません。bt "HTTP/1.1 403 Forbidden....." が発生しますか?

ここにコードがあります

$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を使用せずに別のソリューションを取得する方法はありますか?

ありがとう

4

2 に答える 2

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を変更する必要があります。リンクは正しいです。こちらのリンクをご確認ください

于 2015-11-24T11:57:58.567 に答える
0

HTTP エラー 403エラーは通常、サービスへのアクセスに必要なアクセス ロールまたは IP アドレスが有効になっていないことを意味します。サポートに連絡して、コーディングしているサブスクリプションに関連するロールを付与する必要があります。サブスクリプションを呼び出しているようです。その呼び出しに対して適切なロールを有効にする必要があります。また、サブスクリプションをキャンセルしたい場合は、キャンセル サブスクリプション API の呼び出しを検討することをお勧めします。

于 2016-05-18T19:30:55.517 に答える