2009-05-18 6 views
1

私はショッピングカートを持っています。私はCCAvenue決済ゲートウェイと統合したいと考えています。私はいつもデータベースから注文IDを送る。チェックアウトの後、私のシステムが突然オフになります。それからもう一度私はそれを再度チェックアウトする必要があります。私のデータベースの注文IDは、支払いゲートウェイのために重複しています。これは私の問題です。各リクエストの一意の注文IDを支払いゲートウェイに送信するにはどうすればよいですか?

私の質問は、毎回ユニークな注文IDを送信するにはどうすればいいですか?私のサイトはPHPになっています。

+0

"私のシステムはオフになっています"という意味を説明できますか?あなたは本当に十分な情報やコードサンプルを与えていません。 –

+0

systeがオフになっていると、電源が切断されたためにシステムがシャットダウンします。 私の質問は、一意の注文IDを作成する方法です –

答えて

0

私はこれのために別々の機能がなければならないと思います。以前のバージョンの注文がカートに入っているかどうかを常時確認しています。また、プロセスのコピーは常にdbに格納する必要があります。このようにして、何らかの理由でサーバが再起動しても、同じ位置から注文を進めることができます(したがって、注文の重複の問題はありません)。あなたの質問では、単一の認証を送信+ AKA「販売」取引をキャプチャすることができ、ほとんどの支払いゲートウェイで

+2

あなたのdbに完全なクレジットカードの詳細を保存しないでください。最高でも、情報を盗まれる危険性があります。最悪の場合、Merchant Accountプロバイダーとの契約違反に直面する可能性があります。あなたが持っていないもの(完全なクレジットカード情報)は決して盗まれることはないことを忘れないでください。代わりに、クレジットカードの最後の4桁を格納して、監査を有効にします。 –

+0

@Larry K:+1 ugh。決済ゲートウェイとの契約違反は決して楽しいものではなく、それは何人の人が迷惑をかけることになります。 – scraimer

0

は、おそらくこのhttp://us3.php.net/uniqidのようなユニークなIDを望みます2つの別々の要求。

単一の売買取引を送信するトランザクションの一貫性の問題が心配な場合は、最初に資金を予約し、注文処理の最後に回収を送信する権限を送信することをおすすめします。

初期認証処理中にシステムに障害が発生すると、認証が期限切れになってから3日以内に資金が解放されます。認可された資金がクリアされるまで使用されることを妨げるため、時には怒った顧客につながる可能性があるため、認可が悪化するケースはないよう注意してください。

最後のキャプチャ中にシステムに障害が発生し、ステータスを記録できない場合は、後でキャプチャを再実行して、結果が成功したか、またはキャプチャが既に発生したことを示すメッセージがゲートウェイから送信されますシステムの支払いステータスを更新します。

2

種類の曖昧であるかのようにAUTHORIZEとキャプチャトランザクションを送ることができますが

+0

あなたのコメントのために感謝私の問題は解決しています –

関連する問題