0

我正在使用 QBMS 处理信用卡付款。然后,我使用 QBXML 和 QB Web 连接器将这些付款添加到 QB。我的 QBMS 支付处理工作正常,并且 ReceivePaymentAddRq 到 QB 正确地将交易数据添加到 QB 中。我的问题是我无法让 QB 在 ReceivePaymentAddRs 标记中返回 CreditCardTxnInfo。我的 QBXML 请求采用以下形式:

<ReceivePaymentAddRq><ReceivePaymentAdd>
<CustomerRef><ListID>8000074A-1369078671</ListID></CustomerRef>
<TxnDate>2013-04-27</TxnDate>
<TotalAmount>21.05</TotalAmount>
<PaymentMethodRef><FullName>Visa</FullName></PaymentMethodRef>
<Memo>Some note about the payment.</Memo>
<DepositToAccountRef><FullName>Undeposited Funds</FullName></DepositToAccountRef>
<CreditCardTxnInfo><CreditCardTxnInputInfo>
<CreditCardNumber>xxxxxxxxxxxx6224</CreditCardNumber>
<ExpirationMonth>7</ExpirationMonth><ExpirationYear>2015</ExpirationYear>
<NameOnCard>John G Smith</NameOnCard>
<CreditCardAddress>7 Walnut Lane</CreditCardAddress>
<CreditCardPostalCode>11714</CreditCardPostalCode>
<CreditCardTxnType>Charge</CreditCardTxnType>
</CreditCardTxnInputInfo>
<CreditCardTxnResultInfo><ResultCode>0</ResultCode>
<ResultMessage>Status OK</ResultMessage>
<CreditCardTransID>ME0147410371</CreditCardTransID>
<MerchantAccountNumber>6241710108583287</MerchantAccountNumber>
<AuthorizationCode>08368C</AuthorizationCode>
<ReconBatchID>240141438 1R19595257770038186280AKTO03</ReconBatchID>
<PaymentGroupingCode>5</PaymentGroupingCode>
<PaymentStatus>Completed</PaymentStatus>
<TxnAuthorizationTime>2013-04-28T02:49:10</TxnAuthorizationTime>
<TxnAuthorizationStamp>1367117354</TxnAuthorizationStamp>
<ClientTransID>qc947863</ClientTransID>
</CreditCardTxnResultInfo>
</CreditCardTxnInfo>
<IsAutoApply>true</IsAutoApply>
</ReceivePaymentAdd>
<IncludeRetElement>CustomerRef</IncludeRetElement>
<IncludeRetElement>PaymentMethodRef</IncludeRetElement>
<IncludeRetElement>TotalAmount</IncludeRetElement>
<IncludeRetElement>CreditCardTxnInfo</IncludeRetElement>
</ReceivePaymentAddRq>

我希望响应包括信用卡交易信息(CC 号码、CC Trans ID 等)。我需要此信息,以便我可以匹配对我的 Web 服务中的请求的响应。不幸的是,我得到的响应如下所示:

<ReceivePaymentAddRs statusCode="0" statusSeverity="Info" statusMessage="Status OK">
<ReceivePaymentRet>
<CustomerRef><ListID>8020014A-1367478579</ListID><FullName>Smith, John</FullName></CustomerRef>
<TotalAmount>51.05</TotalAmount>
<PaymentMethodRef><ListID>80000004-1232402081</ListID><FullName>Visa</FullName></PaymentMethodRef>
</ReceivePaymentRet>
</ReceivePaymentAddRs>

CreditCardTxnInfo 在哪里?

4

1 回答 1

1

您是否授权您的应用程序“允许访问敏感数据”?

对于 QBWC,添加<PersonalDataPref>pdpRequired</PersonalDataPref>到 QWC 文件。

参考:https ://member.developer.intuit.com/qbSDK-Current/doc/html/QBWC%20Developers%20Guide/04_TeachingQBWC_AboutYourWebService.6.2.html

对于 QBSDK 用户,您可以使用 AuthPreferences 对象要求访问。

参考:https ://member.developer.intuit.com/qbSDK-Current/doc/html/QBSDK%20Programmers%20Guide/04_SupportingUserAuth.6.3.html

C# 示例:

RequestProcessor2 rp = new RequestProcessor2();
AuthPreferences auth = (AuthPreferences)rp.AuthPreferences;
auth.PutPersonalDataPref(QBXMLRPPersonalDataPrefType.pdpRequired);
rp.OpenConnection2("", "Your App Name", QBXMLRPConnectionType.localQBD);
于 2013-05-07T15:44:59.063 回答