v2.33.0
2025-06-13

iOS

✨ Improvements

  • Klarna auto continues when single payment option
  • Implement the Co-badged Cards feature on Drop-in

🔧 Fixes

  • Fix memory crash in validateRawData with weak self capture

Android

✨ Improvements

  • We have bumped compile and target versions to 35
  • Analytics: We have reduced number of analytics events captured and sent to our server
  • Improvements to DI resolution
v2.32.2
2025-05-16

✨ Improvements

  • We have added CardFormUIOptions.payButtonAddNewCard to support the “Add New Card” option in the card form flow.
  • Introduced support for the ‘Continue payment flow’ workflow action to configure checkout outcome. See our documentation for more info.
v2.32.1
2025-04-17

Android

✨ Improvements

  • PayPal: Improved support for picture-in-picture mode. Fixed an issue where some successful authentication flows were incorrectly marked as errors by the SDK.
  • 3DS: Enhanced locale normalization. Resolved an issue where certain locales were being rejected by the 3DS SDK, causing the flow to fail.
  • Klarna: Updated Klarna SDK to 1.1.0

⚠️ Primer SDK now supports BOM (Bill of Materials) via io.primer:bom

If you’re using Klarna in your own code, you can switch to the BOM to automatically stay aligned with the supported version:

implementation(platform("io.primer:bom:<version>")) implementation("io.primer:klarna-android")

This removes the need to manage Klarna versions manually.

If you choose not to use the BOM, make sure you manually update to io.primer:klarna-android:1.1.0

v2.32.0
2025-03-25

🚀 New feature

  • The SDK will now default to using API version 2.4 when initialised. It is possible to use API version 2.3 via PrimerSettings.apiVersion. For more information see our SDK reference, Api Reference and Migration Guides.
v2.31.0
2025-03-19

Android

✨ Improvements

  • 3DS Locale Propagation: Resolved an issue where the 3DS SDK occasionally rejected propagated locale settings.
  • iDEAL via Adyen: iDEAL is now fully supported as a redirect-based payment method.

🔧 Fixes

  • We have fixed a bug in the Drop-In Checkout which resulted in “Additional fees may apply” text being shown for the Card payment method, when no surcharge was present.
  • 3DS Flow Stability: Fixed crashes that occurred when the 3DS flow failed while the app was running in the background.

iOS

✨ Improvements

  • Improved error handling when server returns 202 response code
v2.30.2
2025-02-26

No Android Changes

iOS

🔧 Fixes

  • We have fixed a bug in the Drop-In Checkout which resulted in “Additional fees may apply” text being shown for the Card payment method, when no surcharge was present.

✨ Improvements

  • We have made changes to our internal Analytics logging system which will result in fewer unnecessary logs being sent.
v2.30.1
2025-02-12

✨ Improvements

  • We’ve increased the timeout for payment creation and handling for better stability.

🔧 Fixes

iOS

  • We have fixed a bug in our Drop-In Card Form, which resulted in a poor user experience while using RTL formatted languages.
v2.30.0
2025-02-05

🚀 New feature

✨ Improvements

  • Expanded Language Support: The React Native SDK now supports additional languages in drop-in, including:
    • Arabic
    • Bulgarian
    • Czech
    • Spanish (Argentina & Mexico)
    • Estonian
    • Croatian
    • Hungarian
    • Japanese
    • Latvian
    • Portuguese (Brazil)
    • Romanian
    • Vietnamese
  • 3DS Sandbox Testing: Enhanced support for testing 3D Secure (3DS) flows in the sandbox environment.

Android

  • Improved Analytics & Reporting: Enhanced tracking and insights for better performance monitoring.

🔧 Fixes

Android

  • Drop-in: fixed an issue causing crashes when calling Primer.dismiss() after the checkout sheet is already dismissed.
v2.29.0
2025-01-27

✨ Improvements

  • API Timeout values have been updated to improve behaviour in the loading phases of the checkout.

Android

  • Enhanced Card Expiry Date Validation: We’ve improved the accuracy of expiry date validation for both headless and drop-in integrations.
  • Improved Stability: Resolved crashes caused by ConcurrentModificationException during SDK initialization.

🚀 New feature

  • We have added additional dismissal controls to IPrimerUIOptions. It is now possible to dismiss the Primer UI via gestures, an explicit close button, or both.

Android

  • Co-badged cards in Drop-in: Primer SDK will automatically detect co-badged cards in the Drop-In integration. This release also brings improvements to card card network detection in general. Visit our documentation about co-badged cards in order to learn more.

🔧 Fixes

Android

  • Analytics: fixed serialization and deserialization of analytics events.
v2.28.0
2024-12-23

