tristantbg / kirby-stripe
Connect to Stripe to easily create product checkouts and more
Installs: 28
Dependents: 0
Suggesters: 0
Security: 0
Stars: 15
Watchers: 3
Forks: 0
Open Issues: 1
Type:kirby-plugin
Requires
- php: >=7.4.0
- getkirby/composer-installer: ^1.2
- stripe/stripe-php: ^10.3
- vlucas/phpdotenv: ^5.4
This package is auto-updated.
Last update: 2025-03-18 13:40:00 UTC
README
A Kirby plugin to connect to Stripe.
Installation
Download
Download and copy this repository to /site/plugins/kirby-stripe
.
Git submodule
git submodule add https://github.com/tristantbg/kirby-stripe.git site/plugins/kirby-stripe
Composer
composer require tristantbg/kirby-stripe
Configuration
Add a .env file to the root of your Kirby plugin with the following properties:
Key | Type |
---|---|
STRIPE_LIVE_PUBLISHABLE_KEY | String |
STRIPE_LIVE_SECRET_KEY | String |
STRIPE_TEST_PUBLISHABLE_KEY | String |
STRIPE_TEST_SECRET_KEY | String |
Kirby config defaults
'tristantbg.kirby-stripe' => [
'test_mode' => false,
'payment_method_types' => ['card'],
'automatic_tax' => true,
'allowed_countries' => [
'FR',
'US',
'CA',
'GB',
'IT',
'ES',
'DE',
'MF',
'PM',
'RE',
'MC',
'MQ',
'LU',
'LI',
'GG',
'GP',
'GR',
'FI',
'DK',
'BE'
],
'shipping_rate_data' => [
'type' => 'fixed_amount',
'tax_behavior' => 'inclusive',
'fixed_amount' => [
// Amount*100 = 5€ => 500
'amount' => 500,
'currency' => 'eur',
],
'display_name' => 'Standard shipping',
// Delivers between 5-7 business days
'delivery_estimate' => [
'minimum' => [
'unit' => 'business_day',
'value' => 5,
],
'maximum' => [
'unit' => 'business_day',
'value' => 7,
],
]
]
]
Use the plugin
API KEYS
In order for the plugin to work, you need to get your keys here https://dashboard.stripe.com/apikeys
NOTE: This plugin includes a .env.example file as well.
METHODS
Use Stripe PHP client for custom queries
$stripe_client = KirbyStripe\Auth::stripeClient();
$products = $stripe_client->products->all(['limit' => 100])['data'];
Gets all prices
KirbyStripe\Methods::getPrices($search = 'optional query')
Gets all products
KirbyStripe\Methods::getProducts($search = 'optional query')
Queries uses Stripe query language:
Example:
$search = "active:'true' AND name~'name of product'"
https://stripe.com/docs/search#search-query-language
ROUTES ENDPOINTS
https://site.url/sck/api/prices
https://site.url/sck/api/products
https://site.url/sck/checkout/{{kirbyProductPageUid}}
https://site.url/sck/checkout/price/{{stripePriceId}}
PRICE_ID KIRBY FIELD
To easily connect a Kirby page to a Stripe price_id of a product:
stripePriceID:
extends: fields/stripe-price-id
Plugin Development
Kirbyup is used for the development and build setup.
Kirbyup will be fetched remotely with your first npm run
command, which may take a short amount of time.
Development
Start the dev process with:
npm run dev
This will automatically update the index.js
and index.css
of the plugin as soon as changes are made.
Reload the Panel to see the code changes reflected.
Production
Build final files with:
npm run build
This will automatically create a minified and optimized version of the index.js
and index.css
.
License
MIT