在Authorize.net PHP API中使用setTransactionSettings

时间:2016-12-01 21:44:44

标签: php authorize.net

我正在尝试使用以下方式设置duplicateWindow时间:

sudo

我在PHP SDK代码

中找到了这个
$transactionRequestType->setTransactionSettings();

这告诉我这个方法接受一个数组,但我不知道如何格式化我发送的数据。

我找到了XML版本:

public function setTransactionSettings(array $transactionSettings) {...}

但我不确定如何将其转换为PHP数组。

谢谢,

d

2 个答案:

答案 0 :(得分:0)

如果您只想设置一个设置,则此方法有效。

我还在试图弄清楚如何设置多个设置(如果您尝试设置多个,则会出现重复的关键问题。)

$transactionSettings = array(
    'setting' => array(
        'settingName' => 'duplicateWindow',
        'settingValue' => 0
    )
);

答案 1 :(得分:0)

这是我最终使用的解决方案,它运行正常。

public BufferedImage ByteArrayToBufferedImage(byte[] src, final int width, final int height)
    {
    // Check first that width*height*3 == src.length
    BufferedImage result = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR) ;
    System.arraycopy(src, ((DataBufferByte)result.getRaster().getDataBuffer()).getData(), src.length) ;
    return result ;
    }

要添加多个新设置,它将非常相似,只需为您想要的每个不同设置创建一个类SettingType()的新实例。

类似的东西:

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

$transactionRequestType->addToTransactionSettings($duplicateWindowSetting);

等等,然后通过执行以下操作将每个事务设置添加到事务请求中:

//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");