Files
twenty/packages/twenty-apps/community/stripe-synchronizer/README.md
T

1.6 KiB

Stripe synchronizer

Synchronizes customers from Stripe to Twenty

Requirements

  • an apiKey - go to Settings > API & Webhooks to generate one
  • Stripe secret API key - available in Stripe workbench

Setup

  1. Synchronize app
cd packages/twenty-apps/community/stripe-synchronizer
yarn auth
yarn sync
  1. Go to Stripe > Workbench > Webhooks and add webhook:
  1. Go to Twenty > Settings > Integrations > Stripe synchronizer > Settings and add values

Flow

  1. Retrieve Stripe webhook
  2. Check if it's either subscription created or updated, if not, exit
  3. Read customer ID, sub status and quantity from webhook
  4. Read customer data from Stripe API, if business name is empty, exit
  5. Check if customer company exists in Twenty, if not, create it
  6. Check if related person exists in Twenty, if not, create it and link to company

Notes

  • app synchronizes only new customers, those created before start of app won't be synchronized unless they're updated
  • customers will be added to Twenty People object only if their name and email are filled with data, otherwise app will throw an error

Todo

  • add validation of signature key from Stripe to ensure that incoming request is valid (possible once request headers are exposed to serverless functions)
  • update app so it'll use provided Twenty generated object with native types from workspace once extending objects is possible