私は現在、Zend Framework アプリケーション内に Paypal Express Checkout を実装しています。2 つの単純なクラス Cart と CartItem で構成される独自のカート モデルを作成しました。これらは、数量を確認したり、合計金額を取得したりできます。
私は支払いシステムについてあまり知らず、Paypal しか使用していません (初めてのことです)。プロセスの最初に (Paypal にリダイレクトするとき) カートを入れて、paypal によって処理された現在の注文と Web サイト上の実際のカートとの間で矛盾が生じないようにします。
たとえば、ユーザーが新しいタブを開いて、PayPal での支払いプロセス中に製品を追加しようとした場合に発生する可能性があります。
カートがロックされている場合、ユーザーは、PayPal による支払いの処理が完了するか、注文をキャンセルするまで、カートに何かを追加または削除することはできません。
私の質問は、それが良いアプローチだと思いますか?
編集:データベースには何も保存せず、セッション中のショッピングカートのみがすべての注文がPaypalに保存されるため、2回保存したくない理由は、本当にシンプルなシステムです。