Usage-Based Subscription Overview
If you're offering a subscription pricing model where customers are charged based on their product or service consumption level, there're a few ways in which PayPro Global's API can help you.
Typically, under usage-based billing, customers subscribe to a product plan that will include a base price for a specific usage limit.
Once the customers pass this limit, they are charged extra for every additional consumption unit.
The usage of the product or service should be monitored on your side.
When you know how much was used and how much the customer is supposed to pay extra, we'd recommend informing him via email or notifying him through your platform or app. Once the customer is fully informed about the charge, you can run API:
Charge the existing customers without the need to fill in customer details again. |
With this method, you will make a one-time charge with the required amount. You need to provide the amount and currency to be charged via body parameters PriceValueand
and PriceCurrencyCodeand
and only give ProductId
and ReferencedOrderId
, so we use it as a source for payment.
It is not a recurring charge and after a successful payment, the webhook OrderCharged will be fired.
Another approach is to modify the recurring subscription price before the renewal date. On your side, you calculate the value of the consumed product or service and, before SUBSCRIPTION_NEXT_CHARGE_DATE=
(which you receive in webhook), you update the price via API:
Update the recurring price. |
The notification with the updated price will be sent to the customer if you define sendCustomerNotification: true
in the PriceRequest model.
So everything is covered for you. When a subscription has been successfully charged, you will receive the SubscriptionChargeSucceed webhook event.