To determine whether a net.authorize.payment.authcapture.created webhook is a subscription renewal or not I check the payload id using getTransactionDetailsRequest.
Currently, when the webhook arrives there is no transaction->subscription block, but when I run getTransactionDetailsRequest later in the day there IS a subscription block.
Is it possible the subscription details have not been assiciated with this transaction yet at the time the webhook is delivered?
Also, note... When I create a subscription, I do a normal authcapture and create the subscription to begin 1 month from today. So far I've only tested this issue where transaction->subscription->payNum=1 and recurringBilling=false
12-04-2017 08:39 AM
12-05-2017 09:25 AM
Hi @CoreyC
This happens due to replication latency between databases and the time taken for this is variable but usually completes within a few minutes. I believe your result was due to this.
Do let us know in case you still have questions or see issues.
~ Rajvi
12-05-2017 03:42 PM
@raj this was in production, but it seems to of only occured for 1 day and then went back to working properly. I understand this is a latency issue, but without it there is NO way to know whether this payment is for a subscription or not which makes things very difficult.
All good for now, will keep you posted.
12-13-2017 10:38 AM
I'm seeing this recently, too. I realize this was from 2017, but I have debugged a few of these now where when attempting to getTransactionDetails after the webhook arrives, the subscription is null.
01-10-2021 08:14 AM
If you run it again and the subscription section is now populated, it is due to db replication latency.
01-15-2021 10:49 AM