Authorize.net の Customer Information Manager API (CIM) を使用しています。私のテストケースは、チェックアウト時に間違った住所を提供するユーザーを中心にしています。
私のアプリケーションは、ユーザーがフォームを送信するたびに顧客プロファイルを作成しようとします:
$txrq = new AuthorizeNetCIM;
$txrsp = $txrq->createCustomerProfileTransaction("AuthCapture", $transaction, 'x_duplicate_window=0');
x_duplicate_window
上記のように、SDK ではリクエストの次の部分である「Extra Options」に渡すように設定してみました。
<extraOptions><![CDATA[' . $this->_extraOptions . ']]></extraOptions>
x_duplicate_window にどのような値を使用しても、authorize.net はデフォルトの時間が経過するまで常にエラーを返します。
AuthorizeNet Error: Response Code: 3 Response Subcode: 1 Response Reason Code: 11 Response Reason Text: A duplicate transaction has been submitted.
(潜在的な) ユーザーの 1 人が間違ったアドレスを送信しようとして、自分のエラーに気付き、トランザクションのタイムアウトが発生している間に、さらに 3 分間エラーが発生するのではないかと心配しています。