← MollieCONTENT HISTORY

Update to Mollie

Snapshot Oct 6, 2026 · 00:02 UTC · version 1.5.0

Collection source: downloaded plugin package.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Activate this skill when a developer is working with Mollie: integrating payments, setting up Mollie Connect for a platform/marketplace, building recurring payments or subscriptions, issuing refunds or captures, investigating chargebacks or settlements, or troubleshooting a Mollie integration. This includes: hosted checkout, custom checkout, Mollie Components (card fields), payment links, webhooks and payment status handling, Next.js / React / Vue / Node.js / PHP / Python integrations, 3D Secure, PCI compliance, payment methods (iDEAL, credit card, SEPA, Klarna, Apple Pay, Google Pay, Bancontact), OAuth onboarding, submerchants, application fees, customers and mandates, subscriptions, reconciliation, sales invoices and B2B invoicing, stuck or pending payments, missing webhooks, and 401/403 errors.\n",
  "included_files": [
    {
      "relative_path": "references/connect/application-fees-and-routing.md",
      "size_in_bytes": 2925
    },
    {
      "relative_path": "references/connect/oauth-and-onboarding.md",
      "size_in_bytes": 3217
    },
    {
      "relative_path": "references/connect/permissions-and-tokens.md",
      "size_in_bytes": 2070
    },
    {
      "relative_path": "references/connect/testing-and-offboarding.md",
      "size_in_bytes": 1947
    },
    {
      "relative_path": "references/operations/captures.md",
      "size_in_bytes": 4564
    },
    {
      "relative_path": "references/operations/chargebacks-and-settlements.md",
      "size_in_bytes": 2368
    },
    {
      "relative_path": "references/operations/refunds.md",
      "size_in_bytes": 2443
    },
    {
      "relative_path": "references/operations/write-action-safety.md",
      "size_in_bytes": 2257
    },
    {
      "relative_path": "references/payments/build-your-own-checkout.md",
      "size_in_bytes": 3375
    },
    {
      "relative_path": "references/payments/components.md",
      "size_in_bytes": 6917
    },
    {
      "relative_path": "references/payments/hosted-checkout.md",
      "size_in_bytes": 1989
    },
    {
      "relative_path": "references/payments/payment-links.md",
      "size_in_bytes": 3639
    },
    {
      "relative_path": "references/payments/sales-invoices.md",
      "size_in_bytes": 3683
    },
    {
      "relative_path": "references/payments/webhooks.md",
      "size_in_bytes": 1426
    },
    {
      "relative_path": "references/product-selection/routing-guide.md",
      "size_in_bytes": 4353
    },
    {
      "relative_path": "references/recurring/customers-and-mandates.md",
      "size_in_bytes": 2620
    },
    {
      "relative_path": "references/recurring/failures-and-sepa.md",
      "size_in_bytes": 2562
    },
    {
      "relative_path": "references/recurring/subscriptions.md",
      "size_in_bytes": 3352
    },
    {
      "relative_path": "references/troubleshooting/components-and-methods.md",
      "size_in_bytes": 2272
    },
    {
      "relative_path": "references/troubleshooting/credentials-and-auth.md",
      "size_in_bytes": 2473
    },
    {
      "relative_path": "references/troubleshooting/payment-status-issues.md",
      "size_in_bytes": 3502
    },
    {
      "relative_path": "references/troubleshooting/webhook-issues.md",
      "size_in_bytes": 2546
    }
  ],
  "name": "mollie-payments",
  "skill_md_contents": "---\nname: mollie-payments\ndescription: >\n  Activate this skill when a developer is working with Mollie: integrating payments,\n  setting up Mollie Connect for a platform/marketplace, building recurring payments or\n  subscriptions, issuing refunds or captures, investigating chargebacks or settlements,\n  or troubleshooting a Mollie integration. This includes: hosted checkout, custom\n  checkout, Mollie Components (card fields), payment links, webhooks and payment\n  status handling, Next.js / React / Vue / Node.js / PHP / Python integrations, 3D\n  Secure, PCI compliance, payment methods (iDEAL, credit card, SEPA, Klarna, Apple\n  Pay, Google Pay, Bancontact), OAuth onboarding, submerchants, application fees,\n  customers and mandates, subscriptions, reconciliation, sales invoices and B2B\n  invoicing, stuck or pending payments, missing webhooks, and 401/403 errors.\n---\n\n# Mollie Payments\n\nUse `<references/product-selection/routing-guide.md>` for the full decision tree if\na request spans more than one dimension below (e.g. \"recurring payments for my\nmarketplace clients\"). The steps here cover the common single-dimension case.\n\n## Step 1 — Is this new integration work, or something else?\n\n**Ask this first, before anything else:**\n\n> Are you setting up something new, fixing a problem with an existing integration,\n> upgrading/migrating an existing one, or building an AI agent that uses Mollie?\n\n- **Something isn't working** (stuck payment, missing webhook, auth error, wrong\n  credentials) → go straight to `<references/troubleshooting/>`. Do not generate new\n  integration code before ruling out a known issue.\n- **Upgrading an SDK version or migrating from an older API** → this is the\n  `mollie-upgrade` skill, not this one.\n- **Building an agent that calls Mollie autonomously** (via `@mollie/agent-toolkit`,\n  or exposing Mollie as LLM tools) → this is the `mollie-agent-toolkit` skill.\n- **Refunding, capturing, or investigating existing payments/chargebacks/settlements**\n  → `<references/operations/>`.\n- **Invoicing a customer to be paid later** (B2B billing, payment terms, VAT line\n  items — not a real-time checkout) → this is Sales Invoices (Revenue Collection),\n  a distinct product from the Payments API. Go straight to\n  `<references/payments/sales-invoices.md>` — skip Steps 2–6 below, they don't apply.\n- **New integration** → continue to Step 2.\n\n---\n\n## Step 2 — Direct merchant or platform?\n\n> Are you building this for your own business (accepting payments directly as a\n> merchant), or are you building a platform or marketplace that processes payments\n> on behalf of other businesses?\n\n**If they are a platform or marketplace** → this needs Mollie Connect, not a\nstandard integration. Route to `<references/connect/oauth-and-onboarding.md>` and\nwork through the Connect reference set — it covers OAuth, onboarding, application\nfees, permissions/tokens, and testing/offboarding. Everything in Steps 3–5 below\nstill applies once Connect is set up (a platform can still need recurring payments\nor hosted checkout — just executed via a client's access token).\n\n**If they are a direct merchant** → continue to Step 3.\n\n---\n\n## Step 3 — One-time or recurring?\n\n> Is this a single checkout, or does the customer get charged again later without\n> re-entering their payment details (subscription, saved card, usage billing)?\n\n**Recurring** → route to `<references/recurring/customers-and-mandates.md>` — this\nis a distinct flow (Customers API → first payment → mandate → subscription or\non-demand charge), not a variant of one-time checkout. Webhook handling still\napplies (`<references/payments/webhooks.md>`), but skip Step 4 below.\n\n**One-time** → continue to Step 4.\n\n---\n\n## Step 4 — Understand their checkout preference\n\n> How much control do you want over the payment experience?\n>\n> **A) Mollie-hosted checkout** — Mollie handles the entire payment page. Simplest to\n> integrate; no frontend work required. Customers are redirected to Mollie to\n> complete payment.\n>\n> **B) Build your own checkout** — You embed payment method selection and\n> (optionally) card fields directly in your UI. More work, but full control over\n> design and branding.\n>\n> **C) Payment link** — No embedded checkout at all. You share a URL with the\n> customer (email, SMS, chat, QR code) instead of redirecting from a live session.\n> Use this when there's no checkout page to redirect from — phone/mail orders,\n> donations, social selling. (A formal invoice with payment terms/VAT lines is a\n> different product — see Step 1's Sales Invoices branch.)\n>\n> Not sure? Hosted checkout takes ~30 minutes and handles everything for you. A\n> custom checkout takes longer but keeps customers on your page throughout. If\n> there's no live session to redirect from in the first place, it's a payment link,\n> not A or B.\n\n---\n\n## Step 5 — Understand their stack\n\nBefore writing any code, ask:\n\n> What language and framework are you using?\n> - Backend: Node.js / PHP / Python / other?\n> - Frontend: React / Vue / Next.js / vanilla JS / other?\n> - Are you in test mode or live?\n\nUse the answers to generate code with the correct SDK and idioms.\n\n---\n\n## Step 6 — Route to the correct reference\n\n| Checkout preference | Card handling | Reference |\n|---|---|---|\n| Mollie-hosted checkout | Mollie handles card UI | `<references/payments/hosted-checkout.md>` |\n| Build your own — embed card fields | Mollie Components (Mollie.js) | `<references/payments/components.md>` |\n| Build your own — other methods only | Methods API + Payments API | `<references/payments/build-your-own-checkout.md>` |\n| Payment link — no embedded checkout, share a URL | Mollie handles card UI | `<references/payments/payment-links.md>` |\n\nAll integrations require webhook handling — always include it: `<references/payments/webhooks.md>`\n\n---\n\n## SDK selection\n\nAlways use the official Mollie SDK for the developer's language:\n\n| Language | Package |\n|---|---|\n| JavaScript / TypeScript / Node.js | `mollie-api-typescript` |\n| PHP | `mollie/mollie-api-php` (Composer) |\n| Python | `mollie-api-py` |\n\n`@mollie/api-client` (Node) and `mollie-api-python` are the old/community SDKs —\ndon't use them for new integrations. If a developer already has one installed,\nthat's a migration case for the `mollie-upgrade` skill, not a new build.\n\nAlways use the v2 API. Never construct raw API calls when an SDK is available.\n\n**Never use the Orders API for a new integration** — it's deprecated. Always build\nagainst the Payments API (`payments.create`, etc.), including hold-then-capture\nflows (`captureMode: 'manual'`, see `<references/operations/captures.md>`) that the\nOrders API used to handle via Shipments. If a developer's existing code already uses\nthe Orders API, that's a migration case — route to the `mollie-upgrade` skill rather\nthan extending the old API.\n\n---\n\n## Critical rules — apply to every integration\n\n- **Never** put API keys (`live_xxx` / `test_xxx`) in frontend code. Only the profile ID (`pfl_xxx`) belongs in the browser.\n- **Always** verify payment status via webhook before fulfilling an order — never trust the redirect URL alone.\n- **Always** respond with HTTP 200 to webhook requests before doing any async work. Mollie retries on any other status.\n- **Always** redirect customers to the checkout URL using HTTP GET (303 See Other), never POST.\n- The profile ID used in `Mollie()` on the frontend **must** belong to the same account as the API key used on the backend.\n- In test mode, pass `testmode: true` to `Mollie()` on the frontend AND use a test API key (`test_xxx`) on the backend. Both must match.\n- When a card payment fails, create a **new card token** and a **new payment** — you cannot retry on the same payment.\n- Never show a payment result to the customer until the webhook has been received and processed.\n- **Additionally**, for any refund, capture, or cancellation: read `<references/operations/write-action-safety.md>` before generating the code — these are harder to reverse than a payment creation.\n"
}

SHA-256 of public snapshot: 523788295b32df0318e6c772e5ae4a98a161a7bdca1eac7122a8adf26a452ab9