Test billing and live payments should be separated by explicit configuration, credentials, data and behavior. The application should be able to state which billing environment it is using and reject combinations that cannot be valid.
A local mock can help develop a pricing screen. A provider sandbox can exercise real integration behavior using test data. Live billing involves actual customers and payments. Treat each as a deliberate mode with a defined purpose rather than inferring the mode from whichever credential happens to be present.
Distinguish the environments clearly
Consider a hypothetical inventory forecasting SaaS. Its developer wants to work offline on a plan-selection screen, test subscription changes with Paddle and later launch a staging and production deployment.
Those tasks can use this illustrative arrangement:
| Application environment | Billing mode | Main purpose |
|---|---|---|
| Local development | Explicit mock or provider sandbox | Develop UI offline or test integrations with synthetic records |
| Automated tests | Isolated mock or sandbox fixtures | Exercise expected transitions without charging customers |
| Staging | Provider sandbox | Rehearse checkout, notifications, and recovery with test accounts |
| Production | Provider live environment | Process authorized customer payments using production configuration |
