Macareux Stripe Subscription
A Concrete CMS package to integrate the stripe payment system with concrete CMS.
Inspired by Laravel Cashier.
Installation
$ cd YOUR_PROJECT_ROOT
$ copy ~/Downloads/c5j_stripe packages/c5j_stripe
$ ./concrete/bin/concrete5 c5:package-install c5j_stripe
How To Setup
Make sure you're using stripe live or test mode.
Configure Keys
Add Pricing Plans
- Add the product(s) under Billing section.
- Add pricing plans for the product(s).
- Go to https://YOUR_STIE/dashboard/stripe/settings.
Webhook Setup
- Add the webhook endpoint on https://dashboard.stripe.com/test/webhooks
- User Endpoint URL https://YOUR_STIE/c5j/stripe/webhook
- Select Version Your current version (2020-03-02)
- Select Events to send
- customer.subscription.updated
- customer.subscription.deleted
- customer.updated
- customer.deleted
- invoice.payment_action_required
- Reveal the Signing secret from the webhook detail page
- Copy and paste it to your https://YOUR_STIE/dashboard/stripe/settings page
Events
Now this package has two application events named on_webhook_receive and on_webhook_handle which dispatch respectively after receiving the webhook call from stripe and handling it on concrete5 side.
Optional Settings
Currency & Currency Locale
- Select the Currency & Locale you want to display on your site. Noted that, it won't convert the currency, it just displays the cost in the selected format.
The payment will be made on the currency you created the plan with.
Checkout
- Require agree to terms on checkout enabling this option requires agreeing to the terms and conditions on the checkout.
Require Admin Approval
- Please be careful about enabling/disabling this option. When this option is enabled, it creates a new entry on checkout to the StripeSubscriptions table with status draft and a random stripe ID.
When the administrator approves the subscription it creates the actual subscription on the stripe side and update the concrete5 database with proper data.
Also, sends a subscription successful notification email to the subscriber.
Or if the administrator cancels the subscription request the subscription got marked as cancelled.
Success Page URL
- The page is to redirect after a successful payment/subscription. The block level url has the higher priority.
Cancel Page URL
- The page is to redirect after a cancelled/failed payment/subscription. The block level url has the higher priority.
References