Files
skills/plugins/document-navigator/docs/money/payment/payment-provider-mollie
admin 9bf56a806b Move docs/ package mirror into document-navigator plugin
Relocate the ~6k-file docs tree from the repo root into
plugins/document-navigator/docs/ so the plugin is self-contained and
portable. docs/superpowers/ (specs and plans) stays at the repo root.

Moved via cp+rm rather than git mv because directory rename() fails with
EPERM on this WSL /mnt DrvFs mount; git rename-detection pairs the
identical-content files at commit time.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 01:10:00 +01:00
..

@suaveplan/payment-provider-mollie - Universal Mollie Payments API v2 adapter for @suaveplan/payment. Sibling provider package on the slim @suaveplan/payment-providers core: implements PaymentProvider with Mollie's string-amount marshalling ({ currency, value: "X.YY" }) round-trip via exported formatMollieAmount / parseMollieAmount helpers.

Universal Mollie Payments API v2 adapter for @suaveplan/payment. Sibling provider package on the slim @suaveplan/payment-providers core: implements PaymentProvider with Mollie's string-amount marshalling ({ currency, value: "X.YY" }) round-trip via the exported formatMollieAmount / parseMollieAmount helpers.

Documentation tree

  • mollie — MollieProvider is the sibling adapter that implements the PaymentProvider contract from `@suaveplan/payment…
    • mollie — MollieProvider is the sibling adapter that implements the PaymentProvider contract from `@suaveplan/payment…

Install

bun add @suaveplan/payment-provider-mollie @suaveplan/payment-providers @suaveplan/payment

Quick start

import { ProviderRegistry } from "@suaveplan/payment-providers";
import { MollieProvider } from "@suaveplan/payment-provider-mollie";

const registry = new ProviderRegistry();
registry.register(
    new MollieProvider({ apiKey: process.env.MOLLIE_API_KEY ?? "" })
);

const mollie = registry.get("mollie");
const intent = await mollie.createIntent({
    amount: { amount: 5000n, currency: "EUR" },
    description: "Order #42",
    returnUrl: "https://shop.example/return",
});
console.log(intent.id, intent.status);

Features

  • MollieProvider — full PaymentProvider lifecycle (createIntent, confirmIntent, captureIntent, cancelIntent, refund, getIntent) on top of the slim httpRequest helper.
  • Pure, exported amount helpers — formatMollieAmount(amount: bigint) and parseMollieAmount(value: string) — that round-trip losslessly via bigint and cover the 1-cent, exact-major, large-value, and over-precision edges.
  • Total exported status maps — mapMollieStatus and mapMollieRefundStatus — each individually unit-testable without invoking the network path.
  • Authorization: Bearer <apiKey> header auto-applied on every call.
  • Universal — no Node-specific or browser-specific globals; runs on Node 18+, Bun, browsers, and Web Workers.
  • All failures surface as PaymentProviderError from @suaveplan/payment-providers carrying a PAYMENT_PROVIDER_* code.

Modules

Sibling packages

Part of the @suaveplan/payment-provider-* family. See @suaveplan/payment-providers for the shared foundation (ProviderRegistry, httpRequest, composeAbortSignal, PaymentProviderError, the PAYMENT_PROVIDER_* code registry, and the shared config shapes).