Authorize.Net:使用发票编号时出现“意外错误”

问题描述 投票:0回答:1

我尝试将请求中的

invoiceNumber
description
发送到 Authorize.Net 服务器,但收到
"Unexpected error. Please try again."
消息。

如果我注释掉下面添加

invoiceNumber
description
的代码,它每次都会起作用。

transactionRequest.order = new orderType
{
    invoiceNumber = "2585",
    description = "Permit Application Fees: PRSF201900114",
};

这是我在获取令牌时发送到 Authorize.Net 的数据:

<?xml version="1.0" encoding="utf-8"?>
<getHostedPaymentPageRequest
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
    <merchantAuthentication>
        <name></name>
        <transactionKey></transactionKey>
    </merchantAuthentication>
    <clientId>sdk-dotnet-2.0.1</clientId>
    <transactionRequest>
        <transactionType>authCaptureTransaction</transactionType>
        <amount>338.78</amount>
        <order>
            <invoiceNumber>2585</invoiceNumber>
            <description>Permit Application Fees: PRSF201900114</description>
        </order>
        <lineItems>
            <lineItem>
                <itemId>9795</itemId>
                <name>W028</name>
                <description>Building Permit Fee</description>
                <quantity>1</quantity>
                <unitPrice>23.50</unitPrice>
            </lineItem>
            <lineItem>
                <itemId>9797</itemId>
                <name>E002</name>
                <description>Ele: Electrical Service New/Al</description>
                <quantity>1</quantity>
                <unitPrice>100.00</unitPrice>
            </lineItem>
            <lineItem>
                <itemId>9798</itemId>
                <name>W061</name>
                <description>Gas: Grain bin &gt; 400,000 Btu's</description>
                <quantity>1</quantity>
                <unitPrice>100.00</unitPrice>
            </lineItem>
            <lineItem>
                <itemId>9799</itemId>
                <name>W45</name>
                <description>Mechanical Permit Fee</description>
                <quantity>1</quantity>
                <unitPrice>100.00</unitPrice>
            </lineItem>
            <lineItem>
                <itemId>9800</itemId>
                <name>W034</name>
                <description>Plan Check Fee</description>
                <quantity>1</quantity>
                <unitPrice>15.28</unitPrice>
            </lineItem>
        </lineItems>
        <customer>
            <type>individual</type>
            <email>[email protected]</email>
        </customer>
    </transactionRequest>
    <hostedPaymentSettings>
        <setting>
            <settingName>hostedPaymentButtonOptions</settingName>
            <settingValue>{"text": "Pay"}</settingValue>
        </setting>
        <setting>
            <settingName>hostedPaymentOrderOptions</settingName>
            <settingValue>{"show": false}</settingValue>
        </setting>
        <setting>
            <settingName>hostedPaymentReturnOptions</settingName>
            <settingValue>{"showReceipt" : false, "cancelUrl": "https://localhost:44300/Payment/RedirectHandler"}</settingValue>
        </setting>
        <setting>
            <settingName>hostedPaymentPaymentOptions</settingName>
            <settingValue>{"showBankAccount": true}</settingValue>
        </setting>
        <setting>
            <settingName>hostedPaymentIFrameCommunicatorUrl</settingName>
            <settingValue>{"url": "https://localhost:44300/Payment/IFrameCommunicator"}</settingValue>
        </setting>
    </hostedPaymentSettings>
</getHostedPaymentPageRequest>

我错过了什么?

注意:我在 Authorize.Net 支持上遇到了类似的问题 herehere,但这似乎是一个未解决的问题。

authorize.net
1个回答
0
投票

我们已经找到了解决方案。

在orderType类中,有一个purchaseOrderDateUTC属性,根据需要设置。 解决方案: 删除“Utility/AnetApiSchema. generated.cs”下的purchaseOrderDateUTC属性

© www.soinside.com 2019 - 2024. All rights reserved.