Releases: mollie/mollie-api-node
Release list
v4.6.0
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, aninvoice.getPdfUrl()helper, and theInvoiceStatusenum (#506) - Add terminal pairing codes —
terminalPairingCodes.create/get/page/iterate/revokeand aterminalPairingCode.getProfile()helper (#508) - Complete Routes API coverage —
paymentRoutes.get(id, { paymentId })and aroute.getPayment()helper (#511)
Runtime & compatibility
- Run on non-Node.js server runtimes — Bun, Deno, and Cloudflare Workers — by replacing the Node-only
process.release.nameguard 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
dangerouslyAllowBrowserclient option to opt out of the browser block for trusted, short-lived tokens (#490) - Cloudflare Workers requires
nodejs_compatand a compatibility date ≥ 2025-08-15; on Deno, use the named importimport { createMollieClient } from '@mollie/api-client'. Full edge-isolate support without node compat is planned for 5.0 (#490)
Enhancements
- Add a
parameterDefaultsoption for OAuth clients to auto-filltestmode/profileIdon every request that accepts them (#517) - Add
storeCredentialsto payment- and order-create for saved-card mandates (#480) - Declare
testmode/profileIdon the remaining endpoints that accept them (#514, #503) - Add
profileIdto the Apple Pay payment-session request (#512) - Add
legalEntity,registrationOffice, andincorporationDateto the Create client link endpoint (#495) - Add
metadatato 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/getMobileAppCheckoutUrlhelpers and new request params (#510); plus theadditional/consumevoucher line categories and expandedPaymentRoutingInfofields (#516) - Refunds —
mode,externalReference, routing reversals, and anembedparam (#484) - Settlements —
balanceId,invoiceId, theSettlementStatusenum, and agetInvoice()helper (#509) - Subscriptions — a
getMandate()helper and theprofileIdlist param (#504) - Profiles —
description,countriesOfActivity, and agetDashboardUrl()helper (#505) - Organizations — the
emailfield, agetDashboardUrl()helper, andtestmodeonget(#502) - Methods — the
googlepaymethod,en_GB/fr_LU/de_LUlocales, and asequenceTypeparam (#488) - Chargebacks — the
settlementIdfield andtestmodeparams (#487) - Payment links —
lines,billingAddress, andshippingAddresson update (#501) - Onboarding —
businessCategoryand abritishvatRegulation(#500) - Terminals — the
modeandupdatedAtresponse fields (#507) - Capabilities, OAuth tokens, Customers — JSDoc and reference-link refreshes (#494, #496, #498)
Fixes
- Captures now embed their payment via the
embedquery parameter instead of the silently-ignoredinclude; the oldinclude/CaptureIncluderemain 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, useklarna),payconiq, andsettlementAmount(removal announced 2027-01-01) (#516) - Onboarding —
submit/SubmitParameters(use Client Links) and numericcategoryCode(usebusinessCategory) (#500) - Captures —
include/CaptureIncludein favour ofembed/CaptureEmbed(#483) - Callback-as-second-argument on
terminals.get,profiles.get,paymentLinks.delete,permissions.get, andorganizations.get(#514)
Internal
- Update dev dependencies and re-resolve
form-datato 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/updatedAtare now required onTerminalData— a compile-time break only for code that hand-constructs/mocks it. - Settlements (#509):
statusis now theSettlementStatusenum and_links.invoiceis optional — normal read use still type-checks; prefergetInvoice(). - Refunds (#484): the
cancelcallback type was corrected toCallback<true>. - OAuth
parameterDefaults(#517): defaults apply wherever the type declares the param; a few spec-gap over-declarations (tracked in #489) could422until 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
v4.4.0
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
getPartnerStatusendpoint (#453) - Add missing payment methods: Bizum, MobilePay, Swish, Vipps (#452)
- Add missing
cancelledrefund status (#468) - Enhance PointOfSaleDetails with additional fields (#469)
- Add missing payment links parameters (#471)
Fixes
- Fix partner status helper implementation
- Fix
cardReadMethodoptions in PointOfSaleReceipt interface
Internal
- Omit
_linksfrom 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
v4.3.2
v4.3.1
4.3.0
API Extensions
- Add terminal API (#413)
- Add release payment authorization endpoint (#414)
- Add payments pagination support for payment links (#421)
- Add
updateanddeletemethods for payment links (#422)
API Discrepancies Fixed
- Add
organizationNameto Address Object (#411) - Add missing payment link parameters (#419)
- Remove
updatedAtfield from payment links (#424)
Special thanks @iFlyinq, @Jeffrey-Zutt and @TimmyGuy.
Full Changelog: v4.2.0...v4.3.0
4.2.0
- 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.isRefundabledid not work, but was also deprectated in favour ofcanBeRefunded(#403) - Fix: returned links with search parameters, broke iterations (#405)
Full Changelog: v4.1.0...v4.2.0
4.1.0
4.0.0
Please see the migration guide for guidance with updating to this version.
- Replace Axios dependency in favour of fetch (#358)
- Add
cancelUrlandgetDashboardUrlto payments and orders (#327/#373) - Add
statusandissuersto methods and updatepricing(#335/#374) - Update and export
PaymentInclude(#370) - Update payment methods (#376)
- Change type of
metadata(fromany) tounknown(#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.
deleteintead ofcancel(#315/#353) - Remove predictable helper functions (#364)
- Remove fields from
ApiError(#363) - Remove
countfrom pages (#365) - Remove
withParent(#323) - Remove
toPlainObject(#362) - Remove
Object.entriespolyfill (#352)
Special thanks to @schalterDev, @casperiv0, and @TimmyGuy.