在Authorize.net PHP API中使用setTransactionSettings

在Authorize.net PHP API中使用setTransactionSettings,php,authorize.net,Php,Authorize.net,我正在尝试使用以下方法设置重复窗口时间: $transactionRequestType->setTransactionSettings(); 我在PHP SDK代码中找到了这个 public function setTransactionSettings(array $transactionSettings) {...} 这告诉我该方法接受数组,但我不确定如何格式化发送的数据 我找到了XML版本: <transactionSettings> <setting&

我正在尝试使用以下方法设置重复窗口时间:

$transactionRequestType->setTransactionSettings();
我在PHP SDK代码中找到了这个

public function setTransactionSettings(array $transactionSettings) {...}
这告诉我该方法接受数组,但我不确定如何格式化发送的数据

我找到了XML版本:

<transactionSettings>
   <setting>
      <settingName>duplicateWindow</settingName>
      <settingValue>0</settingValue>
  </setting>
</transactionSettings>

重复窗口
0
但我不知道如何将其转换为PHP数组

谢谢


D

如果您只想设置一个设置,则此选项有效

我仍在尝试如何设置多个设置(如果尝试设置多个设置,则会出现重复的关键问题)

$transactionSettings=数组(
'设置'=>数组(
'settingName'=>'duplicateWindow',
“设置值”=>0
)
);

如果您只想设置一个设置,则此选项有效

我仍在尝试如何设置多个设置(如果尝试设置多个设置,则会出现重复的关键问题)

$transactionSettings=数组(
'设置'=>数组(
'settingName'=>'duplicateWindow',
“设置值”=>0
)
);

这是我最后使用的解决方案,效果很好

$duplicateWindowSetting = new AnetAPI\SettingType();
$duplicateWindowSetting->setSettingName("duplicateWindow");
$duplicateWindowSetting->setSettingValue("120");

$transactionRequestType->addToTransactionSettings($duplicateWindowSetting);
若要添加多个新设置,这将非常相似,只需为每个需要的不同设置创建一个新的SettingType()类实例

比如:

//add the values for each setting
$duplicateWindowSetting = new AnetAPI\SettingType();
$duplicateWindowSetting->setSettingName("duplicateWindow");
$duplicateWindowSetting->setSettingValue("600");

$allowPartialAuthSetting = new AnetAPI\SettingType();
$allowPartialAuthSetting->setSettingName("allowPartialAuth");
$allowPartialAuthSetting->setSettingValue("true");
$transactionRequestType->addToTransactionSettings($duplicateWindowSetting);
$transactionRequestType->addToTransactionSettings($allowPartialAuthSetting);
依此类推,然后通过执行以下操作将每个事务设置添加到事务请求中:

//add the values for each setting
$duplicateWindowSetting = new AnetAPI\SettingType();
$duplicateWindowSetting->setSettingName("duplicateWindow");
$duplicateWindowSetting->setSettingValue("600");

$allowPartialAuthSetting = new AnetAPI\SettingType();
$allowPartialAuthSetting->setSettingName("allowPartialAuth");
$allowPartialAuthSetting->setSettingValue("true");
$transactionRequestType->addToTransactionSettings($duplicateWindowSetting);
$transactionRequestType->addToTransactionSettings($allowPartialAuthSetting);

这是我最后使用的解决方案,效果很好

$duplicateWindowSetting = new AnetAPI\SettingType();
$duplicateWindowSetting->setSettingName("duplicateWindow");
$duplicateWindowSetting->setSettingValue("120");

$transactionRequestType->addToTransactionSettings($duplicateWindowSetting);
若要添加多个新设置,这将非常相似,只需为每个需要的不同设置创建一个新的SettingType()类实例

比如:

//add the values for each setting
$duplicateWindowSetting = new AnetAPI\SettingType();
$duplicateWindowSetting->setSettingName("duplicateWindow");
$duplicateWindowSetting->setSettingValue("600");

$allowPartialAuthSetting = new AnetAPI\SettingType();
$allowPartialAuthSetting->setSettingName("allowPartialAuth");
$allowPartialAuthSetting->setSettingValue("true");
$transactionRequestType->addToTransactionSettings($duplicateWindowSetting);
$transactionRequestType->addToTransactionSettings($allowPartialAuthSetting);
依此类推,然后通过执行以下操作将每个事务设置添加到事务请求中:

//add the values for each setting
$duplicateWindowSetting = new AnetAPI\SettingType();
$duplicateWindowSetting->setSettingName("duplicateWindow");
$duplicateWindowSetting->setSettingValue("600");

$allowPartialAuthSetting = new AnetAPI\SettingType();
$allowPartialAuthSetting->setSettingName("allowPartialAuth");
$allowPartialAuthSetting->setSettingValue("true");
$transactionRequestType->addToTransactionSettings($duplicateWindowSetting);
$transactionRequestType->addToTransactionSettings($allowPartialAuthSetting);