A general workflow for our renewal process is such:
AuthCapture webhook recieves payment payload from authnet, which includes transaction id
I then take this transactionId and retrieve transaction details object using getTransactionDetailsRequest and getTransactionDetailsController
if the transaction details response object has subscription data attached, process the next recurring order
The problem I am having is that there are a few transactions coming through, which I can verify as valid, active, subscriptions, that have no subscription data attached in the getTransactionDetailsResponse object.
I tried re-running a few transactionids that failed to include subscription data during settlement time, later on in the day, and I was able to get back a getTransactionDetailsResponse object with the correct subscription data attached.
The only thing I can think of doing here is adding retry logic, where if transaction does not have a subscription attached, re-ping the transaction details api a few times and make sure.
However, this infrequnecy is not really acceptable, and I end up dealing with customers that dont have their orders fulfilled because of this. I need to get this resolved asap. If there are any more details needed from me, please let me know, happy to provide.