Question

I'm using QBMS to process credit card payments. Then, I'm using QBXML and the QB Web Connector to add these payments into QB. I have QBMS payment processing working fine, and the ReceivePaymentAddRq to QB correctly adds the transactions data in QB. My problem is that I can't get QB to return the CreditCardTxnInfo in the ReceivePaymentAddRs markup. My QBXML request is in the following form:

<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>

I expected the response to include the credit card transaction information (CC number, CC Trans ID, etc.). I need this info so that I can match up responses to the requests in my web service. Unfortunately, the response I'm getting looks like this:

<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>

Where's the CreditCardTxnInfo?

Was it helpful?

Solution

Did you authorize your application to "allow access to sensitive data"?

For QBWC, add <PersonalDataPref>pdpRequired</PersonalDataPref> to the QWC file.

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

For QBSDK users, you can use the AuthPreferences object to require access.

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

C# Sample:

RequestProcessor2 rp = new RequestProcessor2();
AuthPreferences auth = (AuthPreferences)rp.AuthPreferences;
auth.PutPersonalDataPref(QBXMLRPPersonalDataPrefType.pdpRequired);
rp.OpenConnection2("", "Your App Name", QBXMLRPConnectionType.localQBD);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top