[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"marketplace-site-banners":3,"github-stars":9,"directus-extension-stripe":115},[4],{"id":5,"icon":6,"content":7,"link":8,"include_paths":6,"exclude_paths":6},"5cf2f5f6-aecf-4395-8c23-69de326fdf02",null,"DIRECTUS V12 IS HERE","https:\u002F\u002Fdirectus.com\u002Fresources\u002Fv12-built-for-the-whole-team",{"id":10,"node_id":11,"name":12,"full_name":13,"private":14,"owner":15,"html_url":33,"description":34,"fork":14,"url":35,"forks_url":36,"keys_url":37,"collaborators_url":38,"teams_url":39,"hooks_url":40,"issue_events_url":41,"events_url":42,"assignees_url":43,"branches_url":44,"tags_url":45,"blobs_url":46,"git_tags_url":47,"git_refs_url":48,"trees_url":49,"statuses_url":50,"languages_url":51,"stargazers_url":52,"contributors_url":53,"subscribers_url":54,"subscription_url":55,"commits_url":56,"git_commits_url":57,"comments_url":58,"issue_comment_url":59,"contents_url":60,"compare_url":61,"merges_url":62,"archive_url":63,"downloads_url":64,"issues_url":65,"pulls_url":66,"milestones_url":67,"notifications_url":68,"labels_url":69,"releases_url":70,"deployments_url":71,"created_at":72,"updated_at":73,"pushed_at":74,"git_url":75,"ssh_url":76,"clone_url":77,"svn_url":33,"homepage":78,"size":79,"stargazers_count":80,"watchers_count":80,"language":81,"has_issues":82,"has_projects":82,"has_downloads":14,"has_wiki":14,"has_pages":14,"has_discussions":82,"forks_count":83,"mirror_url":6,"archived":14,"disabled":14,"open_issues_count":84,"license":85,"allow_forking":82,"is_template":14,"web_commit_signoff_required":14,"has_pull_requests":82,"pull_request_creation_policy":90,"topics":91,"visibility":32,"forks":83,"open_issues":84,"watchers":80,"default_branch":111,"temp_clone_token":6,"custom_properties":112,"organization":113,"network_count":83,"subscribers_count":114},7122594,"MDEwOlJlcG9zaXRvcnk3MTIyNTk0","directus","directus\u002Fdirectus",false,{"login":12,"id":16,"node_id":17,"avatar_url":18,"gravatar_id":19,"url":20,"html_url":21,"followers_url":22,"following_url":23,"gists_url":24,"starred_url":25,"subscriptions_url":26,"organizations_url":27,"repos_url":28,"events_url":29,"received_events_url":30,"type":31,"user_view_type":32,"site_admin":14},15967950,"MDEyOk9yZ2FuaXphdGlvbjE1OTY3OTUw","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F15967950?v=4","","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus","https:\u002F\u002Fgithub.com\u002Fdirectus","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Ffollowers","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Ffollowing{\u002Fother_user}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fgists{\u002Fgist_id}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fstarred{\u002Fowner}{\u002Frepo}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fsubscriptions","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Forgs","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Frepos","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fevents{\u002Fprivacy}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Freceived_events","Organization","public","https:\u002F\u002Fgithub.com\u002Fdirectus\u002Fdirectus","The flexible backend for all your projects 🐰 Turn your DB into a headless CMS, admin panels, or apps with a custom UI, instant APIs, auth & more.","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fforks","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fkeys{\u002Fkey_id}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcollaborators{\u002Fcollaborator}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fteams","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fhooks","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fissues\u002Fevents{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fevents","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fassignees{\u002Fuser}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fbranches{\u002Fbranch}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Ftags","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Fblobs{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Ftags{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Frefs{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Ftrees{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fstatuses\u002F{sha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Flanguages","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fstargazers","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcontributors","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fsubscribers","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fsubscription","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcommits{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Fcommits{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcomments{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fissues\u002Fcomments{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcontents\u002F{+path}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcompare\u002F{base}...{head}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fmerges","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002F{archive_format}{\u002Fref}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fdownloads","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fissues{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fpulls{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fmilestones{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fnotifications{?since,all,participating}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Flabels{\u002Fname}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Freleases{\u002Fid}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fdeployments","2012-12-12T01:35:36Z","2026-07-27T12:30:34Z","2026-07-27T07:48:43Z","git:\u002F\u002Fgithub.com\u002Fdirectus\u002Fdirectus.git","git@github.com:directus\u002Fdirectus.git","https:\u002F\u002Fgithub.com\u002Fdirectus\u002Fdirectus.git","https:\u002F\u002Fdirectus.com",447991,36903,"TypeScript",true,4862,402,{"key":86,"name":87,"spdx_id":88,"url":6,"node_id":89},"other","Other","NOASSERTION","MDc6TGljZW5zZTA=","all",[92,93,94,95,96,97,12,98,99,100,101,102,103,104,105,106,107,108,109,110],"api","app","cms","composable","data-visualization","database","graphql","headless-cms","javascript","mariadb","mssql","mysql","no-code","node","postgresql","sql","sqlite","typescript","vue","main",{},{"login":12,"id":16,"node_id":17,"avatar_url":18,"gravatar_id":19,"url":20,"html_url":21,"followers_url":22,"following_url":23,"gists_url":24,"starred_url":25,"subscriptions_url":26,"organizations_url":27,"repos_url":28,"events_url":29,"received_events_url":30,"type":31,"user_view_type":32,"site_admin":14},329,{"name":116,"description":117,"verified":14,"id":118,"readme":119,"type":120,"last_updated":121,"host_version":122,"downloads":123,"total_downloads":124,"sandbox":14,"license":125,"publisher":126,"versions":129,"formatted_name":202,"formatted_readme":203,"formatted_description":117,"featured_image":204,"images":205,"recent_downloads_7_days":124,"recent_downloads_30_days":124},"directus-extension-stripe","A Directus extension that supports building flows for Stripe webhooks","a9ba8d41-2571-4837-9ec5-e04b4ba1d724","# directus-extension-stripe\n\nA Directus extension that allows you to build flows and custom endpoints to handle Stripe Webhooks and make Stripe API calls. The best part is that it's fully integrated with Directus accountability and permissions. It's a small but mighty extension if you are looking to integrate Stripe! \n\nhttps:\u002F\u002Fgithub.com\u002Fprogrammarchy\u002Fdirectus-extension-stripe\u002Fassets\u002F622192\u002F0cdc92eb-375d-4f16-945a-43d561c3a80a\n\n## Details\n\nThis is a bundle extension that contains a middleware hook that [verifies the `Stripe-Signature` header](https:\u002F\u002Fdocs.stripe.com\u002Fwebhooks#verify-webhook-signatures-with-official-libraries), and an operation node that injects the Stripe secret key into a flow so you can make API requests with the request node e.g. `GET https:\u002F\u002F{{stripe_secret_key}}:@api.stripe.com\u002Fv1\u002Fcustomers\u002F{{stripe_customer_id}}`.\n\nCheck out the [example](example) for more details.\n\n## Setup Instructions\n\nOnce you've [installed the extension](https:\u002F\u002Fdocs.directus.io\u002Fextensions\u002Finstalling-extensions.html), to connect Stripe, you can either set the following environment variables:\n\n- `STRIPE_SECRET_KEY`: Your [Stripe secret key](https:\u002F\u002Fdashboard.stripe.com\u002Fapikeys) (e.g. `sk_...`)\n- `STRIPE_WEBHOOK_PATH`: The path to your [webhook](https:\u002F\u002Fdashboard.stripe.com\u002Fwebhooks), relative to your Directus base URL (e.g. `\u002Fflows\u002Ftriggers\u002F...`)\n- `STRIPE_WEBHOOK_SECRET`: Your webhook's secret (e.g. `whsec_...`)\n\nOr you can configure these variables on the Settings page in Directus:\n\n\u003Cimg width=\"1552\" alt=\"Settings\" src=\"https:\u002F\u002Fgithub.com\u002Fprogrammarchy\u002Fdirectus-extension-stripe\u002Fassets\u002F622192\u002F985960ef-cb10-4763-aa67-e946df38a006\">\n\n**NOTE**: In order for the settings to appear and for the middleware hook to be installed, you must restart your Directus instance after installing the extension. This is because they rely on the `app.before` and `middleware.before` events which only occur when Directus starts.\n\n### Marketplace\n\nCurrently, this extension is not sandboxed so it won't appear in the Directus Marketplace by default. However, you can set `MARKETPLACE_TRUST=\"all\"` so the extension becomes visible.\n","bundle","2025-02-12T23:49:43.755Z","^11.1.2",[],0,"MIT",{"username":127,"verified":14,"id":128,"github_username":6,"github_name":6,"github_blog":6,"github_bio":6,"github_location":6,"github_company":6,"github_avatar_url":6},"programmarchy","bf074467-bc50-433f-a2bd-51bcaa6f7bb9",[130,142,152,162,173,182,192],{"version":131,"package":118,"publisher":128,"type":120,"host_version":132,"publish_date":133,"verified":14,"id":134,"url_repository":6,"url_homepage":6,"url_bugs":6,"file_count":135,"unpacked_size":136,"sandbox":14,"sandbox_requested_scopes":6,"license":6,"bundled":137,"maintainers":140},"1.0.0","^10.10.0","2024-03-31T23:05:43.630Z","316a85ee-0a38-4f90-9013-e9ba27203879",5,682549,[138,139],"2431a98a-8b25-46df-9c54-ef34c7d172f4","31b01e4a-a04d-420e-99cb-23caabd692d3",[141],10655,{"version":143,"package":118,"publisher":128,"type":120,"host_version":132,"publish_date":144,"verified":14,"id":145,"url_repository":6,"url_homepage":6,"url_bugs":6,"file_count":135,"unpacked_size":146,"sandbox":14,"sandbox_requested_scopes":6,"license":125,"bundled":147,"maintainers":150},"1.2.0","2024-04-02T20:48:10.263Z","44b9834c-b5f1-440d-bf54-106086ddc531",682787,[148,149],"0650139d-789f-4ab0-8db8-63d706e4db77","163722dd-fdde-4814-8563-0526d1f13312",[151],10664,{"version":153,"package":118,"publisher":128,"type":120,"host_version":132,"publish_date":154,"verified":14,"id":155,"url_repository":6,"url_homepage":6,"url_bugs":6,"file_count":135,"unpacked_size":156,"sandbox":14,"sandbox_requested_scopes":6,"license":6,"bundled":157,"maintainers":160},"1.0.2","2024-03-31T23:34:19.045Z","5b708e2c-0eff-4029-9e3a-6794a046cafa",682771,[158,159],"a68734a6-633e-483e-9b29-fe3701b987a2","e3c96f06-91eb-452d-b315-afeb57bd31e3",[161],10657,{"version":163,"package":118,"publisher":128,"type":120,"host_version":132,"publish_date":164,"verified":14,"id":165,"url_repository":6,"url_homepage":6,"url_bugs":6,"file_count":166,"unpacked_size":167,"sandbox":14,"sandbox_requested_scopes":6,"license":6,"bundled":168,"maintainers":171},"1.1.0","2024-03-31T23:47:59.200Z","715dd7f9-3652-4458-b8b4-98e8a51b8474",3,4086,[169,170],"0cb14bc5-7eeb-4074-a9e6-ecb4899d9e84","b0456a6b-6d6f-4600-9c27-7e885999aaf8",[172],10658,{"version":174,"package":118,"publisher":128,"type":120,"host_version":122,"publish_date":121,"verified":14,"id":175,"url_repository":6,"url_homepage":6,"url_bugs":6,"file_count":135,"unpacked_size":176,"sandbox":14,"sandbox_requested_scopes":6,"license":125,"bundled":177,"maintainers":180},"1.3.0","90939206-0c44-4668-9e70-f24f957f2150",699656,[178,179],"2b4757bc-6002-48a8-bc6e-caf326730b51","e1f28c07-59d8-468b-8161-48d16dda0768",[181],11973,{"version":183,"package":118,"publisher":128,"type":120,"host_version":132,"publish_date":184,"verified":14,"id":185,"url_repository":6,"url_homepage":6,"url_bugs":6,"file_count":135,"unpacked_size":186,"sandbox":14,"sandbox_requested_scopes":6,"license":125,"bundled":187,"maintainers":190},"1.1.1","2024-03-31T23:49:40.147Z","c17197b4-abf0-4753-b3a5-01f234a2b6bb",682806,[188,189],"7cfcc135-84c3-4a53-af83-3cd00a7d4e3f","b478f000-0f92-4b7d-a70d-9bbab5e8a40b",[191],10659,{"version":193,"package":118,"publisher":128,"type":120,"host_version":132,"publish_date":194,"verified":14,"id":195,"url_repository":6,"url_homepage":6,"url_bugs":6,"file_count":135,"unpacked_size":196,"sandbox":14,"sandbox_requested_scopes":6,"license":6,"bundled":197,"maintainers":200},"1.0.1","2024-03-31T23:10:58.533Z","f11cd9bf-10ca-4141-b109-e23435624506",682869,[198,199],"3b5dd28a-53bf-4eb7-b509-448b9553825c","cef9946e-7e52-49c5-8db6-9f708e42d344",[201],10656,"Stripe","\u003Ch1>directus-extension-stripe\u003C\u002Fh1>\n\u003Cp>A Directus extension that allows you to build flows and custom endpoints to handle Stripe Webhooks and make Stripe API calls. The best part is that it's fully integrated with Directus accountability and permissions. It's a small but mighty extension if you are looking to integrate Stripe!\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fprogrammarchy\u002Fdirectus-extension-stripe\u002Fassets\u002F622192\u002F0cdc92eb-375d-4f16-945a-43d561c3a80a\">https:\u002F\u002Fgithub.com\u002Fprogrammarchy\u002Fdirectus-extension-stripe\u002Fassets\u002F622192\u002F0cdc92eb-375d-4f16-945a-43d561c3a80a\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch2>Details\u003C\u002Fh2>\n\u003Cp>This is a bundle extension that contains a middleware hook that \u003Ca href=\"https:\u002F\u002Fdocs.stripe.com\u002Fwebhooks#verify-webhook-signatures-with-official-libraries\">verifies the \u003Ccode>Stripe-Signature\u003C\u002Fcode> header\u003C\u002Fa>, and an operation node that injects the Stripe secret key into a flow so you can make API requests with the request node e.g. \u003Ccode>GET https:\u002F\u002F{{stripe_secret_key}}:@api.stripe.com\u002Fv1\u002Fcustomers\u002F{{stripe_customer_id}}\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Check out the \u003Ca href=\"example\">example\u003C\u002Fa> for more details.\u003C\u002Fp>\n\u003Ch2>Setup Instructions\u003C\u002Fh2>\n\u003Cp>Once you've \u003Ca href=\"https:\u002F\u002Fdocs.directus.io\u002Fextensions\u002Finstalling-extensions.html\">installed the extension\u003C\u002Fa>, to connect Stripe, you can either set the following environment variables:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>STRIPE_SECRET_KEY\u003C\u002Fcode>: Your \u003Ca href=\"https:\u002F\u002Fdashboard.stripe.com\u002Fapikeys\">Stripe secret key\u003C\u002Fa> (e.g. \u003Ccode>sk_...\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>\u003Ccode>STRIPE_WEBHOOK_PATH\u003C\u002Fcode>: The path to your \u003Ca href=\"https:\u002F\u002Fdashboard.stripe.com\u002Fwebhooks\">webhook\u003C\u002Fa>, relative to your Directus base URL (e.g. \u003Ccode>\u002Fflows\u002Ftriggers\u002F...\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>\u003Ccode>STRIPE_WEBHOOK_SECRET\u003C\u002Fcode>: Your webhook's secret (e.g. \u003Ccode>whsec_...\u003C\u002Fcode>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Or you can configure these variables on the Settings page in Directus:\u003C\u002Fp>\n\u003Cimg alt=\"Settings\" src=\"https:\u002F\u002Fgithub.com\u002Fprogrammarchy\u002Fdirectus-extension-stripe\u002Fassets\u002F622192\u002F985960ef-cb10-4763-aa67-e946df38a006\">\n\u003Cp>\u003Cstrong>NOTE\u003C\u002Fstrong>: In order for the settings to appear and for the middleware hook to be installed, you must restart your Directus instance after installing the extension. This is because they rely on the \u003Ccode>app.before\u003C\u002Fcode> and \u003Ccode>middleware.before\u003C\u002Fcode> events which only occur when Directus starts.\u003C\u002Fp>\n\u003Ch3>Marketplace\u003C\u002Fh3>\n\u003Cp>Currently, this extension is not sandboxed so it won't appear in the Directus Marketplace by default. However, you can set \u003Ccode>MARKETPLACE_TRUST=\"all\"\u003C\u002Fcode> so the extension becomes visible.\u003C\u002Fp>\n","https:\u002F\u002Fgithub.com\u002Fprogrammarchy\u002Fdirectus-extension-stripe\u002Fassets\u002F622192\u002F985960ef-cb10-4763-aa67-e946df38a006",[204]]