Postilion eSocket.POS 结构化 xml 数据标签

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

美好的一天。 我希望有人可以帮助我。我们被要求在进行电子卡支付时对我们的 POS 系统进行更改。我们被要求通过结构化 xml 将交易的唯一 GUID 添加到 eSocket.POS。我们生成的用于创建请求的当前 xml 可以正常工作,但是一旦我将结构化 xml 元素包含到末尾,我在执行请求时就会收到错误。

这是我要添加的行

<Esp:StructuredData Name=\"TenderDetailGUID\" Value=\"BE6924AC-1379-49F8-9BE7-7A54821EF227\" ></Esp:StructuredData>

这是正在生成的原始 xml,可以正常工作

<?xml version=\"1.0\" encoding=\"utf-8\"?>
 <Esp:Interface Version=\"1.0\" xmlns:Esp=\"http://www.mosaicsoftware.com/Postilion/eSocket.POS/\">
 <Esp:Transaction PosOperatorId=\"  001\" RetrievalRefNr=\"0001\" TerminalId=\"0001\" TransactionAmount=\"10\" TransactionId=\"001\" Type=\"PURCHASE\" ></Esp:Transaction>
 </Esp:Interface>

这就是我要附加的内容(会产生错误)

<?xml version=\"1.0\" encoding=\"utf-8\"?>
 <Esp:Interface Version=\"1.0\" xmlns:Esp=\"http://www.mosaicsoftware.com/Postilion/eSocket.POS/\">
 <Esp:Transaction PosOperatorId=\"  001\" RetrievalRefNr=\"001\" TerminalId=\"001\" TransactionAmount=\"10\" TransactionId=\"001\" Type=\"PURCHASE\" ></Esp:Transaction>
 <Esp:StructuredData Name=\"TenderDetailGUID\" Value=\"BE6924AC-1379-49F8-9BE7-7A54821EF227\" ></Esp:StructuredData>
 </Esp:Interface>

我收到的错误如下:

<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<Esp:Interface Version=\"1.0\" xmlns:Esp=\"http://www.mosaicsoftware.com/Postilion/eSocket.POS/\"><Esp:Error ActionCode=\"DECLINE\" ResponseCode=\"30\" MessageReasonCode=\"9791\" Description=\"The content of element type &quot;Esp:Interface&quot; must match &quot;(Esp:Admin|Esp:Error|Esp:Transaction|Esp:Inquiry|Esp:Check|Esp:Merchandise|Esp:Callback|Esp:Event|Esp:Reconciliation|Esp:Network)&quot;.\" /></Esp:Interface>

我从以前的开发人员那里接手了这个 POS 开发,并且没有 eSocket.POS 经验。

如果有人可以帮助我,我将非常感激。

c# xml position
2个回答
2
投票

美好的一天。 我通过查看 .dtd 文件中 xml 的预期格式找到了答案。对于任何可能感兴趣的人,这是所需的格式。

<Transaction TerminalId="" TransactionId="" Type="PURCHASE" MessageType="AUTH" ForceOnline="TRUE" Reversal="TRUE" DateTime="" LocalTime="" LocalDate="" ExtendedTransactionType="" AmountTransactionFee="" CardVerificationResult="" BusinessDate="" RetrievalRefNr="" PosOperatorId="" CardNumber="" StartDate="" ExpiryDate="" CardSequenceNumber="" Cvv2="" Track1="" Track2="" Track3="" PanEntryMode="" PosCondition="" TransactionAmount="" CashbackAmount="" CurrencyCode="" ExtendedPaymentPeriod="" Account="" PinData="" PinKeySequenceNr="" FinalAmount="" MessageReasonCode="" ResponseCode="" PrivateData="" AuthorizationNumber="" CardholderAddress="" PostalCode="" SignatureData="" SignatureFormat="" ChainedTransactionId="" ActionCode="APPROVE" AuthorizingAgent="" AuthorizationProfile="" ServiceRestrictionCode="" CardProductName="" CardholderName="" MerchantId="" ReferralTelephone="" CardholderInformation="" SignatureRequired="TRUE" AddressVerificationResult="" EmvAmount="" EmvAmountOther="" EmvApplicationIdentifier="" EmvApplicationInterchangeProfile="" EmvApplicationLabel="" EmvApplicationPreferredName="" EmvApplicationTransactionCounter="" EmvApplicationUsageControl="" EmvApplicationVersionNumber="" EmvAuthorizationResponseCode="" EmvCryptogram="" EmvCryptogramInformationData="" EmvCvmList="" EmvCvmResults="" EmvInterfaceDeviceSerialNumber="" EmvIssuerActionCodeDefault="" EmvIssuerActionCodeDenial="" EmvIssuerActionCodeOnline="" EmvIssuerApplicationData="" EmvIssuerCodeTableIndex="" EmvIssuerScriptResults="" EmvTerminalApplicationVersionNumber="" EmvTerminalCapabilities="" EmvTerminalCountryCode="" EmvTerminalType="" EmvTerminalVerificationResult="" EmvTransactionCategoryCode="" EmvTransactionCurrencyCode="" EmvTransactionDate="" EmvTransactionSequenceCounter="" EmvTransactionStatusInformation="" EmvTransactionType="" EmvUnpredictableNumber="" FallbackType="" RPS="">
    <Esp:PurchasingCardData/>
    <Esp:Balance/>
    <Esp:PosStructuredData/>
    <Esp:StructuredData/>
</Transaction>

0
投票

您有一些云共享的 XML 文档或示例吗?...例如 TerminalConfig,其中包含 TerminalUpdate、TerminalInsert 等选项?

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