美好的一天。 我希望有人可以帮助我。我们被要求在进行电子卡支付时对我们的 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 "Esp:Interface" must match "(Esp:Admin|Esp:Error|Esp:Transaction|Esp:Inquiry|Esp:Check|Esp:Merchandise|Esp:Callback|Esp:Event|Esp:Reconciliation|Esp:Network)".\" /></Esp:Interface>
我从以前的开发人员那里接手了这个 POS 开发,并且没有 eSocket.POS 经验。
如果有人可以帮助我,我将非常感激。
美好的一天。 我通过查看 .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>
您有一些云共享的 XML 文档或示例吗?...例如 TerminalConfig,其中包含 TerminalUpdate、TerminalInsert 等选项?