代码之家  ›  专栏  ›  技术社区  ›  Amol

批准net,信用卡收费请求出错,因为提交了重复的交易

  •  1
  • Amol  · 技术社区  · 9 年前

    我是新来授权的。Net,我正在执行授权。Net PHP SDK来实现它。我试图对信用卡收费,但它给出的错误是:

    “已提交重复交易”

    我读了几篇文章,参考文献: https://community.developer.authorize.net/t5/Integration-and-Testing/Prevent-Duplicate-Transactions/td-p/20417 .

    其中提到的解决方案添加了 x_duplicate_window=(由您自己选择,最长28800秒) 到脚本。 因此,我添加了如下内容:

    <createTransactionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
        <merchantAuthentication>
            <name>
                <![CDATA[API_LOGIN_ID]]>
            </name>
            <transactionKey>
                <![CDATA[API_TRANSACTION_KEY]]>
            </transactionKey>
        </merchantAuthentication>
        <refId>
            <![CDATA[ref1465541052]]>
        </refId>
        <transactionRequest>
            <transactionType>
                <![CDATA[authCaptureTransaction]]>
            </transactionType>
            <amount>1</amount>
            <payment>
                <creditCard>
                    <cardNumber>
                        <![CDATA[4111111111111111]]>
                    </cardNumber>
                    <expirationDate>
                        <![CDATA[1233]]>
                    </expirationDate>
                </creditCard>
            </payment>
            <order>
                <description>
                    <![CDATA[DESCRIPTION]]>
                </description>
            </order>
        </transactionRequest>
        <extraOptions><![CDATA[x_duplicate_window=0]]></extraOptions>
    </createTransactionRequest>
    

    但它抛出错误为

    E0003:命名空间“AnetApi/xml/v1/schema/AnetApiSchema”中的元素“createTransactionRequest”。xsd“在命名空间”“AnetApi/xml/v1/schema/AnetApiSchema.xsd”“中具有无效的子元素”“extraOptions”“。”。

    我无法添加 x个重复窗口 在我的剧本里。 这是防止重复事务错误的正确方法吗

    注意:我在沙箱环境中工作,并处于LIVE模式

    请帮忙。

    1 回复  |  直到 9 年前
        1
  •  4
  •   John Conde    9 年前

    您需要使用 <transactionSettings> 要添加此设置的元素:

    <createTransactionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
        <merchantAuthentication>
            <name>
                <![CDATA[API_LOGIN_ID]]>
            </name>
            <transactionKey>
                <![CDATA[API_TRANSACTION_KEY]]>
            </transactionKey>
        </merchantAuthentication>
        <refId>
            <![CDATA[ref1465541052]]>
        </refId>
        <transactionRequest>
            <transactionType>
                <![CDATA[authCaptureTransaction]]>
            </transactionType>
            <amount>1</amount>
            <payment>
                <creditCard>
                    <cardNumber>
                        <![CDATA[4111111111111111]]>
                    </cardNumber>
                    <expirationDate>
                        <![CDATA[1233]]>
                    </expirationDate>
                </creditCard>
            </payment>
            <order>
                <description>
                    <![CDATA[DESCRIPTION]]>
                </description>
            </order>
            <transactionSettings>
                <setting>
                    <settingName>duplicateWindow</settingName>
                    <settingValue>0</settingValue>
                </setting>
            </transactionSettings>
        </transactionRequest>
    </createTransactionRequest>