I also checked that there is a bill with that TxnId
How did you check this?
The only way to check this would have been to do a BillPaymentCheckQuery, which you showed you did above, and which QuickBooks responded telling you that the Bill Payment Check didn't exist.
Note that TxnIDs do not show up in the QuickBooks GUI, so you couldn't possibly have checked for it there...
Also, this XML:
<TxnID >
xx-xxxxxx
</TxnID>
Would check for a TxnID
value of:
"\r\n (lots and lots of spaces here) xx-xxxxx\r\n (lots and lots of spaces here)"
You should be passing:
<TxnID>xx-xxxxx</TxnID>
Finally, you indicate that you:
I also checked that there is a bill with that TxnId
However, you are querying for a BillPaymentCheck
. If you want to query for a Bill
, you need to query using BillQuery
. The TxnID
value for a BillPaymentCheck
will NOT be the same as the TxnID for a Bill
.