2

この質問は技術的なものというよりも概念的なものであり、良い解決策が見つからないようです。連鎖支払いと Adaptive Payments API を使用して、トラフィックの多い e コマース サイトを開発しています。

過剰注文を防ぐために、販売とその後のペイパル トランザクションのどの時点で在庫を差し引く必要がありますか?

私が出会ったオープンソースの電子商取引サイトの多くは、IPN を受け取って確認した後にのみ在庫を差し引いているようです。ただし、トラフィックの多いサイトでは、別のバイヤーが終了時間枠内に同じ商品を購入すると、商品の注文が過剰になる可能性があります。一方、支払いが受領される前に在庫が減少した場合、未払いの注文を無効にして在庫を補充するまでどのくらい待つ必要がありますか? 最善の解決策は何ですか?

この件に関するアドバイスをお寄せいただきありがとうございます。

4

2 に答える 2

3

次のプロセスを使用しています。

  1. 各アイテムには、「在庫」DB テーブルにエントリがあります。1 対 1 の一貫性が保証されないため、商品ごとに単一の「数量」フィールドはありません。( http://kylebanker.com/blog/2010/04/30/mongodb-and-ecommerce/と同様にモデル化しましたが、MySQL に実装しました)
  2. アイテムがカートに入れられると、アイテムに 10 分間の「ホールド」が設定されます (これは、アイテムを追加してから合計 10 分間ではなく、10 分間非アクティブであることを意味します)
  3. 顧客がチェックアウトに行くとき、私たちはそれを 20 分まで延長します (すべての詳細を入力する時間を与えるためです。一部の人はどれだけ時間がかかるかに驚くでしょう)。
  4. 顧客がペイパルにアクセスすると、それを 3 時間まで延長します。これは、在庫が非常に少ないアイテムが長期間「入手不可」と表示される可能性があることを意味するため、理想的ではありません。ただし、これは PayKey に対する Paypal の時間制限であり、支払いが行われたか、そのキーで支払いが行われないことを保証します。
  5. 次に、IPN を受け取ったら、在庫アイテムを「利用不可」として永久に設定します。

前述したように、3 時間のセッション タイムアウトは理想的ではないため、アダプティブ ペイメントを使用した埋め込み支払いフローの使用を検討しています。これにより、javascript を使用してセッション時間を追跡し、時間がかかる場合はページを強制的に更新できます。 30分

Paypal の誰かからより良い解決策があればぜひ聞きたいです。理想的には、注文を完了するために IPN に頼るのではなく、ユーザーがサイトに戻ったときに「エクスプレス チェックアウト」スタイルの支払い呼び出しを実装できればより良いでしょう.

于 2013-07-05T07:22:08.790 に答える
0

API をちらりと見ただけで (Paypal にはいくつの API があるのか​​)、IPN が最良の選択肢だと思います。なんで?ポケットにお金があることを知る最も信頼できる方法だからです。

どのオンライン システムでも、注文に関して遭遇する可能性がありますが、それはビジネスの一部にすぎません。これを支援する唯一の方法は、顧客に請求する直前に数量を確認することです。

于 2012-05-31T21:49:41.650 に答える