@particular./sync-stripe-to-zendesk

Please contact Particular. via info@uniquelyparticular.com for any questions

Usage no npm install needed!

<script type="module">
  import particularSyncStripeToZendesk from 'https://cdn.skypack.dev/@particular./sync-stripe-to-zendesk';
</script>

README

@particular./sync-stripe-to-zendesk

npm version semantic-release code style: prettier CircleCI

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.

⚠️ Zendesk Sunshine Event API is only available via Early Access BETA registration.

Built with Micro! 🤩

🛠 Setup

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.

📦 Package

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.

⛽️ Usage

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

🚀 Deploy

You can easily deploy this function to now.

Contact Adam Grohs @ Particular. for any questions.