Authorize.Net: «Неожиданная ошибка» при использовании invoiceNumber - PullRequest
1 голос
/ 03 июля 2019

Я пытаюсь отправить 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>testUser@test.com</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, но, похоже, это нерешенная проблема.

...