🚀 New feature

  • Native Payment Method Button Support: Some payment methods require and offer their native views. To support this, we’ve updated our Asset Manager and introduced the getPaymentMethodResource method to access these native resources seamlessly. If you are using Headless integration, make sure to check our updated documentation about rendering of payment method buttons.

    ℹ️

    Usage of Native Payment Method Button is a requirement for all new Android Google Pay API integrations that use a Google Pay payment button.

  • ACH Vaulting via Stripe: The ACH payment method through Stripe now supports a vaulting flow, enabling you to save customer details on agreement for future transactions.

  • Google Pay Enhancements: You can now collect additional user data through Google Pay, including the user’s email and shipping address. Check out our guide for details on enabling this feature.

  • Apple Pay Enhancements: You can now collect additional user data through Apple Pay, including the user’s email and shipping address. Check out our docs for details on enabling this feature.

🔧 Fixes

Android

  • 3DS Locale Handling: We’ve fixed an issue where locale extensions were stripped, causing failed 3DS transactions. This update ensures compliance with 3DS guidelines and smoother transaction processing.

Deprecations

v2.27.2
2024-11-26

🔧 Fixes

Android

  • Prevent dismissal of Drop-in card form while a payment is active.
  • Vipps via Adyen will now fall back to the Web flow in the event that the Vipps mobile app was not installed.
  • We’ve fixed the crashes that occurred when using Blik through Adyen’s Drop-In in standalone mode.
  • We’ve resolved occasional crashes related to the “fragment not attached” issue in Drop-In.
  • We’ve resolved the issue causing crashes when users were deeplinked multiple times from PayPal.
  • We’ve fixed the issue that caused crashes when retrying a 3DS challenge while another challenge was still in progress.

⚠️ Primer SDK now depends on io.primer:3ds-android:1.5.0 If you are using the 3DS dependency in your code, you are required to update it and align with the supported version. Otherwise, 3DS will result in failure.

iOS

  • Fixes for range or index out of bounds crash in the Card Form UI.
  • Fixes for a crash in InternalCardComponentsManager.

ℹ️ New 3DS SDK version is available If you are using the 3DS dependency in your code, we suggest updating to version 2.4.1.

v2.27.1
2024-10-28

🔧 Fixes

  • iOS - Prevent dismissal of Drop-in card form while a payment is active.
  • iOS - Discover card network image not showing.
  • iOS - Move the cursor to the end of the text after pasting the card number.
  • iOS - Errors in the card form are now correctly localized.
  • iOS - Adyen Blik dismissal issue and small UI glitch.
  • iOS - Fixed an issue where Adyen Vipps would not fall back to the Web flow in the event that the Vipps mobile app was not installed.
  • iOS - Fixed an issue where Adyen Blik was not present in PrimerHeadlessUniversalCheckout availablePaymentMethods.
  • iOS - Various stability improvements.
  • Android - Fixed serialization issue on RN 0.76+
v2.27.0
2024-09-23

🚀 New feature

  • The SDK now supports the Stripe ACH Payment Method
  • Read about how to integrate here.
v2.26.3
2024-08-28

🔧 Fixes

  • iOS - Fixed an issue where the PayPal flow was unusable in the Drop-In Universal Checkout
  • iOS - Fixed an issue where PrimerCheckoutData was nil when reporting an error in payment creation.
v2.26.1
2024-08-10

✨ Improvements

Client Session caching

  • It is now possible to cache the ClientSession configuration client-side, which can speed up certain flows in the SDK.
  • This can be enabled via the clientSessionCachingEnabled flag. Before enabling the flag to true it’s recommended to reach out to Primer support for additional verification since there are edge cases where it is not advised.
v2.24.0
2024-06-26

✨ Improvements

Both platforms

  • We have aligned the card expiry date validation logic between the Drop-In and Headless integrations, which were previously different. Additionally, we fixed a bug that caused the current month and year to be considered invalid expiry dates.
  • We have aligned error handling across mobile platforms and enhanced our analytics capabilities. Additionally, we have thoroughly documented all errors. For more details, please refer to the official documentation for Android and iOS.

iOS

  • We have fixed an issue where primerWillCreatePaymentWithData would be triggered twice when using the Klarna payment method.

🔧 Fixes

Android

  • We have resolved the issue with the 3DS service initialization that was incorrectly triggering errors during the initialization process.
  • Please note, that with this update, compatibility requires the use of the 1.4.3 version of the 3DS SDK (io.primer:3ds-android:1.4.3).

iOS

  • We have improved validation of the custom URL scheme setting used for payment methods with native UI.
  • Fixed a bug in the Klarna Headless implementation where the correct events were not fired during a manual payment flow.
v2.23.1
2024-05-29

✨ Improvements

  • We’ve added support for theming Drop-in Checkout - read more about configuring a theme in our documentation
v2.23.0
2024-05-28

🔧 Fixes

iOS:

  • Klarna Cocoapods dependency build issue is now fixed. If PrimerKlarnaSDK was not present in the Pods, the compiler was reporting an error even if you do not have Klarna set up in your Primer dashboard.

Both platforms:

  • PayPal: We have improved the PayPal payment method token by providing additional data, including the payer’s first name, last name, and external payer ID. For more information, see our docs (Android, iOS).

