PHPackages                             madebythink/stripe-metadata-for-freeform - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. madebythink/stripe-metadata-for-freeform

ActiveCraft-plugin[Payment Processing](/categories/payments)

madebythink/stripe-metadata-for-freeform
========================================

Provides simplified support for Stripe metadata fields for the Freeform CraftCMS plugin

4.0.0(2y ago)14MITPHP

Since Apr 15Pushed 2y ago1 watchersCompare

[ Source](https://github.com/madebythink/stripe-metadata-for-freeform)[ Packagist](https://packagist.org/packages/madebythink/stripe-metadata-for-freeform)[ RSS](/packages/madebythink-stripe-metadata-for-freeform/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (5)Used By (0)

Stripe Metadata Helper Plugin for use with Freeform Pro, Craft CMS 3.x|4.x
==========================================================================

[](#stripe-metadata-helper-plugin-for-use-with-freeform-pro-craft-cms-3x4x)

Stripe Metadata for Freeform is a simple plugin which enables attaching information collected on Freeform Pro payment forms to the underlying Stripe payments and subscriptions as metadata. It does this by detecting fields using a simple field-name matching which it then applies to the Stripe entity (payment or subscription) when the payment succeeds.

**Note**: This plugin is not affiliate with Solspace, the developers of the Freeform plugin.

Requirements
------------

[](#requirements)

- Craft CMS 3.1+|4.0+
- PHP 7.0+|8.0+
- Solspace Freeform 3.3+|4.0+ (Pro)

Overview
--------

[](#overview)

The plugin will listen to Freeform Submission EVENT\_AFTER\_SUBMIT event. If the submission has an attached payment or subscription the plugin will attempt to attach metadata. First the plugin will iterate over the form fields and extract any fields with handles beginning with `metadata-`, the rest of the handle will be the metadata field handle in Stripe. It will then attempt to apply the metadata to either the Stripe PaymentIntent in the case of a single payment, or a Stripe Subscription in the case of a recurrent payment.

Example
-------

[](#example)

To use the plugin, add a field to your form where the handle starts with `metadata-`. The metadata field name will then be formed by everything following the dash. For example, this form has a textarea field with the handle `metadata-message` which will create a `message` field on the Stripe PaymentIntent/Subscription.

[![Screenshot](docs/images/field-in-freeform.png)](docs/images/field-in-freeform.png)

On a form set up to collect a single payment, the PaymentIntent will have the metadata added:

[![Screenshot](docs/images/stripe-dashboard-metadata.png)](docs/images/stripe-dashboard-metadata.png)

For forms which collect a subscription, the metadata will be added to the subscription, which can be accessed from subscriptions or from the metadata of the PaymentIntent of the initial payment:

[![Screenshot](docs/images/stripe-dashboard-subscription-link.png)](docs/images/stripe-dashboard-subscription-link.png)[![Screenshot](docs/images/stripe-dashboard-subscription.png)](docs/images/stripe-dashboard-subscription.png)

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 85.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

4

Last Release

758d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/03a266bac1acb5c906b91965fdfc928dd101eecd8ae9f55311d7551b36bb52a9?d=identicon)[madebythink](/maintainers/madebythink)

---

Top Contributors

[![madebythink](https://avatars.githubusercontent.com/u/38745958?v=4)](https://github.com/madebythink "madebythink (6 commits)")[![teletypist](https://avatars.githubusercontent.com/u/1896556?v=4)](https://github.com/teletypist "teletypist (1 commits)")

---

Tags

stripemetadatacmsCraftcraftcmscraft-pluginfreeform

### Embed Badge

![Health badge](/badges/madebythink-stripe-metadata-for-freeform/health.svg)

```
[![Health](https://phpackages.com/badges/madebythink-stripe-metadata-for-freeform/health.svg)](https://phpackages.com/packages/madebythink-stripe-metadata-for-freeform)
```

###  Alternatives

[enupal/stripe

Allows customers sign up for recurring and one-time payments with Stripe, perfect for orders, donations, subscriptions, and events. Create simple payment forms in seconds easily without coding. For Craft CMS 3.x

3416.5k1](/packages/enupal-stripe)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
