私はEコマースのウェブサイトをUCommerceでビルドしています。チェックアウト処理中、ユーザは支払いのために支払いポータルにリダイレクトされます。UCommerceチェックアウト中にユーザーが新しいアイテムを追加しないようにする
ユーザーが支払いポータルにいる間に、ユーザーがバスケットに新しいアイテムを追加しないようにします。現在の解決策は、バスケットをセッションに保存してから、ユーザーを支払いポータルにリダイレクトすることです。ご入金後のセッションでは1でバスケットを上書きするにはどうすればよい
Session["checkoutOrder"] = TransactionLibrary.GetBasket(!TransactionLibrary.HasBasket()).PurchaseOrder;
?これは、支払い前にバスケットを元の状態に戻すためです。私はバスケットをバック元に戻す方法はありませんので、
Batch update returned unexpected row count from update; actual row count: 0; expected: 1
お支払い総額が検証されたときに、支払いポータルからユーザーが戻る、あなたが得るので、バスケット合計が支払額よりも大きい場合はエラーとなり、バスケットは注文に変換されません。 – lasseeskildsen
こんにちは@ lasseeskildsen、私はチェックアウトパイプラインでValidatePaymentsMadeAgainstOrderTotalを知っています。しかし、私はユーザーが決済ポータルで支払い後にエラーを起こさせたくありません。ユーザーのカードは既に借方記入されているので、プロセスが複雑になります。私は購入注文を元の状態に戻し、有料アイテムのみチェックアウトすることをお勧めします。 – Romeo
これは完璧な意味合いがあります。おそらく、新しい注文ステータス(「お支払い待ち」)を追加して、ユーザーが支払いポータルにリダイレクトされたときのステータスに変更することができますか?ユーザーが支払いポータルでバスケットに物を追加すると、新しいバスケットが作成されます。状況が「バスケット」であることを要求するチェックアウトパイプラインのいずれかにanyhingがある場合のみ、 – lasseeskildsen