✨ Improvements

  • We started the implementation of the comprehensive testing strategy for the ReactNative SDK. We have added a bunch of Unit tests to our project with the purpose of increasing confidence in our codebase. Much more tests are coming.

NOTE: This does not require any change on the merchant side.

v2.22.0
2024-04-30

💳 APMs support

iDEAL via Adyen

Adds the ComponentWithRedirectManager that provides access to BanksComponent. Using the BanksComponent you can easily:

  • load list of all supported banks
  • submit user’s selection

For more information, see our payment method guide for iDEAL via Adyen, and sdk reference docs for ComponentWithRedirectManager.

Klarna is now available on HeadlessUniversalCheckout

We have extended our support for Klarna to React Native HeadlessUniversalCheckout.

Klarna payment categories have been expanded to allow support for all the available categories, including:

  • Pay now
  • Pay later: Pay in 30 days
  • Pay over time: Pay in 3-4 instalments. First payment right away, then the rest in instalments (no interest)
  • Fair financing: Instalment plans of 6, 12, 24, and 36 months with flexible payments (with interest)

For more information, see our payment method guide for Klarna headless, and sdk reference docs for KlarnaHeadlessManager.

🚀 New Feature

Support for Klarna EMD

Klarna may request extra merchant data (EMD) based on the merchant segment or consumer services. This additional information helps Klarna enhance risk assessment and improve conversion rates.

You can now dynamically pass any relevant EMD package via the Client Session as described here. Available schemas are documented here.

v2.21.1
2024-04-19

🔧 Fixes

iOS:

Previously on iOS, the SDK was sending an unexpected type for the paymentMethodType in the IPrimerCheckoutPaymentMethodData interface. To rectify this, we have added a new paymentMethod field of type String which should be used going forward. The paymentMethodType field has been deprecated.

Android:

The paymentMethodType field of the IPrimerCheckoutPaymentMethodData interface has been deprecated in favour of paymentMethod.

v2.21.0
2024-04-12

🚀 New Features

  • Recapture the CVV of Saved Cards: In compliance with PCI standards, we’ve introduced a feature to recapture the CVV for saved cards to potentially increase the success rate of card-on-file transactions. This feature is particularly beneficial as some processors or issuers may have lower authorization rates for transactions without a CVV.
  • Android - Google Pay: By default, Google Pay is presented to the user regardless of whether they have a supported card in their wallet. You can now automatically hide Google Pay if the user’s wallet does not contain a supported card by setting existingPaymentMethodRequired to true. Check our guide on how to enable this feature.
  • Android - PayPal: We have improved the PayPal payment method token by providing additional data, including the payer’s first name, last name, and external payer ID.

✨ Improvements

  • Checkout Experience Enhancements:
    • Enhanced immediacy of the loading spinner in the drop-in checkout process for a smoother user experience.
    • Local card network identification has been made faster and more efficient.
  • Client Session API: The orderedAllowedCardNetworks option has been introduced, allowing for the specification of supported card networks. This feature enhances network detection and validation for card payments and Apple Pay.
  • iOS - 3DS SDK Upgrade: Compatibility has been extended to version 2.3.0 or higher of the Primer 3DS SDK.
  • iOS - Version Requirement: The minimum supported iOS version has been raised to 13.0, ensuring our SDK aligns with the latest iOS standards for improved app performance.
  • iOS - Validation Error Handling: For card payments, the SDK now intelligently handles validation errors by only sending events when there’s a change in a field’s validation state. This optimization is specifically for card payments via headless checkout.
  • iOS - Primer3DS SDK Version 2.2.0: The SDK has been upgraded to the latest version, ensuring access to state-of-the-art security features and an enhanced user experience.
  • Android - Please note, that with this update, compatibility requires the use of the 1.4.2 version of the 3DS SDK (io.primer:3ds-android:1.4.2).
  • Currency Handling: A new JSON data format for currencies has been introduced, centralizing currency information on our server to improve accuracy and efficiency.

🔧 Fixes

  • Analytics Service Improvements: Significant enhancements have been made to our analytics service, improving its performance and resolving a memory leak issue that could lead to crashes in older SDK versions.
  • UI Corrections: In the drop-in checkout, the card icon now accurately updates in response to changes in the entered card number.
  • Android -Previously, when the app utilizing our SDK was built in release mode with minification applied, initialization of the SDK would fail. We’ve since addressed this issue by updating our consumer-rules.pro files. You should not manually include any Proguard rules, as consumer-rules.pro are seamlessly integrated with your existing Proguard rules.
v2.20.0
2024-02-08

✨ Improvements

  • In this latest release, our 3DS support has undergone some slight enhancements. Please note, with this update, compatibility requires the use of the 1.4.0 version of the Android 3DS SDK (io.primer:3ds-android:1.4.0) and pod 'Primer3DS', '2.2.0' for iOS. We recommend upgrading to this version as it brings new LOA Reference Number for all protocol versions.
  • Internally, between the different platforms, we have aligned how the currencies are formatted. Currency metadata is now being served from our server, allowing us to adapt to potential changes without the SDK update being needed.

