Skip to content

Releases: mollie/mollie-api-node

v4.6.0

Choose a tag to compare

@janpaepke janpaepke released this 30 Jun 14:34

This release reconciles the SDK's types and JSDoc with Mollie's current API spec across nearly every resource, adds three new pieces of API coverage (Invoices, Terminal pairing codes, single-route GET), enables non-Node.js server runtimes, and begins deprecating the Orders API. All changes are additive and non-breaking at runtime; a few type-level adjustments are noted at the end.

New APIs

  • Add Invoices API support — invoices.get/page/iterate, an invoice.getPdfUrl() helper, and the InvoiceStatus enum (#506)
  • Add terminal pairing codes — terminalPairingCodes.create/get/page/iterate/revoke and a terminalPairingCode.getProfile() helper (#508)
  • Complete Routes API coverage — paymentRoutes.get(id, { paymentId }) and a route.getPayment() helper (#511)

Runtime & compatibility

  • Run on non-Node.js server runtimes — Bun, Deno, and Cloudflare Workers — by replacing the Node-only process.release.name guard with a browser-only check; the CI matrix now runs the test suite and a packaged-tarball smoke-check under Bun and Deno (#490)
  • Add a dangerouslyAllowBrowser client option to opt out of the browser block for trusted, short-lived tokens (#490)
  • Cloudflare Workers requires nodejs_compat and a compatibility date ≥ 2025-08-15; on Deno, use the named import import { createMollieClient } from '@mollie/api-client'. Full edge-isolate support without node compat is planned for 5.0 (#490)

Enhancements

  • Add a parameterDefaults option for OAuth clients to auto-fill testmode/profileId on every request that accepts them (#517)
  • Add storeCredentials to payment- and order-create for saved-card mandates (#480)
  • Declare testmode/profileId on the remaining endpoints that accept them (#514, #503)
  • Add profileId to the Apple Pay payment-session request (#512)
  • Add legalEntity, registrationOffice, and incorporationDate to the Create client link endpoint (#495)
  • Add metadata to connect balance transfers (#492)

Type & documentation sync

Reconciled with the current API spec — additive or JSDoc-only unless noted:

  • Payments — new getSettlement/getCustomer/getMandate/getSubscription/getTerminal/getMobileAppCheckoutUrl helpers and new request params (#510); plus the additional/consume voucher line categories and expanded PaymentRoutingInfo fields (#516)
  • Refunds — mode, externalReference, routing reversals, and an embed param (#484)
  • Settlements — balanceId, invoiceId, the SettlementStatus enum, and a getInvoice() helper (#509)
  • Subscriptions — a getMandate() helper and the profileId list param (#504)
  • Profiles — description, countriesOfActivity, and a getDashboardUrl() helper (#505)
  • Organizations — the email field, a getDashboardUrl() helper, and testmode on get (#502)
  • Methods — the googlepay method, en_GB/fr_LU/de_LU locales, and a sequenceType param (#488)
  • Chargebacks — the settlementId field and testmode params (#487)
  • Payment links — lines, billingAddress, and shippingAddress on update (#501)
  • Onboarding — businessCategory and a british vatRegulation (#500)
  • Terminals — the mode and updatedAt response fields (#507)
  • Capabilities, OAuth tokens, Customers — JSDoc and reference-link refreshes (#494, #496, #498)

Fixes

  • Captures now embed their payment via the embed query parameter instead of the silently-ignored include; the old include/CaptureInclude remain as deprecated aliases (#483)

Deprecations

  • The Orders API is deprecated — every Orders binder/method now carries @deprecated; migrate to the Payments API (#486)
  • Payments — the legacy Klarna methods (klarnapaylater/klarnapaynow/klarnasliceit, use klarna), payconiq, and settlementAmount (removal announced 2027-01-01) (#516)
  • Onboarding — submit/SubmitParameters (use Client Links) and numeric categoryCode (use businessCategory) (#500)
  • Captures — include/CaptureInclude in favour of embed/CaptureEmbed (#483)
  • Callback-as-second-argument on terminals.get, profiles.get, paymentLinks.delete, permissions.get, and organizations.get (#514)

Internal

  • Update dev dependencies and re-resolve form-data to clear a CRLF-injection advisory; extend CI to Node 22/24 (#482)
  • Automate npm publishing via GitHub Actions Trusted Publishing (OIDC) with provenance (#485)

Notes for upgraders

Type-level only, no runtime impact:

  • Terminals (#507): mode/updatedAt are now required on TerminalData — a compile-time break only for code that hand-constructs/mocks it.
  • Settlements (#509): status is now the SettlementStatus enum and _links.invoice is optional — normal read use still type-checks; prefer getInvoice().
  • Refunds (#484): the cancel callback type was corrected to Callback<true>.
  • OAuth parameterDefaults (#517): defaults apply wherever the type declares the param; a few spec-gap over-declarations (tracked in #489) could 422 until fixed. Per-call values always override.

Special thanks

Special thanks to @fjbender for contributing storeCredentials support (#480)!

Full Changelog: v4.5.0...v4.6.0

v4.5.0

Choose a tag to compare

@janpaepke janpaepke released this 02 Apr 09:23
  • Add sort parameter to list endpoints (#474)
  • Add TestModeParameter type and apply consistently across all binders (#475)
  • Update dev dependencies (#473)

v4.4.0

Choose a tag to compare

@janpaepke janpaepke released this 14 Jan 15:17

New APIs

  • Add OAuth API support (#461)
  • Add Clients API support (#463)
  • Add Client Links API support (#464)
  • Add Capabilities API support (#462)
  • Add Delayed Routing API support (#454)
  • Add Balance Transfers API

Enhancements

  • Add Organizations API getPartnerStatus endpoint (#453)
  • Add missing payment methods: Bizum, MobilePay, Swish, Vipps (#452)
  • Add missing cancelled refund status (#468)
  • Enhance PointOfSaleDetails with additional fields (#469)
  • Add missing payment links parameters (#471)

Fixes

  • Fix partner status helper implementation
  • Fix cardReadMethod options in PointOfSaleReceipt interface

Internal

  • Omit _links from public types for consistency (#465)
  • Improve build tooling and suppress intentional warnings (#451)

Special thanks to @CervantesX and @RubenSmn for their contributions!

Full Changelog: v4.3.3...v4.4.0

v4.3.3

Choose a tag to compare

@janpaepke janpaepke released this 17 Jun 07:34
  • Fix parameters for customerPayments.create() (#442)

v4.3.2

Choose a tag to compare

@janpaepke janpaepke released this 12 May 12:13
  • Add paybybank payment method (#433)

v4.3.1

Choose a tag to compare

@janpaepke janpaepke released this 23 Apr 06:21
  • Add missing method specific parameters (#429)

4.3.0

Choose a tag to compare

@janpaepke janpaepke released this 02 Apr 14:15

API Extensions

  • Add terminal API (#413)
  • Add release payment authorization endpoint (#414)
  • Add payments pagination support for payment links (#421)
  • Add update and delete methods for payment links (#422)

API Discrepancies Fixed

  • Add organizationName to Address Object (#411)
  • Add missing payment link parameters (#419)
  • Remove updatedAt field from payment links (#424)

Special thanks @iFlyinq, @Jeffrey-Zutt and @TimmyGuy.

Full Changelog: v4.2.0...v4.3.0

4.2.0

Choose a tag to compare

@janpaepke janpaepke released this 03 Mar 14:44
  • Updated Interface Types to include new payment parameters (#402)
  • Fix: order.getPayments() did not work (#401)
  • Fix: paymentChargebacks.get() did not work (#400)
  • Fix: payment.isRefundable did not work, but was also deprectated in favour of canBeRefunded (#403)
  • Fix: returned links with search parameters, broke iterations (#405)

Full Changelog: v4.1.0...v4.2.0

4.1.0

Choose a tag to compare

@janpaepke janpaepke released this 03 Oct 14:52
  • Extend captures API (#371)
  • Update documentation (#380)

4.0.0

Choose a tag to compare

@Pimm Pimm released this 20 Sep 13:46
412104f

Please see the migration guide for guidance with updating to this version.

  • Replace Axios dependency in favour of fetch (#358)
  • Add cancelUrl and getDashboardUrl to payments and orders (#327/#373)
  • Add status and issuers to methods and update pricing (#335/#374)
  • Update and export PaymentInclude (#370)
  • Update payment methods (#376)
  • Change type of metadata (from any) to unknown (#367)
  • Change return type of functions to plain arrays or iterators, depending on whether the represented list is paginated (#322)
  • Bump Node.js requirement to 14
  • Remove snake case properties, e.g. customers_payments (#314/#353)
  • Remove endpoint aliases, e.g. delete intead of cancel (#315/#353)
  • Remove predictable helper functions (#364)
  • Remove fields from ApiError (#363)
  • Remove count from pages (#365)
  • Remove withParent (#323)
  • Remove toPlainObject (#362)
  • Remove Object.entries polyfill (#352)

Special thanks to @schalterDev, @casperiv0, and @TimmyGuy.