2016-08-07 6 views
0

私はipnメッセージが来たときに何を買ったのかをデータベースで識別するためにカスタム変数を使用する支払いボタンを持っています。私のカスタムフィールドには、次のようになります。ipn変数をサーバー側に送信する方法は?

<input type="hidden" name="custom" value="userName"> 

私の問題は、誰もが、人々が他のユーザーのためのものを購入することができ、彼らが望む今まで何にこの値を変更することができるということです。このカスタム値をphpからpaypalに送る可能性のある方法はありますか?そのため、ユーザーは値を別のものに変更できません。

+0

送信された内容を確認するためにIPNを使用します。 –

答えて

0

標準支払ボタンの代わりにExpress Checkout APIsを使用できます。

SetExpressCheckoutに電話をかけてプロセスを開始し、トークンを取得してから、ユーザーをPayPalにリダイレクトします。

PayPalから返品された場合、GetExpressCheckoutDetailsに電話して、PayPalから返品されたバイヤー情報を取得し、DoExpressCheckoutPaymentに電話して注文を確定し、実際にお金を移動することができます。

最終的なDECPリクエストには、現在と同じ方法でCUSTOMパラメータをインクルードしますが、すべてPHPコードで非表示にします。人々はHTMLで見るものはありません。

このPayPal PHP SDKは、これらのAPI呼び出しを非常に迅速かつ簡単に行います。

+0

エクスプレスチェックアウトの場合、CUSTOMパラメータは本当に必要ではなく、IPNも必要ありません。 DoExpressCheckoutPaymentの成功した結果を受け取った直後にデータベースを更新することができます。 – CCamilo

+0

IPNは、未払いの支払いを正しく処理してから数日は処理できないことがあります。保留中の決済前に商品をお届けすると、最終的に燃え尽きる可能性があります。また、払い戻し、紛争、逆転などに基づいてタスクを自動化するのにも便利です。 –

+0

保留中の支払いを正しく処理するには、IPNは依然として同意します。 – CCamilo

関連する問題