Я работаю с API-интерфейсом управления информацией о клиентах (CIM) Authorize.net. Мой тестовый пример сосредоточен вокруг пользователя, указывающего неправильный адрес во время оформления заказа.
Мое приложение будет пытаться создать профиль клиента каждый раз, когда пользователь отправляет форму:
$txrq = new AuthorizeNetCIM;
$txrsp = $txrq->createCustomerProfileTransaction("AuthCapture", $transaction, 'x_duplicate_window=0');
Я попытался установить передачу x_duplicate_window
, как вы можете видеть выше, в «Дополнительные параметры», которые в SDK являются следующей частью запроса:
<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.
Я беспокоюсь, если один из наших (потенциальных) пользователей попытается отправить неправильный адрес, осознает свою ошибку, а затем получит еще 3 дополнительных минуты ошибок, пока происходит тайм-аут транзакции.