Example: Seat-based pricing
Shieldware sells access to security software for $10 per user per month. The subscription renews monthly, and its price changes when the customer adds or removes users.
Scenario at a glance
How sign-up works
- Shieldware creates a checkout URL for the subscription.
- Shieldware redirects the customer to Cleverbridge checkout.
- The customer creates or confirms the payment profile and submits the payment.
- Cleverbridge sends Shieldware a
PaidOrderNotification. - Shieldware grants access for the purchased quantity, and Cleverbridge emails the invoice.
Notifications connect subscription events to Shieldware's entitlement and customer-service processes. To configure them, see Manage Notifications. For event definitions, see Notification Types.
Implementation details for sign-up
A sign-up URL can look like this:
https://<secure.yourdomain.com>/<your client account ID>/purl-checkout?cart=<ID of the security software>&firstname=Han&lastname=Solo
You can predefine customer data such as firstname, lastname, and emailaddress. For all supported parameters, see Checkout Process Parameters > Customer Data.
To use an existing payment profile, generate a session URL and include the customer's UUID. For more information, see Single Sign-On (SSO).
For an offline payment, Shieldware receives a NewOfflinePaymentPurchaseNotification. The CustomerConfirmationPageUrlNotification includes a link to the confirmation page where Shieldware can show payment instructions.
Shieldware can import the transaction details from the notification or retrieve them with Get Purchase.
Add users
This is the action that distinguishes seat-based pricing from a fixed plan. Shieldware changes the subscription item quantity, previews the updated price, and asks the customer to confirm it before charging.
- Shieldware requests a price preview for the new user quantity.
- Cleverbridge returns the updated price.
- Shieldware displays the price to the customer.
- After confirmation, Shieldware submits the quantity change.
- Cleverbridge processes the payment and sends a
PaidOrderNotification. - Shieldware grants access for the updated quantity.
API settings for adding users
Use /subscription/updatesubscriptionitem for both the preview and the confirmed change.
For the preview, include:
Quantityfor the new number of users.AlignmentSettings.GetCustomerPricePreviewOnly = true.AlignmentSettings.AlignToCurrentInterval = true.
After confirmation, call the same route with:
Quantityfor the new number of users.AlignmentSettings.GetCustomerPricePreviewOnly = false.AlignmentSettings.AlignToCurrentInterval = true.
For a monthly term, TriggerImmediateRenewal = true can renew the subscription for a full term and help avoid microtransactions.
If the payment profile is invalid, send the customer to the ContinueUrl from the API response so they can update the profile and complete payment.
What happens at renewal
- Cleverbridge reminds the customer about the upcoming charge and sends Shieldware a
SubscriptionReminderChargeNotification. - On the renewal date, Cleverbridge charges the existing payment profile for the current quantity.
- After payment confirmation, Cleverbridge sends a
PaidOrderNotification. - Shieldware continues access for the purchased users, and Cleverbridge emails the invoice.
Some reminder emails are optional and are not active by default. For more information, see Customer email types.
Offline payment methods follow a different lifecycle. For more information, see Flow charts for notification events.
Add another service
Shieldware can add another product to the existing subscription without creating a separate subscription.
- Request a price preview for the additional product.
- Display the updated price to the customer.
- After confirmation, submit the product addition.
- Cleverbridge processes the payment and sends a
PaidOrderNotification. - Shieldware grants access to the additional service.
API settings for adding a service
Use /subscription/addsubscriptionitem for both the preview and the confirmed addition.
For the preview, include:
ProductIdfor the additional service.AlignmentSettings.GetCustomerPricePreviewOnly = true.AlignmentSettings.AlignToCurrentInterval = true.
After confirmation, call the same route with:
ProductIdfor the additional service.AlignmentSettings.GetCustomerPricePreviewOnly = false.AlignmentSettings.AlignToCurrentInterval = true.
Shieldware can import the transaction details from the notification or retrieve them with Get Purchase.
Change the payment profile
Shieldware can link to the Cleverbridge self-service change payment process:
https://<your secure hostname>/<your client account ID>/scp/S<subscription ID>-<subscription Secret>