Callback Events
Each application you create can register to recieve callback events related to the users subscribed to and using your applicaiton.
Most of the details here apply to a pay as you go model which is time and usage sensitive. The monthly model is only concerned that the user has renewed subscription again for the following month.
Pay Monthly
This method allows you to implement the traditional subscription model users are used to. You should consider the cost of a credit when setting the price as users will possible do the same. The monthly subscription is automatically billed on the anniversary of the users subcription to your application. They will be charge the set amount of credits prior to being activated for use on your application. They must have available credits in their account to renew the subscription and remain active.
Pay as you go (PAYG)
The pay as you go model is slightly more compliated, but it allows for pro-rated billing such that the user is not fully subscribed, but will be charged for the usage of your application. This is otherwise know as metered billing.
Importance of a Free plan
You should include a "Free" or default plan for users. A user signing up will be set to this Free plan by default when selecting your application.This applied for both Monthy and PAYG subscriptions. This also allows the user to continue using your appliacation without charge if they run out of credits or decide to terminate their subscription.
Pay as you go monthly limit
The pay as you model will charge at max 1.2x the costs of the equivalent monthly model. This feature has been add to allow fairness to both user and application owner. If by mistake the user make 100's of hours use of the application, the cost for the usage will be as per assigneld monthly charge + 20% premium.
Subscription plan details
Below are an explanation of the subscription plan properties that can be set when creating an subscription plan entry. These apply only to pay as you go users, as monthly users only have their monthly credits charged to them.
| Property | Description |
|---|---|
| Plan name | This is the name of the plan displayed to the user |
| Cost | This is the cost per hour that will be charged to the user. |
| Credit Configuration | The application may want your phone number for certain usage |
| Signup Credits | You can charge a user a fee for signing up to your application |
| Standing Credits | You can choose to charge the user a daily cost during the subscription. |
| Max Credits | This is the maximum credits a user can be charged in any one day (default 1.2x cost) |
| Bonus Credits | You can give the user bonus credits when they sign up. These credits can only be used on the specific subscription tier for which the bonus was applied. Bonus must be used before another can be applied and limited to 1 per month |
Credit charges
The subscripto billing server will keep track of a users usage of your application. We charge users credits per hour on t
Cost
You should inclde A month has around 720 hours.
Per hour
Monthly
Outline
- Explain that subscripto has two flavours of billing available for the application owner. Monthly subscription, where the user is billed a fixed amount of credits that allow unlimited usage for that month. A pay as you go model where the user is charge credits per hour usage of your application. The hourly credit charge is pro-rated so 10 minutes usage is seen as 10/60 of the hours as a charge
Authentication
Authentication happens with OAuth. It emables our users to login to your application and create an account using their Subscripto credentials. They do not need to create or remember a new password. We follow best practises and standard for OAuth Login, such that, you will receive information such as the users Subscripo User ID. You should map this to the user account created in your application as you will need the Subscripto User ID to make request for that Subscripto user. Simply, Subscripto has no knowledge of the User ID or email you have registered directly in your application, but needed to invoke actions on that user.
See examples such as:
- PassportJS used in Javascript
- Socialite used in PHP applications
Authentication Expiration
When your app uses Subscripto Login to authenticate someone, it receives a User token. The token has a specifed life time which will expire after sometime. Alongside the user token, there is a refresh token supplied so the users session could be continued. In such case, the User Token will expire after a certain time after the session ends.
DELETE
Once you have registered as a partner, you will need to register an app to be able to:
- Enable integration: Start the integration of the "Login with Subscripto" button with your application
- Manage Permissions: You can select the permissions and features your application will request the user to agree to when tey sign up to your application
- Obtain user credentials: Each application will have its own Application ID and Application Secret, which is needed for authentication and authorisation for generating an access token for the application
Permission and Features use cases
Use cases define the available options that Subscripto will allow your application to interact with our platform and also the users that register with your application.
When you add a use case to your application, the features, permissions are displayed to the user for acceptance when they register with your application. For example, if you select application_billing, this will enable the application to perform billing requests for actions taken in their application.
You can add multiple use cases as required by your application, provided it makes sense for your application.
Our existing use cases
Permissions
| Property | Description |
|---|---|
| account_email | The application may want your email address for certain usage |
| account_phone | The application may want your phone number for certain usage |
| account_credits_read | Enable the application the check your remaining |
| account_credits_charge | Enable the application to charge your credits (usually for in-app purchases) |
| account_pay_as_you_go | Enable the application to bill on a pay as you go purposes) |
| account_notifications | Enable the application the send notifications (via Subscripto Partner API) |
Features
| Property | Description |
|---|---|
| application_in_app_billing | Enable in app billing |
| application_submit_metered_usage | Enable the application to submit usage information |
| application_marketing | Enables the application to send you marketing message |
| application_notification | Enables the application to send you notification message related to the application |
What are permissions and features
Permissions are how the application asks someone if if can access their data stored on the Subscripto platform.