如何传递参数的值' x_duplicate_window'使用AuthorizeNet时?

时间:2014-08-13 15:40:22

标签: c# .net authorize.net

过去6个月我一直在使用AuthorizeNet.dll(https://github.com/AuthorizeNet/sdk-dotnet),效果很好!最近我收到一些交易的错误:

"已提交重复交易" 我在网上做研究,发现以下链接很好地解释 https://support.authorize.net/authkb/index?page=content&id=A425&actp=LIST

我的问题是:如何为参数' x_duplicate_window'传递值?一旦我调用以下方法,CustomerGateway.cs - > public IGatewayResponse AuthorizeAndCapture(Order order)? 或者我是否需要修改AuthorizeAndCapture方法中的内容? 或者我是否需要修改HttpXmlUtility.cs-> ANetApiResponse Send(ANetApiRequest apiRequest)

内的内容?

我感谢任何帮助。感谢

1 个答案:

答案 0 :(得分:2)

您无需修改​​SDK代码。它为CIM提供了一个API" extraOptions"通过Order.ExtraOptions属性(它本身是AIM选项的访问点,默认情况下不存在于CIM SOAP消息中)。 E.g:

Order order = ...
order.ExtraOptions = "x_duplicate_window=0"; // integer seconds, 28800 (8 hour) max; see AIM documentation
// (from comments) if you need to include multiple "extras", the delimiter is '&'
order.ExtraOptions = "x_duplicate_window=0&x_customer_ip=100.0.0.1";