Lemon Squeezy
Specifying the adapter
In config/pay.js
create a default
payment provider and set the adapter
property to @sails-pay/lemonsqueezy
.
module.exports.pay = {
providers: {
default: {
adapter: '@sails-pay/lemonsqueezy'
}
}
}
TIP
Do well to run npm i @sails-pay/lemonsqueezy
if you haven't installed the adapter previously.
Configuration
You can configure the Lemon Squeezy adapter for both production and local development.
Local development
In your config/local.js
specify the following object:
module.exports = {
pay: {
providers: {
default: {
apiKey: 'iQtuubSnpmDLj62HjyjCSbvPIv2AixLKkG4cWGudptk_LT',
store: '12055',
redirectUrl: 'http://localhost:1337',
signingSecret: '8WCUCGNLi+2mqc+AF/QT6DidAA8GhV8='
}
}
}
}
Production
For production set same properties in the default
provider but in config/pay.js
:
module.exports.pay = {
providers: {
default: {
adapter: '@sails-pay/lemonsqueezy',
store: process.env.LEMON_SQUEEZY_STORE,
apiKey: process.env.LEMON_SQUEEZY_API_KEY,
redirectUrl: process.env.LEMON_SQUEEZY_REDIRECT_URL,
signingSecret: process.env.LEMON_SQUEEZY_SIGNING_SECRET
}
}
}
TIP
Note we are using environment variables in production as you don't want to commit those credentials to source control.
Configuring values
If you're unsure how to obtain the configuration values shown above, please refer to the links and instructions provided below:
apiKey
Check out how to create an API key on your Lemon Squeezy dashboard.
store
To find your Lemon Squeezy Store ID, go to your Lemon Squeezy dashboard's Stores settings page.
The ID is the number next to your store's name.
redirectUrl
Redirect URL is a custom URL to redirect to after a successful purchase.
You can set this to redirect users to any page within your app after they've successfully completed their purchase.
signingSecret
This is a secret (usually a random string) between 6 and 40 characters that will be used to sign each request.
You should validate against this secret on each incoming webhook so you can verify that the request came from Lemon Squeezy.