Integration Docs

 

1.Integration

a) API Integration

b) Coupon Integration  

2. Payment Processing

3. Customer Service

4. Lifecycle Management

 

1. Integration Options

Sellers can choose to integrate with SubSuite via API and Webhooks (recommended) or Manually with Coupon Codes. API integration ensures a more seamless user experience and limited administration. Coupon codes allow for a quick and easy non-technical solution to get started.

  

1. What we do (Webhooks): (Purchases, Cancellations, Upgrades, Verification):

SubSuite sends requests to you every time a subscriber purchases, cancels, upgrades, or claims to be an active subscriber (subscriber verification).

2. What you do (API) (Cancellations): 

Required: You will send us a request when a subscriber that registered with SubSuite cancels. Optional: With our API you can also request ANY fields you want from our database - get real time data at your fingertips. No additional setup.

View Field List and methods: for developer implementation 

 

B) Method 2: Coupon Codes (Non-Technical - requires no coding)

1. Create coupon codes:

You will create and upload coupon codes to be used for each base plan. Coupon codes will allow new subscribers from SubSuite free lifetime access to that specific plan (payments are already processed at purchase so coupons need to be free so the subscriber is not charged twice). Coupon codes should not be re-usable and every subscriber will get their own unique code. New subscribers are directed to the login / registration web / app links you supply in your dashboard.

2. Email Confirmations:

You will receive automated emails confirming purchases, cancellations and upgrades and will need to manually update your systems. You will need to send us an email when one of your subscribers that joined SubSuite cancels or upgrades their service. Processes can be automated.

 

 2. Payment Processing

Payments are immediately routed directly to your bank from Stripe without going to SubSuite first.  Setup is fast and easy.

 

 3. Customer Service

You can manage and own all non-payment related customer service processes normally. Chargebacks and payment issues are handled by SubSuite and Stripe. Cancellations can be facilitaed by either party if you integrate via API. Coupon code cancelations need to happen on SubSuite. You can always provide your subscribers that join via SubSuite with our support email. We respond in less than 4 hours normally for any payment or cancellation related issues. 

 

4. Lifecycle Management

SubSuite works hard to retain your subscribers but you can affect your own lifecycle management strategy as you normally would. If integrated via API, we recommened you send your own automated welcome email at purchase with instructions on accessing their service. Subsuite can do this for you as well if you prefer. The welcome email should include links and a temproray password or instructions to use the "forgot password" function on first login or any other process you may have. They will also be able to access your login links on SubSuite.

You can set up additional life-cycle management tools within SubSuite if you choose. Your admin can be cc’d on all SubSuite communications that involve transactions (welcome emails, receipts, etc.).

 


API and Webhook Fields

 

== PURCHASE WEBHOOK ==

URL: <Provider specified>
Method: POST

REQUEST:

{

"event": "purchase",
"secret_key": "1234567890abCdefGhijKlmnoPqrstUV",
"first_name": "Jimmy",
"last_name": "Subs",
"email": "This email address is being protected from spambots. You need JavaScript enabled to view it.",
"user_id": "1",
"plan_name": "Premium",
"plan_term": "1 Month",
"plan_price": "19.99",
"primary_plan": false,
"subsuite_price": "14.99",
"subsuite_fee_percent": "13.00",
"processing_percent": "2.90",
"processing_fee": "0.30",
"net_payment": "12.31",
"purchase_datetime": "2024-05-24 20:21:35"

}


RESPONSE:

{

"received": true

}



== UPGRADE WEBHOOK ==


URL: <Provider specified>
Method: POST

REQUEST:

{

"event": "change_plan",
"secret_key": "1234567890abCdefGhijKlmnoPqrstUV",
"first_name": "Jimmy",
"last_name": "Subs",
"email": "This email address is being protected from spambots. You need JavaScript enabled to view it.",
"subsuite_user_id": "1",
"plan_name": "Platinum",
"plan_term": "1 Month",
"plan_price": "29.99",
"primary_plan": false,
"subsuite_price": "24.99",
"subsuite_fee_percent": "13.00",
"processing_percent": "2.90",
"processing_fee": "0.30",
"net_payment": "20.72",
"previous_plan_name": "Premium",
"previous_plan_price": "19.99",
"change_datetime": "2024-06-07 11:35:52"

}


RESPONSE:

{

"received": true

}


== CANCEL WEBHOOK ==


URL: <Provider specified>
Method: POST

REQUEST:

{

"event": "cancel",
"secret_key": "1234567890abCdefGhijKlmnoPqrstUV",
"first_name": "Jimmy",
"last_name": "Subs",
"email": "This email address is being protected from spambots. You need JavaScript enabled to view it.",
"subsuite_user_id": "1",
"plan_name": "Platinum",
"plan_term": "1 Month",
"plan_price": "29.99",
"primary_plan": false,
"subsuite_price": "24.99",
"cancel_date": "2024-07-10 07:14:21",
"cancel_reason": "No longer using service",
"access_until": "2024-08-01 00:00:00"

}


RESPONSE:


{

"received": true

}



== VERIFY WEBHOOK ==


URL: <Provider specified>
Method: POST

REQUEST:

{

"event": "verify",
"secret_key": "1234567890abCdefGhijKlmnoPqrstUV",
"first_name": "Jimmy",
"last_name": "Subs",
"email": "This email address is being protected from spambots. You need JavaScript enabled to view it."

}


RESPONSE:

{

"email": "This email address is being protected from spambots. You need JavaScript enabled to view it.",
"plan_name": "Platinum",
"plan_term": "1 Month",
"price_paid": "29.99",
"status": "Active"

}



== PLAN CANCELLATION API CALL ==

URL: https://api.subsuite.io/v1/cancel-primary
Method: POST

REQUEST:


{

"api_user": "provider-123",
"secret_key": "1234567890abCdefGhijKlmnoPqrstUV",
"first_name": "Jimmy",
"last_name": "Subs",
"email": "This email address is being protected from spambots. You need JavaScript enabled to view it.",
"plan_name": "Platinum",
"plan_term": "1 Month",
"price_paid": "29.99",
"cancel_date": "2024-07-10 07:14:21",

}


RESPONSE:


{

"received": true

}