2010-11-21 12 views
3

私は600.00のためのラップトップを持っていると言う。 $ 650.00に変更してください。ショッピングカートはそれをどのように扱いますか?彼らはカートやアイテムに価格を格納するのと同じように?どのようにして彼らは彼らが望む価格を得ることができるのか確認しますが、顧客に尋ねることなく新しい変更を請求することはありませんか?または、ほとんどの場合、両方に保管しますか?ショッピングカートの価格変更

私はおそらく私はそれを両方に保存できると考えていました。 現在の価格が商品のカート価格を上回っている場合は、その商品をカート内から取り出したり請求したりしないでください。その後、請求されたものを伝え、請求された変更されなかったアイテムの領収書を電子メールで送ってください(1つ以上のアイテムがあるとします)。変更されたアイテムについては、「価格変更のためカートに残っているアイテムは、まだ新しい価格でアイテムを購入したいかどうかを確認してください」などのように言ってください。したがって、カート内で変更されたアイテムを残しておくが、カート内の価格を更新する。

私はそれを行う方法について考えています。私は言語が重要であるとは思わない。これは論理的な質問のほうが多いと思います。ほとんどのショッピングカートはこうやっているのですか、それとも良い方法がありますか?

答えて

2

シンプルなショッピングカートは、セッションとクッキーによって維持される単なる製品の配列です。あなたは何でもすることができます。ユーザーがURLを介して価格を変更するなど、何もできないことを確認してください。しかし、ほとんどの場合、チェックアウトすることが非常に簡単になります。

ほとんどの開発者は製品オブジェクトを含む配列を作成します。したがって、製品に変更が加えられた場合、ショッピングカートはこの変更を反映します。しかし、価格を変更した場合、ユーザーが価格をクリックしてから変更すると問題が発生しますが、支払いが中断されたり混乱したりするまで、この変更は表示されません。

ユーザーがサインインしてカートに追加できるようにするには、広告申込情報の配列を保存するためのクッキー/セッションの作成について心配する必要はありませんチェックアウトし、後で参照できるように明細を保存します。

この場合、オブジェクトに関連付けられた広告申込情報を作成して、すべての商品情報を取得することができますが、同時に実際のLineItemモデルに価格を保存することですあなたの価格は買い物客の中途半端な購入経験に影響しません。

あなたが気が変わってユーザーが高い価格を支払うようにするには、広告申込情報モデルを使用する場合は、最後の段落に記載されていることを行い、ユーザーがチェックアウトすることを決定する直前に価格を確認します。それが異なっている場合は、この製品は今購入するx量であることを否定し、謝罪することを忘れないでください。

2

短い答えは、どのようにコード化されたかによって異なります。

あなたが話している取引は処理中であると仮定します。ユーザーが取引を完了した後に価格が変更された場合、顧客サービスの点で「悪い」とみなされ、支払い処理業者の目には違法となる可能性があります。

私は、最新の価格対カートに価格を比較するあなたのアイデアが好きです。しかし、ユーザがカートを閲覧する要求でアイテムの価格の値を変更することができれば、実際に請求されることに多くの問題を引き起こす可能性がある。たとえば、ユーザーがラップトップの価格を$ 1200に変更し、コード内で差額分を差し引いた場合、そのノートパソコンは$ 0で購入できますが、これは「悪いこと」です。

$ 1200 - ユーザー入力 $ - 600実際の価格 - $ - 600価格に対する調整 $ 0 - 1価格の顧客が充電されていますか?

もう1つの例は、アイテムの価格をユーザーが編集できる値にして、悪意のあるユーザーである場合、価格を$ 600.00に変更する可能性があります。これは、 "Bad Thing" 。

より安全な方法は、カート内のアイテムIDをリンクに表示してカートを表示し、カート内のアイテムの価格を取得/更新することです、等)が要求される。悪意のあるユーザーがプラストリックやマイナストリックを試みた場合、その価格が「現在の価格」に更新されたというメッセージが表示されます。

OWASPサイトには、ユーザーがショッピングカートをハイジャックしようとする状況に対してコードをテストするのに役立つオープンソースのセキュリティツールがいくつかあります。彼らの住所はhttp://www.owasp.org

0

です。カートにアイテム(例:ID /プライマリキー)の参照が含まれているだけの場合は、価格を2か所にまったく保存する必要はありません。必要に応じてカートからオブジェクトをロードするだけで、価格は自動的に変更を反映します。ほとんどの場合、変更は頻繁ではなく、ユーザーの観点からは大きな問題ではありません。

関連する問題