Payment system integration. Subscription business model
- provide a predictable and stable source of income,
- forecast their cash flow and budget for future growth,
- build customer loyalty,
- ensure flexible subscription changes (e.g., discounts, trial periods, subscription configurations).
The company does not have qualified staff to build a competent subscription infrastructure and lacks technical specialists for its integration with payment systems. The client also voiced a need to make the system flexible and configurable without the involvement of third-party IT staff to make adjustments.
When working on the project, the ProcessMIX team analyzed the client’s business requirements and selected a payment system that fully meets their needs. Stripe was chosen as the target payment system; it is easy to integrate, manage subscriptions in the Stripe personal account, store the history of all transactions, and get detailed access to the logs of each operation.
The next step was to work out the scheme of interaction between ProcessMIX and Stripe. The subscription process was divided into sub-processes, and the necessary data models were prepared for interaction with the Stripe side. All payment data and the subscription process itself is managed by Stripe thus, the interaction remains completely secure. . ProcessMIX initiates an inquiry to Stripe API, prepares all the required data for subscription’s creation, and gives access to resources a chosen subscription plan presupposes.
On the client app’ side, ProcessMIX logic allows switching to another subscription tariff plan, where a different set of resources, the possibility of canceling the subscription, reactivation in case of cancellation, and the possibility of renewing the subscription in cases of unsuccessful payments will be available to the user.
ProcessMIX in action
- Creation of a subscription is initiated depending on the type of plan.
- If the subscription has a free version, ProcessMIX creates organization with a free tarif plan.
- Otherwise, ProcessMIX creates an organization in an inactive state and prepares data to initialize the integration process with Stripe.
- PRMIX sends a request to Stripe to create a new user in the Stripe system.
- After getting data about a newly created user in Stripe, Processmix prepares data for a session checkout request on the Stripe side to redirect the user to the checkout page, where the user pays for the selected subscription.
- Payment data entry takes place on the Stripe side.
- The Stripe system informs ProcessMIX about status payment and the ProcessMIX system updates information about the subscription.
- In case of successful payment, the subscription status becomes active, and the user gets access to the system resources in accordance with the subscription plan.
- In case the payment failed, the system notifies a user and gives them an option to retry the payment.
The subscription renews automatically every month. If the payment fails, the user can change the payment method and try again.
The user can cancel or upgrade the subscription and add additional items to their plan.
As a result of the ProcessMIX solution’s implementation, the requirements of the service company were fully met:
- The ProcessMIX system made it possible to fully automate the subscription process with the ability to have additional products and resources added and removed without initiation of a new pay period. In this case, the amount payable is calculated in proportion to the days of use.
- All possible subscription life cycle scenarios are supported, such as creation, cancellation, renewal, extension, and switching to another subscription plan.
- The service company has successfully implemented a subscription payment method, eliminating the need for users to re-purchase services, and the number of refusals is expected to reduce.
- The implemented functionality allowed to make the system more flexible in case of adding extra conditions to the subscription processing from a business point of view or changing the technical configuration.