🔧 Fixes

Android:

  • Previously, Google Pay was hidden in case the amount was set to 0. From now on, Google Pay will be always shown in case it was enabled in Primer Dashboard and the device supports payments with Google Pay.
v2.19.2
2024-02-01

✨ Improvements

Android

  • Fixed bug where order.fees.type was not being correctly deserialized by the SDK.
v2.19.1
2024-01-25

✨ Improvements

iOS

  • Fixed an issue where typescript definitions weren’t being included in the release.
v2.19.0
2024-01-05

✨ Improvements

In this release, substantial enhancements have been made to our 3DS support, introducing a variety of improvements aimed at boosting the conversion rate of 3DS challenges. Please note, with this update, compatibility requires the use of io.primer:3ds-android:1.3.0 for Android and pod 'Primer3DS', '2.1.0' for iOS.

Features

Headless Vault Manager

In this release, we have added VaultManager.configure() which configures an instance of VaultManager, which can then be used to:

  • Fetch a list of vaulted payment methods
  • Delete a vaulted payment method
  • Perform a payment using a vaulted payment method and additional data (e.g. CVV)

Explore our documentation for detailed information.

v2.18.0
2023-11-06

✨ Improvements

iOS

  • Fix the ApplePay bug where the flow was not shown if there were no cards added in the Wallet app.
    • Added 2 flags:
      • showApplePayForUnsupportedDevice: Bool If in some cases you don’t want to present the ApplePay option if the device is not supporting it set this to false. The default value is true.
      • checkProvidedNetworks: Bool Flag introduced to enable the initiation of the ApplePay flow even when no cards are present in the Wallet. To enable ApplePay Add Card Flow, set this flag to false This flag is set to true by default due to enable backward compatibility with older versions.
  • 🍎 Upgraded Primer iOS SDK to 2.18.0 (Git | Changelog)

Android

  • 🤖 Upgraded Primer Android SDK to 2.18.0 (Git | Changelog)
v2.17.3
2023-09-26

✨ Improvements

RN

  • ⚛ Upgraded react native to 0.72.6 (Changelog)
    • Still compatible with 0.70.x

Android

  • 🤖 Upgraded Primer Android SDK to 2.17.3 (Git | Changelog)

iOS

v2.17.2
2023-08-17

✨ Improvements

Android:

In this version of the SDK we have introduced a new version of 3DS library. Primer SDK will depend on io.primer:3ds-android:1.2.0 from now on.

⚠️ If you are using 3DS dependency in your code, you are required to update it in order to align with the supported version. Otherwise, 3DS will result in failure.

v2.17.1
2023-08-09

🔧 Fixes

iOS

  • Fix Apple Pay crash

Android

  • Removed requirements for amount in client session when vaulting Paypal
v2.17.0
2023-07-28

⚠️ This version introduces breaking changes for Headless Checkout

✨ Improvements

It’s been more than 6 months that Headless Checkout has been released in Beta!

We gathered insightful feedback that pushed us to work on critical improvements to the developer experience of Headless Checkout.

This release candidate introduces a more robust, scalable, and stable flow for integrating Headless Checkout to implement a fully custom interface for your checkout.

Our documentation has been updated to reflect these changes. You can also find a Migration Guide detailing the changes.

3DS Service

Our 3DS service has been completely revamped. Primer SDK now supports 3DS protocol version 2.2.0

  • Support 3DS weak validation
  • Support 3DS OOB flow
  • Improve 3DS reporting

Check out our detailed documentation here

ℹ️ iOS: If you are using Primer3DS in your integration, make sure to bump it to v.1.2.0

🔧 Fixes

iOS

  • Fix vaulted payment method on Drop In not getting tapped
  • Enhance 3DS auth rates
  • Fix checkout not rendering when there are vaulted payment methods
  • Make performance improvements on raw data manager validation delegate
  • Fix the scenario where the payment method’s image file is missing
  • Print console warning when a decisionHandler is not implemented
  • Observability improvements
  • Improves cancellation happening from 3rd party payment apps through deep links
  • Fix Atome cancellation from within the web view
  • Fix UI unresponsiveness happening on iOS 16.0.x in certain cases

Android:

✨ Improvements:

  • Improvements to deeplink handling for Paypal and Redirect based payment methods
  • Reintroduce showing a payment method directly with the Drop In UI integration
  • Koin dependency has been bumped to version 3.3.3
  • Better interoperability with Java when using Primer SDK
  • Internal SDK improvements
  • PrimerPaymentMethodAsset now exposes the payment method’s friendly name
v2.17.0-rc.13
2023-07-17

✨ Improvements since 2.17.0-rc.12

Android

  • Improvements to deeplink handling for Paypal and Redirect based payment methods

iOS

  • Fix vaulted payment method on Drop In not getting tapped
v2.17.0-rc.12
2023-07-12

⚠️ If you are using Primer3DS in your integration, make sure to bump it to v.1.2.0

✨ Improvements since 2.17.0-rc.11

  • Enhance 3DS auth rates
v2.17.0-rc.11
2023-07-11

✨ Improvements since 2.17.0-rc.10

iOS

  • Fix issue with Vipps getting presented
v2.17.0-rc.10
2023-06-09

✨ Improvements

  • Reintroduce showing a payment method directly with the Drop In UI integration

✨ Improvements since 2.17.0-rc.9

iOS

⚠️ If you are also integrating Primer3DS, make sure to install v.1.1.2 to avoid archiving issues with Xcode 14.3.1

  • Fix checkout not rendering when there are vaulted payment methods
  • Make performance improvements on raw data manager validation delegate

Android

  • Apply fix on PayPal vaulting
  • Resolved bug where Drop In UI could be launched multiple times at same time
v2.17.0-rc.9
2023-05-31

⚠️ This version has a know bug and won’t render the Universal Checkout if there’re vaulted payment methods for the user defined in the client session

✨ Improvements since 2.17.0-rc.8

iOS

  • Apply fix on PayPal vaulting
  • Fix Klarna archiving issue
v2.17.0-rc.8
2023-05-30

✨ Improvements

⚠️ This version introduces breaking changes for Headless Checkout. You also have to update the iOS pod Primer3DS to version 1.1.1.

⚠️ This version has a know bug and won’t render the Universal Checkout if there’re vaulted payment methods for the user defined in the client session

  • Our 3DS service has been completely revamped. Primer SDK now supports 3DS protocol version 2.2.0
  • Support 3DS weak validation
  • Support 3DS OOB flow
  • Improve 3DS reporting
  • Add 3DS sanity check in PrimerSettings

Check out our detailed documentation here

✨ Improvements since 2.17.0-rc.11

  • Minor fixes
v2.16.7
2023-05-10

🔧 Fixes

iOS:

  • Take into account tax and discount on Apple Pay items
  • Prioritize merchant amount over total amount
  • Only take into account surcharge when merchant amount is not set
v2.16.6
2023-05-08

🔧 Fixes

iOS:

  • Expose payment instrument data on tokenization callback
v2.17.0-rc.6
2023-05-08

🔧 Fixes

iOS:

  • Expose payment instrument data on tokenization callback
v2.17.0-rc.4
2023-04-04

⚠️ This version introduces breaking changes for Headless Checkout

✨ Improvements

  • Asset now exposes the payment method’s friendly name as paymentMethodName

🔧 Fixes

iOS:

  • Improved analytics
  • Fix scenario where payment method’s image file is missing
  • Print console warning when a decisionHandler is not implemented
v2.17.0-rc.3
2023-03-21

⚠️ This version introduces breaking changes for Headless Checkout

✨ Improvements

💳 APMs support

Cards via iPay88

In this version of the SDK we added the support for Cards via iPay88.

Cards via iPay88 Payment Method now is fully supported via Headless Universal Checkout and Drop-In.

You can now make one-off payments or vault a card with iPay88 in order to make recurring payments.

✨ Improvements

Android:

  • It is now possible to capture billing address using Google Pay by specifying googlePayOptions.isBillingAddressCaptureEnabled = true. Please check official docs for more details.
  • Contains the features and improvements of 2.16.5

iOS:

  • Contains the features and improvements of 2.16.5
  • Observability improvements
  • Improves cancellation happening from 3rd party payment apps through deep links
  • Fix Atome cancellation from within the webview
  • Fix UI unresponsiveness happening on iOS 16.0.x on certain cases
  • Fix iOS console warnings
v2.16.5
2023-03-14

🚀 Improvements

Android:

  • Improved handling of payment cancellations for Atome
  • Improved internal analytics for 3DS events
  • Improved internal analytics for headless integration

🔧 Fixes

iOS:

  • Fix an issue that prevented 3DS from working with some card networks (AMEX, Maestro, Discover, and JCB)
  • Fix an issue that prevented 3DS from working when the billing address is set or updated after the SDK is initialized with a client session
v2.17.0-rc.2
2023-01-23

⚠️ This version introduces breaking changes for Headless Checkout

✨ Improvements

It’s been more than 6 months that Headless Checkout has been released in Beta!

We gathered insightful feedback that pushed us to work on critical improvements to the developer experience of Headless Checkout.

This release candidate introduces a more robust, scalable, and stable flow for integrating Headless Checkout to implement a fully custom interface for your checkout.

Our documentation has been updated to reflect these changes. You can also find a Migration Guide detailing the changes.

This release candidate will soon be merged into the main releases.

