thomasvantuycom/statamic-mollie

Mollie addon for Statamic.

Maintainers

Package info

github.com/thomasvantuycom/statamic-mollie

pkg:composer/thomasvantuycom/statamic-mollie

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0-alpha.1 2026-05-10 15:04 UTC

This package is auto-updated.

Last update: 2026-05-10 15:20:12 UTC


README

This addon connects Statamic forms to Mollie so you can create payments from form submissions, send visitors to checkout, and track payment status on the stored submission.

Requirements

  • Statamic 6.0.0 or above
  • A Mollie account and API key
  • A publicly reachable URL for Mollie webhooks

Installation

Install the addon with Composer:

composer require thomasvantuycom/statamic-mollie

Add your Mollie API key to your environment:

MOLLIE_API_KEY=test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Configuration

Publish the config file if you want:

php artisan vendor:publish --tag=mollie-config

You can configure:

  • key: the Mollie API key
  • currencies: the currencies editors may choose from in the control panel
  • default_currency: the default selected currency

Form Setup

After installation, forms get a Payment config section in the control panel.

To enable payments for a form:

  1. Open the form in Statamic.
  2. Enable Process Payment.
  3. Set a payment description.
  4. Set an amount and currency.

When a form has payments enabled:

  • the visitor submits the form
  • the addon creates a Mollie payment
  • the visitor is redirected to Mollie checkout
  • the submission stores payment metadata
  • Mollie calls the webhook
  • the addon updates the stored payment status

Amount Values

The payment amount can be either:

  • a fixed amount, like 10.00
  • an Antlers expression, like {{ amount }}

Antlers expressions are evaluated against the submitted form data at runtime.

Examples:

amount:
  currency: EUR
  value: "10.00"
amount:
  currency: EUR
  value: "{{ amount }}"

The resolved value must still be a valid positive Mollie amount for the selected currency.

Examples:

  • EUR expects values like 12.34
  • JPY expects values like 1200

If the expression resolves to an invalid value like free, payment creation will fail.

Frontend Example

Example Statamic form:

{{ form:contact }}
    <label for="name">Name</label>
    <input id="name" type="text" name="name" value="{{ old:name }}" />

    <label for="amount">Amount</label>
    <input id="amount" type="text" name="amount" value="{{ old:amount }}" />

    <input type="hidden" name="_redirect" value="/thanks" />
    <input type="hidden" name="_error_redirect" value="/payment-error" />

    <button type="submit">Pay</button>
{{ /form:contact }}

If the form's payment config uses {{ amount }}, the submitted amount field will be used to create the Mollie payment.

Stored Submission Data

The addon stores payment metadata on the submission in a payment field similar to:

payment:
  description: Donation
  amount:
    currency: EUR
    value: "10.00"
  status: open

The webhook updates the status field as Mollie sends payment updates.

Webhook

The addon registers a webhook endpoint at:

/!/mollie/webhook

Mollie must be able to reach this endpoint from the public internet. During local development you will usually need a tunnel such as ngrok or Expose.

Important Behavior

  • Paid forms must store submissions. Forms with store: false are not supported.