The subscribeWithExistingAccount() is deprecated in versions 11.0+. Please use subscribe() to create subscriptions for accounts that already exist if you are using version 11.0+.
If you have already created an account, use this call to create a subscription for that account. The call takes an account ID, creates a new subscription, and, optionally, generates an invoice on that account and applies a payment immediately.
If you use this call on an account with an existing subscription, the new subscription will be created and, if options are set to generate an invoice and apply payment, the invoice will include outstanding charges for all existing subscriptions for that account (including the previous subscriptions as well as the new one being created).
The payment would then be applied to the outstanding balance for the newly created invoice.
Using This Call
There are two common scenarios for which you can use this call:
- The most common use case is if one of your customers has created an account for a free trial and now wants to activate that subscription. Use this call to activate the subscription, provide payment information, and apply a payment.
- A second less common case is to create a second subscription for an existing account.
Using subscribe() and subscribeWithExistingAccount()
Using the subscribe() Call
Use the subscribe() call to create a new account and subscription at the same time. The subscribe() call requires an electronic payment method, such as a credit card, to be passed in as a parameter.
Using the subscribeWithExistingAccount() Call
Use the subscribeWithExistingAccount() call to create a new subscription for an existing account.
The subscribeWithExistingAccount() call can also be used for creating a new an account and subscription when you do not want to capture an electronic payment method (such as a credit card). If you want to create subscriptions without capturing an electronic payment method, Zuora recommends using subscribeWithExistingAccount() in the following process: