Add a Zendesk Sunshine Event when payment refunded in Stripe
Asynchronous microservice that is triggered by Stripe webhooks to create a Sunshine Event inside of Zendesk.
Built with Micro! 🤩
Both a Zendesk and Stripe account are needed for this to function.
Create a .env
at the project root with the following credentials:
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=
ZENDESK_SUBDOMAIN=
ZENDESK_INTEGRATION_EMAIL=
ZENDESK_INTEGRATION_SECRET=
Find your STRIPE_SECRET_KEY
within Stripe's API Settings.
ZENDESK_SUBDOMAIN
is the first part of the URL for your Zendesk account (ie. https://{ZENDESK_SUBDOMAIN}.zendesk.com/).
While logged in to your Zendesk instance create a new User to run the Webhooks under by going to Settings
> People
> Add User
> Role: Staff
; this email address will be used as your ZENDESK_INTEGRATION_EMAIL
above.
Find your ZENDESK_INTEGRATION_SECRET
within your Zendesk instance by going to Settings
> API
> enable Token Access
> add Active API Tokens [+]
> API Token
.
Run the following command to build the app
yarn install
Start the development server
yarn dev
The server will typically start on PORT 3000
, if not, make a note for the next step.
Start ngrok (change ngrok port below from 3000 if yarn dev deployed locally on different port above)
ngrok http 3000
Make a note of the https ngrok URL
provided.
Next head over to the Stripe Webhook Settings area, add a new webhook with the following details:
URL to be called | Webhook version | Filter event |
---|---|---|
ngrok URL above |
2018-05-21 (Default) |
'Select types to send' > charge.refunded |
You can easily deploy this function to now.
Contact Adam Grohs @ Particular. for any questions.