Subscription Integration with Stripe

Job ID: 39039751

Budget: $250 – $750 USD

Hello,

Need 2 pages added to my website so people can subscribe and buy Gift Subscriptions for my magazines.

So 1 page for Subscriptions and 1 page for Gift Subscriptions. Have Figma files ready to go (see attached).

Website is in php laravel

----
Subscription System Requirements

Subscription Types
Simple Subscription
Users can purchase a subscription directly.
100% of the payment is sent to the vendor’s account.
Subscription with Referral Code
Users can purchase a subscription by applying a referral code.
The payment will be split as follows:
80% of the payment is sent to the vendor’s account.
20% of the payment is sent to the referee’s account.

Gift Subscription
Users can give a subscription to another user.
Workflow:
The gifting user searches for the recipient by username.
Basic public information about the recipient is displayed for confirmation.
Upon confirmation, the payment is processed.
100% of the payment is sent to the vendor’s account.

Subscription Packages
Monthly Subscription
Price: $3.99/month.
Annual Subscription
Price: $44.99/year.

Email Notifications
Confirmation Email:
After a successful purchase (web or app), a confirmation email is sent to the user.


Integration Requirements
Stripe Integration
Implement Stripe for managing payments for all subscription types
Enable split payments for subscriptions with referral codes
Restore subscription
Apple Subscription Integration
Ensure a RESTful API is available to:
Record subscriptions purchased via Apple in the database for centralized management.
Trigger confirmation emails for Apple subscription purchases.
Restore purchase

Subscription Management System
Admin Panel Features
Subscription Overview
Display user subscriptions with the following details:
User details (e.g., name, email).
Subscription type (simple, referral, gift).
Payment source (web or mobile).
Expiry date.
Grant Free Subscription
Allow admins to grant free subscriptions to any user for a specified duration.
Subscription Stats
Display the following statistics in the admin panel:
Number of Active Subscriptions: Total number of subscriptions currently active.
Total Subscriptions: All subscriptions purchased (active + expired).
Recurring Clients: Number of users who renew subscriptions.
Total Revenue: Total earnings from subscriptions.
Split Payments: Breakdown of payments split between the vendor and referees.
Generate Referral Code
Generate a referral code with discount in % and assign a user to it.


Backend Requirements
RESTful APIs
Create Subscription Record API
Triggered after a successful payment (via Apple).
Stores subscription details in the database.
Confirmation Email API
Send a confirmation email after purchase (both web and mobile).
Database Schema
Subscriptions Table
Subscription ID
User ID
Type (simple, referral, gift)
Payment Source (web, mobile)
Payment Split Details (if applicable)
Start Date
Expiry Date
Payment Handling
Integrate Stripe for payments, including split payments for referral codes.
Manage webhooks to handle payment events like success, failure, and subscription renewal.

Frontend Workflow
Web
Users select a subscription type and package.
Enter payment details and complete the payment.
Confirmation screen with subscription details is displayed.
Confirmation email is sent to the user.
Mobile (iOS)
For Apple subscriptions, ensure a seamless payment process through the App Store.
Trigger backend API to record subscription details and send confirmation emails.
Admin Panel
View and manage all subscriptions.
Grant free subscriptions.
View detailed statistics and payment splits.