When creating a subscription (using the Java SDK) you only get back the subscription ID.
This ID is useless if you want to do the following:
Create a Webhook to listen for payments, because the payload ID is the transaction ID, not the subscription ID. So if all you get back when creating a subscription is a subscription ID, how do you ever match up what you may record in your database with what Authorize tells you in the Webhook payload? The answer is: you can't
Re-create a subscription (because you need to change the interval information), since you don't have the transaction ID, and because we don't store credit card information, you can't create a subscription from a customer profile, because in order to create a customer profile from a transaction, you need.... wait for it... a transaction ID! (and a subscription ID is not valid).
I can't possibly be the only person who is having to deal with this.
My question really is: how do you get a transaction ID from a subscription? Since all i'm given at the time of subscription creation is a subscription ID, i'm pretty well left out in the cold.
Any guidance would be most appreciated.
06-05-2019 10:36 AM
The following api methods may help you tie the payment webhooks to subscription ids, once there have been transaction ids generated for the subscription per your schedule:
Get Transaction Details api method will take a transaction id and show the subscription id associated with it.
https://developer.authorize.net/api/reference/#transaction-reporting-get-transaction-details
ARBGetSubscription api method will tie the subscription id to the transactions processed under it.
https://developer.authorize.net/api/reference/#recurring-billing-get-subscription
Also---
You can create a subscription from a profile
I hope this helps!
06-06-2019 12:37 PM