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