I’ve implemented a Recurring billing flow using the Billing API and it works assuming the merchant goes from start to finish without stop but if the merchant installs and drops drops off then he/she cannot re-initiate the flow. Here’s what I’m expecting from the merchant’s perspective:
Expected:
- Merchant clicks add app
- Merchant is redirected to install confirmation screen with scope
- Merchant accepts
- app creates charge and redirects to confirmation URL
- Merchant closes the app (maybe needs time to think about accepting the billing charge) ***
- Merchant opens back the app
- app creates charge and redirects to confirmation URL
- Merchant accepts charge and app is successfully installed and billed
Actual:
- Merchant clicks add app
- Merchant is redirected to install confirmation screen with scope
- Merchant accepts
- app creates charge and redirects to confirmation URL
- Merchant closes the app (maybe needs time to think about accepting the billing charge) ***
- Merchant opens back the app
- app creates charge and redirects to confirmation URL
- Shopify admin blocks the redirect
I’ve confirmed that in both cases the charge is created and saved to the DB successfully. It seems the only way the merchant can complete the billing flow is to uninstall the app and try again but this is not clear and can easily lead to misunderstandings and assumptions that the app just doesn’t work despite being installed. What’s the accepted way to continue an abandoned billing flow or is there something I’m doing wrong?
For reference, here are what my successful and unsuccessful redirects to the confirmation url look like:

