現在のウェブサイト bpremium.com でこのプロセスを完了しました。基本的には、ペイパルに送信するフォームを作成する最終段階に到達するまで、javascript を介してコマンドを送信できる支払いプロセス用のウェブサービス API を構築しました。 .
支払いを記録するために、通知 URL 用に別の Web サービスをセットアップします。これにより、すべての $_POST データが取得され、データベースに処理されます。
<form id="form-payment-paypal" action="https://www.paypal.com/cgi-bin/webscr">
<input type="hidden" name="cmd" value="_xclick" />
<input type="hidden" name="bn" value="PP-BuyNowBF" />
<input type="hidden" name="charset" value="utf-8" />
<input type="hidden" name="business" value="YOUR_ACCOUNT_EMAIL_ADDRESS" />
<input type="hidden" name="item_name" value="THE PRODUCT NAME" />
<input type="hidden" name="item_number" value="YOUR_RECOGNISABLE_SALE_ID?>" />
<input type="hidden" name="currency_code" value="EUR" />
<input type="hidden" name="lc" value="THE LANGUAGE CODE: es_ES, en_GB, etc" />
<input type="hidden" name="amount" value="<?=$amount+($amount*0.04)?>" />
<input type="hidden" name="return" value="/payment/complete/" />
<input type="hidden" name="notify_url" value="/webservice/payment/notify/paypal/" />
<p class="ac span300">
<input type="submit" class="form-style-bt" value="PAY" />
</p>
</form>
これは基本的に私たちが使用するものです。私がいるスペインでは 4% の追加料金を追加する必要があったため、$amount + $amount*0.04 を入力したことがわかります。おそらくそれはあなたのコードでは異なります。
残りの部分はかなり自明だと思います。
/webservice/ URL では、すべてをデータベースに記録する必要があります。成功したか失敗したかに関係なく情報が送信されますが、これは Web サイトへの呼び出しではなく、このページは表示されません。これは「バック チャネル」です。あなたのウェブサイトに電話をかけるので、それはあなたのランディングページではありません.URLペイパルがすべての生データを送信するのは簡単です.あなたはそれを記録し、処理し、おそらく電子メールを送信することになっています.
その後、ユーザーが Web サイトに戻ると、/payment/complete ページが表示されるので、このページに結果が表示されます。
それが役に立てば幸い。