We are developing an app that charges based on usage that can vary month to month. I'm evaluating all options for collecting payment. Is it mandatory to use Shopify Billing APIs for charging in this scenario in order to be approved as a public app on the App Store? If we were to collect a credit card during the installation, would this be acceptable?
Yes, Shopify requires that you use their Billing API in order to be approved on the Shopify App Store. They do allow some exceptions, but I imagine it's very rare. See Requirements for public apps, #4 Functionality & Quality:
Shopify has an API-based billing system that supports different types of app charges. It bills merchants through the same system that's used for their Shopify subscription, and makes it easier for them to keep track their payments.
All charges associated with your app must go through theBilling API. You aren't permitted to use other payment methods or systems, unless you've been notified otherwise by Shopify.Contact usif you have any questions or concerns.
If your app has multiple pricing plans, then merchants must be able to upgrade and downgrade their plan without having to delete the app or contact support.
Enterprise-level pricing plans must be referenced in theDescription of additional chargessection of the pricing section of the app's listing.
Yes, all apps must use Shopify Billing API unless you have Shopify's approval.
Here is the requirements document for your reference: