Opened 12 months ago

Last modified 7 weeks ago

#78 assigned task

Subscription payment system for Listed chemicals monitoring

Reported by: Mike Dewhirst Owned by:
Priority: medium Version: 1.x
Keywords: listed monitor service subscription Cc:

Description

The price for the monitoring service may change from time to time and it will be subject to the existing bulk discount mechanism. So the price will come from the most recent applicable price record in the database.

For larger customers, there may be a preference for monthly payments.

We need to examine the subscription system service provided by our gateway provider first to see if we need to re-invent the wheel.

Change History (2)

comment:1 by Mike Dewhirst, 4 months ago

Using Stripe for subscriptions is the obvious approach. We need to establish a Stripe migration to automatically set up the important keys for flawless implementation.

comment:2 by Mike Dewhirst, 4 months ago

Stripe scenario

  1. We now have an embedded Stripe pricing table on test
  1. The subscription works and Stripe internals manage the process
  1. On successful subscription we provision the appropriate 10/100 token
  1. Customers use a Stripe link to login/monitor their own Chemintro Stripe accounts
  1. Due to 4 we do not need to manage revenue on our website
  1. We need to establish a Stripe Webhook to receive event information such as:
    • customers upgrading their subscription to the next level -> re-provision access to that level
    • customers cancelling their subscription -> de-provision access as appropriate (tbd)

Work required to finish this ticket:

  • Welcome page - contains instructions on 4 above
  • Adjust the Token page to contain the Stripe link in 4 above - visible only to the Manager role
  • Provision the service - 3 above - find the initial Leeway token and adjust the number
  • Establish and test a Stripe Webhook
  • Determine which Webhook events are of interest and raise a ticket for each one we decide to use.
Version 0, edited 4 months ago by Mike Dewhirst (next)
Note: See TracTickets for help on using tickets.