In addition to RC1 release, we have improved couple of things based on your feedback:

  • Fixed issue when calling AssetsManager’s getPaymentMethodAsset on Android that caused the result to be a string instead of an object

  • Fixed an issue causing applePay.isBillingAddressCaptureEnabled to be ignored

  • Reverted back old way of setting Drop-In callbacks: 2.17.0 does not introduce any breaking change for the drop-in checkout

  • Fixed an issue that caused Google Pay to be proposed on iOS

  • We’ve also added the changes to 2.16.4

v2.16.4
2023-02-09

New languages

  • Malay
  • Thai
  • Mandarin Chinese
v2.17.0-rc.1
2023-01-23

⚠️ This version introduces breaking changes for Headless Checkout

✨ Improvements

It’s been more than 6 months that Headless Checkout has been released in Beta!

We gathered insightful feedback that pushed us to work on critical improvements to the developer experience of Headless Checkout.

This release candidate introduces a more robust, scalable, and stable flow for integrating Headless Checkout to implement a fully custom interface for your checkout.

Our documentation has been updated to reflect these changes. You can also find a Migration Guide detailing the changes.

This release candidate will soon be merged into the main releases.

v2.16.2
2022-01-23

✨ Improvements

  • Google Pay payments now support native 3DS

🔧 Fixes

  • [Android] Drop-In can now be initialized with a 0 amount in the client session
  • [Android] Card flows that use showPaymentMethod have been improvemend
  • [iOS] Fix an issue with OVO via Xendit redirect
v2.16.0
2022-12-21

✨ Improvements

In this version we are adding support for iPay88 card payments.

We have also added events to monitor the Headless flow.

Android

  • In this version of the SDK we have introduced a new version of 3DS library. Primer SDK will depend on io.primer:3ds-android:1.1.2 from now on.

    ⚠️ If you are using 3DS dependency in your code, you are required to update it in order to align with the supported version. Otherwise, 3DS will result in failure.

  • We have added a way to capture billing address using Google Pay. You will need to pass captureBillingAddress = true to PrimerGooglePayOptions

🔧 Fixes

  • [iOS] Remove Xcode configuration flags from podspec.
  • [iOS] Apple Pay will return an error on simulator.
v2.15.1
2022-11-29

🔧 Fixes

  • Fixing the MBWay local asset loading on iOS
  • Removed the GENERATE_INFOPLIST_FILE as part of the xcconfig of the PrimerSDK podspec dependency, as it was causing an issue upon archiving the hosting apps.
  • Added CODE_SIGNING_ALLOWED => NO to xcconfig in PrimerSDK podspec dependency to remove the Signing requirement introduced in Xcode 14+
  • Fixed an issue on Android when a developer wanted to disable the showing of some screens. Previously that was broken due to Android OS automatically showing the bottom sheet dialog when we get back on the main screen, even if we hide it before.
v2.15.0
2022-11-18

✨ Improvements

👌 Alongside the listed features below, we have performed improvements to our codebase.

In this version of the SDK we have introduced a new version of 3DS library for Android. Primer Android SDK will depend on io.primer:3ds-android:1.1.1 from now on.

⚠️ If you are using 3DS dependency in your code, you are required to update it in order to align with the supported version. Otherwise, 3DS will result in failure.

🔧 Fixes

  • We have fixed certain redirection issues for payment methods using Buckaroo as PSP on Android
  • We have improved the Cardholder name check on iOS
v2.14.4
2022-11-14

🔧 Fixes

  • Aligned the RN_ANDROID on Analytics sdkType
  • Fixed an issue on iOS in regards to the availability of retrieving some assets
  • Small improvements on iOS in the way the Country selector in billing address gets loaded
v2.14.3
2022-11-08

🔧 Fixes

  • Fixed version reference of the PrimerSDK for iOS
v2.14.2
2022-11-08

🔧 Fixes

  • Fixed 3DS on frictionless flows
  • Sending analytics events with correct sdkVersion and sdkType
v2.14.1
2022-11-04

🔧 Fixes

  • Fixed the PayPal vaulting service
v2.14.0
2022-10-28

✨ Improvements

👌 Alongside the listed features below, we have performed improvements to our codebase.

In this version of the SDK we have removed options to pass 3DS vaulting flag is3DSOnVaultingEnabled

Above flow is now obsoleted and 3DS will always follow workflows.

🔧 Fixes

  • We have fixed wrong cardholder name checkout modules evaluations which resulted in not requesting cardholder name on headless
  • We have fixed raw data validation callbacks not being fired on headless
  • We have also fixed retrieval of card network assets
v2.13.2
2022-10-26

🔧 Fixes

  • Fix initialization for Universal Checkout on Android.

ℹ️ This fix solves the issue affecting versions from 2.13.0 to 2.13.1. We recommend updating to this 2.13.2 version.

v2.13.1
2022-10-24

🔧 Fixes

Fixing the Blik flow on iOS.

ℹ️ This fix solves the issue affecting versions from 2.7.0 to 2.13.0. We recommend updating to this 2.13.1 version.

