私は本当にこれを自分でやりたかったのですが、Paypal のサービス、API、およびアドオン サービスに関するドキュメントをほぼ 1 週間読んだ後、やめました。私は助けが必要です。
3 つの異なるパッケージの月間サブスクリプションを持つ Web サイトがあり、PayPal のホスト ページを使用したいと考えています。今、私はいくつかの問題に直面しています。
第一に、彼らのドキュメンテーションは非常に紛らわしいので、彼らが何を提供し、何が必要なのかを正確に理解していません. ですから、どんな助けでも大歓迎です。現在、定期請求アドオンと Hosted Checkout Page を設定した Payments Advanced があります。私の最初の問題は、SecureTokenID を取得するために API 呼び出しを行うと、応答 1 (ユーザー認証に失敗しました) が返されることですが、ログインの詳細は正しいので、何度も確認しました。この呼び出しを行うための私のコードは次のとおりです。
/* - build NVP to be sent to paypal - */
$post['PARTNER']='paypal';
$post['VENDOR']='*';
$post['USER']='*';
$post['PWD']='*';
$post['TRXTYPE']='S';
$post['AMT']='5';
$post['CREATESECURETOKEN']='Y';
$post['SECURETOKENID']=md5(time().rand().time());
$post['MODE']='TEST';
$url='https://pilot-payflowpro.paypal.com';
/* - do cURL request to PayPal's API - */
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
// curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
// I know, inhere should be a certificate and it will be in final version
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $post);
// curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 10); // 3 seconds to connect
// curl_setopt ($ch, CURLOPT_TIMEOUT, 10); // 10 seconds to complete
$output = curl_exec($ch);
if(curl_errno($ch)){
echo'error:' . curl_error($ch);
}
curl_close($ch);
2 番目の問題は、データベース エントリを表すカスタム変数フィールドを正確にどこに入力できるので、どのユーザーが購読/購読解除したかを IPN から知ることができるということです。
第 3 に、PayPal マネージャー インターフェイスでサブスクリプション オプションを設定することは可能ですか、それともトランザクションごとにサブスクリプションの詳細を送信する必要がありますか?
Fourth, am I going this the right way?? From their website and docs, I understood that I need a Payments Advanced and Recurring Billing, nothing more. Requirement is that the user can't leave the website, so I want to use a Hosted Checkout Page.
EDIT: I solved first and second (this is the second time I figured it out myself after I posted a question over here :)), but I would need help with third and fourth point.
Also I have additional question. Can Recurring Billing be suspended for users's selected period?