Stripe

Syncs Payload collections with Stripe resources and routes Stripe webhooks and API calls through Payload.

Official 43,434 11k/wk MIT v3.85.2

Installation

pnpm add @payloadcms/plugin-stripe

About

The official Stripe plugin connects Payload collections to Stripe resources so documents stay in sync with Stripe objects. You map a collection (such as customers or products) to a Stripe resource type and list which local field paths correspond to which Stripe properties. The plugin then injects a read-only `stripeID` field, a `skipSync` checkbox, and a sidebar link into the dashboard view of that collection. Sync runs through collection hooks. On create, a `beforeValidate` hook creates the Stripe object and stores its ID; on update, a `beforeChange` hook pushes field changes back to Stripe; on delete, an `afterDelete` hook removes the Stripe object. The `skipSync` field lets you opt out of a sync on a per-document basis. Incoming Stripe events are handled through a `POST /stripe/webhooks` endpoint, verified with the configured `stripeWebhooksEndpointSecret`. You register a single handler or a map of handlers keyed by event name, each receiving the Stripe instance, the parsed event, the Payload instance, and the request. An optional REST proxy at `POST /stripe/rest` forwards arbitrary Stripe SDK calls from the admin UI. It requires an authenticated Payload user and passes `stripeMethod` and `stripeArgs` straight through to the Stripe SDK, which avoids exposing the secret key to the browser. Sync currently supports the `customers` and `products` resource types.

Package info

Package name
@payloadcms/plugin-stripe
Latest version
3.85.2
Unpacked size
114 kB
License
MIT
Weekly downloads
11k
Last publish
Jul 1, 2026

More from payloadcms

View profile

Similar plugins

More in Commerce