Payin SDK Changelog

Every public release of the Payin SDK, with what changed and whether you need to do anything.

Payin SDK Changelog

Every public release of @paymentlabs/paymentlabs-js is listed here, newest first. Each entry covers everything that changed since the previous public release.

🚀

Latest version: 1.16.0 (October 15, 2026)

npm install @paymentlabs/paymentlabs-js@latest

Minor and patch releases never require changes to your integration. See the SDK Versioning and Support Policy for what each kind of release can change, and how we announce deprecations.

VersionReleasedHighlights
1.16.0Oct 15, 2026Address autocomplete on your own site, the sdk-error event, recurring schedules in Apple Pay and Google Pay
1.10.3Sep 21, 2026Card form layout
1.10.2Sep 21, 2026Retry a failed payment with another method, live field validation, smaller package
1.4.3Jul 10, 2026First 1.x release: Element API, 3D Secure, fraud detection
0.xJul 18, 2025 – Apr 14, 2026End of support. 0.19.0 and earlier are not supported

1.16.0

October 15, 2026

New

  • Address autocomplete on your site. Billing address suggestions work wherever you host the payment element.
  • sdk-error event. Reports failures that never reach a decline, such as a payment form that didn't load, an expired session, a failed 3D Secure step, or an unavailable wallet. See SDK errors.
  • Recurring payments in Apple Pay and Google Pay. For subscriptions, the wallet sheet shows the buyer the schedule they agree to, so later charges in the series go through.

Improvements and fixes

  • Address suggestions are available on the bank transfer form.
  • The billing State list is sorted alphabetically.
  • When a card can't be verified with 3D Secure, the buyer is asked to use a different card.

Deprecated

  • The payment-failed event. Use sdk-error instead. It will be removed in 2.0.0.

1.10.3

September 21, 2026

Improvements and fixes

  • The Security Code label stays on one line when the element is mounted in a narrow column.

1.10.2

September 21, 2026

New

  • Retry with another payment method. When a payment fails and the checkout allows more attempts, the buyer can try again with their details still filled in. Your failureRedirectUrl is used only once no attempts remain.
  • Cardholder phone for ELO cards. The billing form asks for a phone number when the buyer enters an ELO card, as ELO authentication requires. If you pass the billing address yourself, the phone is optional.
  • Unconfirmed payments. While the processor confirms a payment, the buyer sees a "we are confirming your payment, please don't pay again" screen, and the checkout-failed payload carries unresolved: true.

Improvements and fixes

  • Card and bank transfer fields are checked as the buyer types, and the form names the field that needs fixing.
  • Address suggestions are limited to the billing country the buyer selected.
  • The checkout waits for a 3D Secure challenge that is still in progress.
  • The 3D Secure challenge no longer shows a cancel button.
  • Updated Discover card logo.
  • Clearer messages for more decline reasons.
  • The npm package is smaller (about 0.7 MB) and ships self-contained TypeScript types, including support for moduleResolution set to node16 or nodenext.

1.4.3

July 10, 2026

The first public 1.x release.

Breaking

  • Widget is now Element. createWidget() is now createElement(), and the related types and CSS class follow. Action required: see Upgrading from 0.x to 1.x.

New

  • 3D Secure. Card payments that need authentication show the bank's challenge in an overlay, and the checkout continues once the buyer completes it.
  • Fraud detection. Device fingerprinting runs in the background and never blocks checkout.
  • Phone number on bank transfers. The bank transfer form asks the buyer for a phone number.

Improvements and fixes

  • Expired saved cards are handled, and card brand icons are shown.
  • The payment element adapts better to small screens.
  • With a single payment method, it opens automatically. With several, the buyer picks one.
  • Missing iframe permissions are detected when the SDK runs inside a cross-origin iframe.

0.x

Versions 0.1.28 to 0.19.2 (July 18, 2025 to April 14, 2026) used the earlier "Widget" API. 0.x has reached end of support.

0.19.0 and earlier are not supported. They call checkout API paths that were replaced in 0.19.2.

Upgrade to the latest 1.x release.


Did this page help you?