I have written multiple audit reports for my saas apps over the last few years. Most of the logic uses the PayPal API to get the full transaction list (using TransactionSearch) and then for each transaction, get the details (using GetTransactionDetails).
The intent is to line up my database records of recurring payments received with the latest PayPal data to make sure I didn't miss an IPN or anything.
This worked fine up until about a month ago.
Lately, the subscription ID is missing from most transactions.
In the past, subscription ID was contained in the "SUBSCRIPTIONID" NVP field. This is no longer there for all transactions, and I don't see any other fields returned that contain a subscription ID. All other fields seem to be there though, so I know my calls are working. It's just the NVP response is missing the subscription ID. I have also verified that the subscription ID is included with the IPN sent for the same transactions.
My code is using an older API version (108.0). Now in theory, PayPal won't ever change how an API works, so I'm baffled as to why results are no longer what they were with the same codebase a month ago.
I tried the latest API version (124.0), and it provides subscription ID's for more transactions than 108, but also not all of them.
I'm totally stumped here. Does anyone have any clues?
I don't want to ask PayPal support, because it will take 3 weeks to get no help at all :-)