trailpack-stripe
Stripe API Trailpack for Trails
Handles and validates Stripe Webhooks.
It checks the time the webhooks were received and keeps the DB in sync by adding a lastStripeEvent
attribute to each event.
Optionally, it can perform Round Trip
validation of every Stripe webhook that hits the endpoint.
Stores Stripe event models with lifecyle handler for after a Stripe event occurs.
Makes call via Stripe API using a Stripe Service.
Supported ORMs
Repo | Build Status (edge) |
---|---|
trailpack-waterline | |
trailpack-sequelize | |
trailpack-js-data |
Don't see your ORM here? Make a PR!
Why Store Models from Stripe?
Stripe has a great API, but performing complex queries through it are not really possible. By storing events and models from Stripe, you get the ability to do complex queries and analytics. This also allows you to interact qucikly with an entry that you've just created instead of waiting for Stripe Webhooks.
Install
With yo:
$ yo trails:trailpack trailpack-stripe
With npm:
$ npm install --save trailpack-stripe
Configure
// config/main.jsmoduleexports = packs: // ... other trailpacks // config/stripemoduleexports = // Public Key public: processenvSTRIPE_PUBLIC || '<test_public_key>' // Secret Key secret: processenvSTRIPE_SECRET || '<test_secret_key>' // Validate Events with Stripe validate: processenvSTRIPE_VALIDATE || false
Then on Stripe
In Account settings Webhooks
Point webhook to <yourdomain>/stripe/webhook
Enable whatever webhooks you desire
Usage Examples
Get a Full list of API calls here
var const StripeService = thisappservicesStripeService // Create a CustomerStripeServicecustomers // Retreive a CustomerStripeServicecustomers