v2.13.0
2022-10-21

✨ Improvements

👌 Alongside the listed features below, we have performed improvements to our codebase.

💳 APMs support

Retail Outlets via Xendit

In this version of the SDK we added the support for Retail Outlets via Xendit.

Retail Outlets via Xendit Payment Method now is fully supported via Headless Universal Checkout (Beta) via the Raw Data Manager.

Check this out in our documentation 🙌

v2.12.2
2022-10-19

🔧 Fixes

iOS

Fixed on Headless Universal Checkout with ADYEN_BANCONTACT_CARD flow failing on some scenarios.

v2.12.1
2022-10-11

🪲 Hotfix

iOS

Fixes a bug in the Klarna vault flow.

Android

Fixed raw card data formatting and mapping in some scenarios.

v2.12.0
2022-10-07

✨ Improvements

👌 Alongside the listed features below, we have performed improvements to our codebase.

💳 APMs support

Bancontact via Adyen

In this version of the SDK we added the support for Bancontact Debit via Adyen for.

Bancontact Debit via Adyen Payment Method now is fully supported via Headless Universal Checkout (Beta) and the standard SDK implementation.

In this release, developers have the ability of initializing the raw data for a Bancontact Card 💳 and perform the Tokenization flow via their own fully customized UI yet utilizing all of the features that make Primer great.

Apple Pay billing address on iOS

Last but not least, we are now capturing the billing address out of an Apple Pay payment.

To enable this feature, when configuring the Checkout with the PrimerSettings , developers can setup PrimerApplePayOptions with another parameter: isCaptureBillingAddressEnabled . The SDK will take care of showing the option of adding the billing address and capture it.

v2.11.0
2022-10-03

✨ Improvements

👌 Alongside the listed features below, we have performed improvements to our codebase.

In this version of the SDK we improved the raw data validation in the Headless Universal Checkout flow.

v2.9.0
2022-09-19

✨ Improvements

👌 Alongside the listed features below, we have performed improvements to our codebase.

In this version of the SDK we added the support for Multibanco via Universal Checkout for iOS too 🙌.

Multibanco Payment Method now is fully supported on both platforms via Headless Universal Checkout (Beta) and the standard SDK implementation.

PromptPay is also now supported via Omise too 🙌.

In Headless Universal Checkout (Beta), developers will have access to a new event which will provide an object PrimerCheckoutQRCodeInfo containing the data needed to build their awesome UI / UX.

For PromptPay specifically, the object will be PromptPayCheckoutAdditionalInfo

onCheckoutReceivedAdditionalInfo(additionalInfo: PrimerCheckoutAdditionalInfo?)

v2.8.1
2022-09-14

🚀 Improvements

Android

We have fixed a bug where cardholder name field was loosing focus when billing address checkout module was enabled.

v2.8.0
2022-09-08

✨ Improvements

👌 Alongside the listed features below, we have performed improvements to our codebase.

iOS

Applied a fix on the infinite loading with Xendit payment methods.

Android

Applied a fix on the infinite loading with Xendit payment methods.

We have removed some transitive dependencies from our code. This will result in smaller size of you application when Primer SDK is imported.

Try it out and let us know what do you think 🙌!

v2.6.1
2022-08-29

🪲 Hotfix

This release fixes a build warning on the duplication of the React Native SDK’s bridging header on iOS.

v2.5.1
2022-08-29

🪲 Hotfix

This release fixes a build warning on the duplication of the React Native SDK’s bridging header on iOS.

v2.6.0
2022-08-24

✨ Improvements

👌 Alongside the listed features below, we have performed improvements to our codebase.

Last release was all about bringing the possibility to Headless Checkout of utilizing the raw data a card 💳 contains so that developers could utilize their own fully customized UI and still use all of the features that make Primer great.

We kept expanding the Headless Checkout feature, now providing to our developers the raw phone number data they can utilize to create payments.

The payment method supporting that is only OVO via Xendit for now.

Try it out and let us know what do you think 🙌!


We didn’t stop here though, alongside the phone number capture, we have enriched our suite of available payment methods adding MB Way, working with Portuguese phone numbers 🇵🇹 and needing the MB Way App to complete the payment.

Here is a preview for iOS and Android 👇

Simulator

Simulator Screen Recording - iPhone 11 - 2022-08-23 at 18.48.28.gif

Screen Recording 2022-08-23 at 18.56.53.gif

v2.5.0
2022-08-17

✨ Improvements

👌 Alongside the listed features below, we have performed improvements to our codebase.

This release enhance the capabilities of our SDK in its Headless Checkout feature, bringing the possibility of utilizing your fully customized UI and still use all of the features that make Primer great. We now give to our developers all the raw data a card contains.

Try it out and let us know what do you think 🙌!

v2.4.0
2022-08-10

✨ Improvements

👌 Alongside the listed features below, we have performed improvements to our codebase.

This release brings a totally new way of retrieving the APMs.

