2017-10-29 24 views
0

PayPalを使用して自分のウェブサイトから支払いを受け入れることを検討しています。 Smart Paymentボタンのオプションを見ています。お支払いが成功した場合は、私のウェブサイトDB内の何かを更新する必要があります。支払いが成功したかどうかはどうすれば分かりますか?私は何もAPIドキュメントを見ることができません。支払いが成功したか失敗したかを確認します

また、PHPセッションIDでユーザーコンテキストを保持する必要があります。それをpaypalサイトに渡して、成功/失敗のインジケータとともに返されるようにするにはどうすればよいですか?

答えて

1

Paypal IPNを使用して支払い通知を受け取る。 IPN要求に応答してDBなどを更新するサーバーエンドポイントを設定します。

状態を維持するには、スマート支払いボタンにファイル名customと隠し入力を含める必要があります。 (セッションID)。

IPNエンドポイントie:/ checkout/ipnを設定して、Paypal通知を受信します。 $ _POST ['custom']でセッションIDを取得します。

+0

ありがとうございました。 IPNは便利なオプションです。私は、決済とともに顧客IDをどのように送ったのか、IPNからその同じ顧客IDをどのように受け取ったのか、まだ明確ではありません。同様に、支払い結果とともに、支払ページに転記された隠れた入力フィールドがどのように返されるかはわかりません。 (私の意見では、PayPalのドキュメントのこの部分は素晴らしいことではありません)。私はBraintree APIのために、簡単なPayPalボタンのアプローチを放棄するかもしれません。それはクライアント側のjavascriptで支払いのNonceを返します。支払いが成功すると、PayPalサーバーからサーバー側のコードを検証できます。 –

+0

ユーザーセッションを失うという点では、他のユーザーもそれに問題があることがわかります。 PayPalボタンを押すと全く新しいURLが表示されるため、セッションのコンテキストを失うことは簡単です。これは私がクライアント側のjsとサーバー側のコード(Braintree API経由)のコンボが一番良いと思う理由です。それ以外の場合は、このソリューションのようなクッキーに頼らなければなりません。https://stackoverflow.com/questions/31069675/paypal-payment-destroys-session-on-return?rq=1 –

関連する問題