2

私は joomla を使用しており、ユーザーが自分のサイトにリストを投稿できるようにするコンポーネントを導入しました。プラグインはクレジット システムを使用してリストの支払いを行いますが、クレジット システムは非常に複雑でわかりにくいため、無効にしました。

PayPal は、任意の Web ページに [今すぐ購入] ボタンを挿入するコードを提供していることがわかりました :) 完璧で、まさに私が欲しかったものです!

私が抱えている唯一の問題は、ボタンが [リストの追加] フォーム (これもコンポーネントの一部) に表示される瞬間ですが、フォームの [送信] ボタンをクリックするだけで簡単にバイパスできることです。支払う必要があります。

だから私の質問は:

  1. ユーザーが [Buy It Now] ボタンをクリックすると、入力していた [Add Listing] フォームにリダイレクトすることはできますか?
  2. 支払いが確認されるまで、フォームの送信ボタンを無効にすることはできますか?
  3. PayPal の [今すぐ購入] ボタンを押すと、プロセスが成功したことを確認する情報が返されますか?

私はhtml + phpを使用しています:)

今すぐ購入ボタンを生成するために使用したコードは

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
    <input type="hidden" name="cmd" value="_xclick">
    <input type="hidden" name="business" value="smyacc@hotmail.com">
    <input type="hidden" name="lc" value="GB">
    <input type="hidden" name="item_name" value="listing-purchase">
    <input type="hidden" name="amount" value="2.99">
    <input type="hidden" name="currency_code" value="GBP">
    <input type="hidden" name="button_subtype" value="services">
    <input type="hidden" name="no_note" value="0">
    <input type="hidden" name="shipping" value="0.00">
    <input type="hidden" name="bn" value="PP-BuyNowBF:btn_buynowCC_LG.gif:NonHostedGuest">
    <input type="image" src="https://www.paypalobjects.com/en_US/GB/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal – The safer, easier way to pay online.">
    <img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1">
</form>

これについて何か助けていただければ幸いです!!!

ルーク

4

2 に答える 2

3

朗報です。あなたの質問に対する答えは基本的に「はい」です。あなたの最終目標は間違いなく実行可能ですが、問題を完全に解決するには、もう少し情報が必要になる場合があります。

ただし、その方法は場合によって異なる可能性があります。残念ながら、これらのボタンを設定してからしばらく経っていますので、ご容赦ください ;-)

ユーザーが [今すぐ購入] ボタンをクリックすると、入力していたリスト追加フォームにリダイレクトすることはできますか?

はい、これは PayPal がボタンとプロセスに組み込んだ非常に標準的な機能です。ここで探しているのは、PayPal が「リターン URL」または「自動リターン」と呼んでいるものです。これは、私が以下に引用したドキュメントの詳細を含むページです。これにより、リターン URL、自動リターン、または支払いデータ転送オプションのいずれが最適かを判断できます。

チェックアウト後にバイヤーをあなたのウェブサイトに戻す

基本的なチェックアウト エクスペリエンスでは、買い手はチェックアウト後に PayPal Web サイトに残ります。次のテクニックのいずれかを使用してチェックアウト エクスペリエンスを強化し、購入者が代わりに Web サイトに戻るようにします。

リターン URL: 買い手が PayPal 支払い確認ページのリターン リンクまたはボタンをクリックした場合に、Web サイトのページに戻ることができるようにします。

詳細については、ステップ 3: [今すぐ購入] ボタンまたは PayPal チェックアウト ページを表示するための HTML 変数に高度な機能を追加するの項目 #5 を参照してください。

自動返品: PayPal が顧客を Web サイトのページに自動的に戻すようにします。

重要: PayPal では、自動返品をオンにするときに、支払いデータ転送をオンにすることをお勧めします。自動返品をオンにすると、PayPal は購入者を別の PayPal 支払い確認ページから Web サイトにリダイレクトします。これにより、購入者は PayPal 領収書を印刷できなくなります。Payment Data Transfer は、購入者が Web サイトから領収書を印刷できるようにするために必要な取引情報を提供します。

詳細については、自動復帰を参照してください。

支払いデータの転送: PayPal には、リターン URL またはオート リターンを使用して顧客を Web サイトに戻す際に、完了した取引に関する情報が含まれます。Payment Data Transfer が提供する情報を使用して、Web サイトに「ありがとうございました。領収書を印刷してください」ページを表示します。詳細については、支払いデータ転送を参照してください。


質問支払いが確認されるまで、フォームの送信ボタンを無効にすることはできますか?

そうです。支払いが確認されるまでフォームの送信ボタンを無効にするには、支払いが確認されるまで次の 2 つのいずれかを行います。

  1. [送信] ボタンに「無効」属性を追加します。これにより、[送信] ボタンがグレー表示されて無効になり、使用できなくなります。ただし、ボタンは表示されたままであるため、Web に精通したエンド ユーザーは、HTML に移動して無効化された属性を削除するだけで、思い通りに作業を進めることができます。

<button type="submit" disabled>Submit Listing</button>

  1. [送信] ボタンを非表示にします。この場合、Web に精通したエンド ユーザーは、技術的には HTML に入り、スタイルを削除してボタンが表示されるようにすることもできますが、ボタンは表示されません。

<button type="submit" style="display:none">Submit Listing</button>


質問PayPal の [今すぐ購入] ボタンをクリックすると、プロセスが成功したことを確認する情報が返されますか?

繰り返しますが、これを攻撃する方法はいくつかあります。

方法 1最も簡単な方法、PayPal のリターン URL といくつかの GET パラメータを使用して、処理が完了したかキャンセルされたかを通知することです。キャンセル用のリターン URL と完了用のリターン URL のようなものがあります。私がリンクした同じページから、PayPal はこの機能に関するボタンの作成を文書化しています。

チェックアウトのキャンセル後に購入者を特定の Web ページ (URL) に誘導しますか (オプション)?

Web サイトに、購入者がトランザクションを完了する前にチェックアウトをキャンセルした場合に戻る特別なページがある場合は、チェックボックスをオンにして、テキスト ボックスに URL を入力します。

チェックアウトが成功した後、購入者を特定の Web ページ (URL) に誘導しますか (オプション)?

Web サイトに購入者がチェックアウトを正常に完了した後に戻る特別なページがある場合は、チェックボックスをオンにして、テキスト ボックスに URL を入力します。

方法 2より高度な方法 (最初の方法では、ハッカーが成功したリターン URL を推測する可能性があることを考えると、これはより確実です) は、PayPal の即時支払い通知機能を使用することです。この機能により、PayPal はプライベート (舞台裏) URL に POST リクエストを送信します。これにより、支払い完了に関して送信されるデータを取得できます。

したがって、バックエンドは支払いの完了に関する情報を受信し、無数の方法 (AJAX 要求、ユーザーにブラウザーの更新を要求する、ユーザーに戻って支払いを完了するように伝えるメールを送信するなど) があります。ユーザーのフロントエンドを更新して、表示/有効化された [送信] ボタンを使用できるようにします。

PayPalのnotify_urlに関する詳細とドキュメントについては、IPNシステムを介して.

頑張ってください!

于 2015-11-17T18:17:33.577 に答える