Integrating Services with Subscription Renewal

What is Subscription Services

Subscription Service is a model where user pay a subscription price to have access to service. Subscription model can be daily, weekly, bi-weekly or monthly. Specific amount for each modality can be defined. Subscribed user gets certain benefits like low rate for browsing or free browsing, whereas non subscriber has to pay premium price to enjoy the service. For example there is a News service whose subscription fee is BDT 5 for 7 days and browsing fee is BDT 0.20 per minute. Non subscriber can also enjoy the service but browsing charge for them is BDT 2 per minute. If any user listen News service every day in multiple times, it is more economical for him to subscribe the service

What is the role of Subscription Renewal Application

Usually subscription base service is designed with Auto-Renewal capability. Role of Renew application is to renew the subscriber on due date. For example if any user subscribe any service for 7 days, then on 8th day he will be renewed if he has sufficient balance and if he doesn’t deregister the service during subscription period. After renewed, renew application sends confirmation sms to user that they are renewed.

Factor to be considered while integrating Subscription Services

There are three factors need to be considered while integrating any service under subscription

  1. Define Services- Services need to be defined first in charging gateway database.
  2. Registered Users Renewal- Subscribed user get renewed
  3. Status Changing URL- In different stage status of a user can be changed like user can be deregistered from registered or grace period mode or user can be in grace period from registered mode. Whenever status is changed, user can get a notification.

Define Services

Subscription services are defined in subscriptiongroup table of charging gateway database. There are different business parameters in different columns which need to be defined. Let’s take an example of real service which is currently live. Name of the service is Adbox. Short code of this service is 16265.This service contains religious contents. It is a daily subscription base service. So service ID is defined as AdboxDaily. Subscription fee is BDT 1. Subscriber can enjoy the service without any browsing fee daily for 1st 10 minutes. After that they will be charged BDT 0.50 per minute.Service is Auto Renewal in nature i.e. subscriber will be renewed every day. Grace period for this service is 3 days i.e. user can enjoy the service for 3 days if they are renewed because of insufficient balance. Every now and then, content provider can offer end user to enjoy the service without subscription fee for specific time. To differentiate regular modality and free offer modality, different service ID is defined for free offer, name AdboxDailyPromo. First service needs to be defined in subscriptiongroup table

Since it’s a daily subscription base service so service duration is ‘1’, grace period is 3. BNI means the short of the service which 16265. Downgraded state means from regular state service is downgraded in to the next state. For this service whenever any free campaign is running regular service which is AdboxDaily is downgraded to AdboxDailyPromo. DownGradeTo column means when free offer is done then service act as regular service that is why it is AdboxDaily in DownGradeTo column.

How many days user can enjoy free subscription offer is defined in FreeServicePeriod column. Before renewing, user gets a notification. Usually they get this type notification 24 hours before. That is why it is 1 in RenewNotificationDays column

RenewNotificationURL column contains the location of web service which send before renewal notification. Has_balance_option means whether service is offer any free browsing minutes for the subscriber or not. If yes then it is 1 otherwise it is 0. Since AdboxDaily is offering free browsing minutes that’s why it is 1. Initial_balance means how many free seconds user will get as a subscriber. Since this service is offering 10 minutes free that’s why it is defined 600 (10*60).

Renewal of Registered Subscriber

After the subscription period is over, user is entitled to get renewed. Only registered subscriber is considered for renewal. Actual subscription is not part renewal scope. Subscription is done by using web services.

Notification (Status Change)

User can be notified whenever their status is changed. Like from deregister to register and vice versa, from grace period to register or deregister, from downgraded to regular. Web services are developed for registration, deregistration, before renewal notification. Deregistration can be happened couple of ways. One is if user deregister the service then web service associate with deregistration sends the notification. Another way user can be deregistered if he doesn’t have sufficient balance for renewal. Initially they are in grace period, once grace period is over and if still they don’t have balance, they can be deregistered and get the notification. This type of notification is store in statewisemsg table of charging gateway database

Similarly state can be changed for the user who is renewed during grace period.

Rate Configuring

Take example of above live service name AdboxDaily. Once service is defined in subscriptiongroup table, rate is now need to be configured. Rate master and rate pulse table of charging gateway are used for configuring the. Rate master table is used for defining the rate ID based on service id which is defined in subscriptiongroup table and rate pulse table is used for defining charging amount based on rate ID which defined in rate master table.

In ChargingType column, need to mention whether it is specific or session base charging. Subscription charging is specific charging. Need to define for both prepaid and postpaid package. RateID column is user defined column. Best practice is to define a rate id such a way which is easy to understand.

In rate master table, same rate ID needs to be defined twice, one for prepaid and one for postpaid. In Rate Pulse table, only one rate ID need to be configured because ID is same.

Pulse rate is defined in paisa. Since Subscription fee is BDT 1, so it is 100.

Further Readings

‘Configuring Notification’ document

[feather_share size="24" show="twitter, google_plus, facebook, linkedin, mail " hide="reddit, pinterest, tumblr"]

We love to hear from you