过去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)
我感谢任何帮助。感谢
答案 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";