0

サイトの支払いにペイパルを使用しようとしています。

当サイトでは、オンラインゲームの「ダイヤモンド」などの仮想通貨のみを販売しています。

読んだ後、私はデジタル商品のエクスプレスチェックアウトを使い始めました。そうですか? または、他の支払い方法が必要ですか?

次に、私の質問は、デジタル商品にエクスプレス チェックアウトを使用する場合、カスタム変数を渡す方法です。

user_id、diamond_id、およびデータベースからのその他の変数をpaypal APIに支払いたいとしましょう。Paypal は、API 呼び出しを渡すためのカスタム変数をサポートしていないようです。ユーザーが支払いを完了した後、Paypal は、支払いが完了したことをサーバーに通知する必要があります。

検索した後、私はいくつかの解決策を見つけました、

最初の解決策は、「TOKEN」(「SetExpressCheckout」メソッドから生成) と、TOKEN に属するカスタム変数をデータベースに保存することです。支払いが完了すると、paypal は以前に保存した同じ TOKEN をサーバーに通知します。したがって、TOKEN に基づいてクエリを実行します。2 番目の解決策は、RETURNURL 変数http://www.mysite.com/successpayment.php?user_id=13&diamond_id=88で get スタイルを使用しているため、GET 変数を簡単に取得できます。正しい解決策はどれですか? 解決策はありますか?支払い確認を確保する方法、つまり、誰かが私の returnurl を知っていてハッキングした場合。

前もって感謝します

4

1 に答える 1

1

プロセス全体で注文を正しく識別するには、次の 2 つの部分があります。

  1. ユーザーが成功 URL またはキャンセル URL を介してリダイレクトされたときに注文を識別するには、URL のクエリ文字列を介して注文 ID を渡すだけです。

  2. Paypal が IPN 経由でトランザクションおよび関連するイベント (払い戻し、取り消し、異議申し立てなど) に関する通知を送信したときに注文を識別するには: Paypal はパススルー変数をサポートしており、IPN を DB の注文レコードに関連付けることができます。

    • エクスプレス チェックアウトの場合、SetExpressCheckout 呼び出しで PAYMENTREQUEST_0_INVNUM を設定します
    • 定期的なプロファイルを作成している場合、パラメーターは CreateRecurringPaymentsProfile 呼び出しで PROFILEREFERENCE という名前になります。
    • IPN を受け取ると、請求書はそれぞれ「invoice」または「rp_invoice_id」として渡されます

(しかし、私の一般的なアドバイス: 本当に必要な場合にのみ Paypal を使用してください)

于 2012-10-14T01:30:10.403 に答える