@@ -72,7 +72,7 @@ public function setDuplicateWindow($value)
7272
7373 private function getDuplicateWindow ()
7474 {
75- return $ this ->getParameter ('duplicateWindow ' ); // Maps x_duplicate_window
75+ return $ this ->getParameter ('duplicateWindow ' );
7676 }
7777
7878 public function getLiveEndpoint ()
@@ -235,24 +235,21 @@ protected function addBillingData(\SimpleXMLElement $data)
235235 return $ data ;
236236 }
237237
238- protected function addTestModeSetting (\SimpleXMLElement $ data )
238+ protected function addTransactionSettings (\SimpleXMLElement $ data )
239239 {
240- // Test mode setting
241- $ data ->transactionRequest ->transactionSettings ->setting ->settingName = 'testRequest ' ;
242- $ data ->transactionRequest ->transactionSettings ->setting ->settingValue = $ this ->getTestMode () ? 'true ' : 'false ' ;
240+ $ i = 0 ;
243241
244- return $ data ;
245- }
242+ // The test mode setting indicates whether or not this is a live request or a test request
243+ $ data ->transactionRequest ->transactionSettings ->setting [$ i ]->settingName = 'testRequest ' ;
244+ $ data ->transactionRequest ->transactionSettings ->setting [$ i ]->settingValue = $ this ->getTestMode () ? 'true ' : 'false ' ;
246245
247- protected function addExtraOptions (\SimpleXMLElement $ data )
248- {
246+ // The duplicate window setting specifies the threshold for AuthorizeNet's duplicate transaction detection logic
249247 if (!is_null ($ this ->getDuplicateWindow ())) {
250- $ extraOptions = $ data ->addChild ('extraOptions ' );
251- $ node = dom_import_simplexml ($ extraOptions );
252- $ nodeOwner = $ node ->ownerDocument ;
253- $ duplicateWindowStr = sprintf ("x_duplicate_window=%s " , $ this ->getDuplicateWindow ());
254- $ node ->appendChild ($ nodeOwner ->createCDATASection ($ duplicateWindowStr ));
248+ $ i ++;
249+ $ data ->transactionRequest ->transactionSettings ->setting [$ i ]->settingName = 'duplicateWindow ' ;
250+ $ data ->transactionRequest ->transactionSettings ->setting [$ i ]->settingValue = $ this ->getDuplicateWindow ();
255251 }
252+
256253 return $ data ;
257254 }
258255}
0 commit comments