We have now the possibility of providing some APMs without even push a new release 🙌.

That’s a huge milestone for us and the developments of our product.

v2.3.0
2022-07-29

✨ Improvements

👌 Alongside the listed features below, we have performed improvements to our codebase.

💳 APMs support

Fast and PromptPay via Rapyd

iOS representation

Completing Payment

Android representation

Scan Code

v2.2.1
2022-07-18
  • Android
    • Fix exposing views
  • iOS
    • Internal codebase refactor
v2.2.0
2022-07-13

✨ Improvements

👌 Alongside the listed features below, we have performed improvements to our codebase.

💳 APMs support

Grab Pay, Poli and GCash via Rapyd

iOS and Android representation

Grabpay Gcash Simulator

Billing address support 🧾

We can now capture the billing address before performing a payment.

iOS and Android representation

Primer & Billing

v2.1.0
2022-07-08

✨ Improvements

The version 2 of the Headless Universal Checkout is out!

✨ Payments created automatically

Primer Headless Universal Checkout | SDK

Starting from this version, automatic payment creation is included in the Headless Universal Checkout. You should now only care about creating best possible and seamless experience for your users, we will take care of the rest. Please take a look at our simple explanation about the changes we made.

v2.0.1
2022-06-20
  • Fix Klarna checkout
  • Dummy APMs
v0.16.2
2022-07-06
  • Update Android dependency to 1.15.1
v0.16.1
2022-06-16
  • Fix Klarna checkout
  • Fix Klarna checkout with HUC
v0.16.0
2022-06-13
  • Include Headless Universal Checkout Beta
v2.0.0
2022-06-08

✨ Improvements

The version 2 of the SDK is out! This includes a simplified way to integrate Primer

📚 Take a look at the migration guide for updating your integration to version 2.

✨ Payments created automatically

Universal Checkout | SDK

Creating payments with Universal Checkout is now seamless. There’s no more need for callbacks, API calls and headaches to create a payment. It’s all done under the hood 🧙

In the past, creating payments involved manual payment handling: On the client side, you would have had to implement the dreaded clientTokenCallback, onTokenizeSuccess and onResumeSuccess delegate functions.

On the server side, you had to manually call our Payments API in order to create a payment 🤷

Rejoice! As from version 2.0.0 no manual payment handling is required! Payment creation is now, as mentioned above, :chef-kiss: - seamless.

Feel free to rip out the above mentioned callbacks when migrating to version 2.0.0 and enjoy the feeling of utter relaxation as all your payment handling is now done by Universal Checkout 💆


v0.15.8
2022-05-30
  • Fixed PayPal vaulting on iOS and Android
  • Fixed Android mappings
v0.15.5
2022-05-23
  • Added following APMs
    • Coinbase
    • Opennode
    • 2c2p
    • PayShop
v0.13.0 [BETA 3]
2022-05-19
  • Fix Apple Pay merchant name not showing
v0.15.1
2021-04-19
  • Fixes cardholder name field not deleting characters
  • Changes cardholder name field’s keyboard type
v0.15.0
2021-04-12
  • Bug fixes & stability improvements
0.12.5
2021-04-07
  • Update native dependencies
  • Fix callbacks naming and types
v0.12.4
2021-03-29
  • Update native dependencies
v0.13.0-beta.1
2021-03-17
  • Beta-1 for the Headless Universal Checkout
v0.12.3
2021-03-17
  • Fix is3DSDevelopmentMode flag
v0.12.2
2021-03-16
  • Bug fixes
v0.12.1
2021-03-11
  • Update native dependencies
v0.11.2
2021-02-16
  • Fix actions callback
v0.11.1
2021-02-09
  • Update native dependencies
v0.11.0
2021-02-11
  • Update native dependencies
v0.10.0
2021-02-01
  • Improved deep linking for both native platforms
  • Extended language support for Android
v0.9.0
2021-01-28
  • Added support for more payment methods
  • Fixed single payment method payment flow
  • Performance improvements on both native platforms
  • Autofocus feature for card forms added
v0.8.0
2021-01-14
  • Add support for SET_BILLING_ADDRESS client session action
  • Enables postal code capture in card form on both platforms
  • Improvements to surcharge feature
v0.7.1
2021-12-23
  • Add beta support for payment method Atome
v0.7.0
2021-12-08
  • Stable surcharge feature for both iOS & Android.
  • Minor bug fixes.
  • Improvements to example app.
v0.7.0-beta
2021-12-03
  • Adds onClientSessionActions callback
  • Early version of surcharge added for both platforms.
v0.6.8
2021-12-03
  • Refactored error handling for onTokenizeSuccess and onResumeSuccess
  • Improved flow for example app
v0.6.7
2021-12-01
  • Adds Bancontact, EPS, Giropay, iDeal and Sofort via Buckaroo
  • Minor updates to example app
  • Minor fix on PayPal presentation for iOS

Billing Address