イベント(コンサートなど)のオンラインチケットシステムを開発中です。基本的な部分は、訪問者が選択可能な座席/チケットを提示される座席図です。彼らが選択すると、システムはただちに(チケットIDがキーであるテーブルにチケットIDを入力することによって)10分間チケットを予約しようとします。 予約が成功した場合にのみ、ペイパルボタンが表示され、支払いが行われます。PayPalを使用したオンラインチケット予約:複数の訪問者が同じチケットを購入するのを防ぐ
これはすべて正常に動作します。チケット予約は私にとっては問題ではありません。私は私のシステムでそれを処理することができます。しかし、ペイパルがゲームに入ったら、物事は難しくなる。
問題:何らかの理由でユーザーが何らかの理由でPayPalで多くの時間を費やした場合(10分以上)、私のウェブサイトのチケット予約が失効し、別の訪問者がチケットを購入する可能性があります訪問者1が支払いを行う前に。訪問者1はまだ彼がまだペイパルであるためにこれを見ません...ある時点で、彼はpaypalが期限切れの予約について何も知らないので(例えば15分後)、支払いを行うことができます。
最終的に、2人の訪問者が同じ航空券を払っている可能性があります。
どうしたら起こるのを防ぐことができますか? 2つのシステムが関与し、そのうちの1つが制御できない場合、どのように競合状態を処理しますか?
私の考えは:実際には支払いが行われる直前に行われるべきですが、もちろん私はpaypalで何が起こるかについてはコントロールできません!
私はPaypalのIPNなどを使用することができますが、これは遅すぎる支払い後にのみ発生します。
また、paypalが支払いを確認するためにAPIを通じて私に尋ねた場合は、素晴らしいことです。チケットが他の誰かに売られた場合、私は「いいえ」と言うことができます。しかし、私はこれがpaypalで可能だとは思わない。
ありがとうございます。エクスプレスチェックアウトは良く聞こえ、私はそれを研究します。 2番目の部分について:これはpaypalの特定の機能ですか?私は検索し、本当に「認可」に関する何かを見つけなかった。 – user1595494
いいえ、認証はクレジットカード業界ではかなり標準的です。このページでは、Express Checkoutが提供するさまざまな支払いタイプのかなり良いランダウンを提供しています:https://www.x.com/developers/paypal/documentation-tools/express-checkout/integration-guide/ECRelatedAPIOps –