- Expose VaultedPaymentMethod initialiser (#1032)
- Prevent dismissal of Drop-in card form while a payment is active (#1031)
- Discover card network image not showing (#1025)
- Move the cursor to the end of the text after pasting the card number (#1027)
- Adyen Blik dismissal issue and small UI glitch (#1020)
- Apple Pay incorrect timeout reporting (#1010)
- Apple Pay EC Updates (#1004)
- Add additional rails to guard against crashes (#1009)
- Fallback to Web flow when Vipps app is not installed (#1008)
- Fix error reporting for apple pay display failure (#997)
- Stripe ACH Drop-in implementation (#921)
- Stripe ACH Headless implementation (#876)
- Adds orderId to the PrimerCheckoutData in error case (#989)
- Add some checkoutData in the case of error (#987)
- Ensure paypal webview is displayed on correct window (#986)
- apply uiDelegate when set in PrimerHeadlessUniversalCheckout.current.start (#975)
- Switch %@ to %d for cvv recapture explanation string (#965)
- Cache configuration for a given ClientSession (#959)
- session is active (#962)
- apple-pay: Prefer using merchantName from Configuration over th… (#958)
- Validate PENDING in resume if showSuccessCheckoutOnPendingPayment flag is true (#957)
- Concurrent dependency access (#950)
- Add duration tracking for network requests (#952)
- Fix crash when attempting to clean up 3DS prior to initialisation (#937)
- Remove UI only used by card components (#931)
- Remove card components (#924)
- Handle non-200 2xx codes (#934)
- prevent crash when formatting CVV recapture explanation string (#930)
- Remove event duplication from Klarna Drop-In (#912)
- Remove +1 year card expiry validation logic (#911)
- Manual Handling for Klarna Headless implementation (#899)
- Align remaining mis-aligned PrimerError errors with android (#886)
- Refactor error handling for url schemes (#871)
- Rework HUC tests (#854)
- Prevent klarna breaking debug app when not imported (#857)
- DPS-292 fixes externalPayerInfo on Paypal (#849)
- Fix parsing of the API response (#850)
- Fix reported CI/CD issues for nol Pay (#840)
- Replace URLSessionStack with new async/await compatible network service (#819)
- Fix Nol pay Xcode errors (#837)
- CVV Recapture on Drop-in (#823)
- Klarna Drop-IN Reskin (#822)
- Bump the minimum version and remove all #available statements (#758)
- Start loading spinner earlier in Drop-in Card Form (#817)
- card network parsing (#815)
- Klarna Headless (#789)
- NativeUIManager Composable Architecture (#810)
- Update raw card data validation to only send errors that are different from previous send (#806)
- Analytics service improvements (#801)
- Ensure card network is updated correctly in drop-in card form (#805)
- Co-Badged Cards (#774)
- ensure REQUEST_END events are sent for all relevant endpoints (#798)
- Implement new currencies logic (#776)
- Primer3DS SDK has been updated to version 2.2.0
- Fix NOL pay bug - fetching of the cards (#793)
- Remove dependency on KlarnaMobileSDK 2.2.2 (#787)
- iDeal via Adyen , form with redirect component feature (#754)
- Throw error when using NativeUIManager for non-native payment method (#772)
- Improved Errors in the event Apple Pay cannot be presented.
- Support for 3DS SDK v2.1.0 (#764)
- add additional info to errors (#759)
- Reduce memory usage for analytics service (#756)
- Add local empty phone validation (#740)
- Fix Nol Pay state machine to allow going back in steps (#736)
- Logging interface for SDK (#694)
- Implement Phone Validation for Nol (#720)
- fixes ApplePay button rendering logic (#685)
- revert min deployment version bump (#713)
- CHKT-1536 Implement NolPay (#677)
- Add UIKit import to Mock3DSService.swift (#696)
- Removed noisy analytics events during SDK init
- Upgrades for Xcode 15
- We’ve removed the UIKit import guards from all files
- Fix issue where Cardholder Name field would not accept spaces in Headless Integration.
- Fix Apple Pay crash
- Added Headless Vault Manager
- Revamped 3DS Service
PrimerPaymentMethodAsset
now exposes the payment method’s friendly name- Reintroduce showing a payment method directly with the Drop-In UI integration.
- Support for iPay88
- 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
- Fix vaulted payment method on Drop In not getting tapped
- Enhance 3DS auth rates
Headless Vault Manager
- Add
PrimerHeadlessUniversalCheckout.VaultManager()
which returns an instance ofPrimerHeadlessUniversalCheckout.VaultManager
.
- Fix issue with Vipps getting presented
- Reintroduce showing a payment method directly with the Drop In UI integration
- Fix checkout not rendering when there are vaulted payment methods
- Make performance improvements on raw data manager validation delegate
- Apply fix on PayPal vaulting
- Fix Klarna archiving issue
- 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
- Set 3DS sanity check in
PrimerSettings
tofalse
when you are inDEBUG
mode, to disable the device check when testing on the simulator.
Check out our detailed documentation here
- Minor fixes
- 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
- 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
- Expose payment instrument data on tokenization callback
- Fix issue that prevented the client session from being updated when restarting headless checkout
- Make iPay88
userContact
optional
- Expose payment instrument data on tokenization callback
- Fixed SDK crashing when Primer3DS is not included
- Fixed build issue due to iPay88 when archiving
- Modify iPay88 validation rules
- Improved analytics
- Improved analytics
PrimerPaymentMethodAsset
now exposes the payment method’s friendly name
- Improved analytics
- Fix scenario where payment method’s image file is missing
- Print console warning when a
decisionHandler
is not implemented
- Fix for React Native
- This version is adding support for iPay88 payments in Malaysia.
- 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
- 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
- Improve 3DS visibility
- Headless Checkout
- Contains the features and improvements of 2.16.3 and 2.16.4
- Remove Google Pay from the list of payment methods
- Fix translations
- Fix build issue on Xcode 13
- Add translations
- Add analytics events and errors
- Fix theming issue
- Headless Checkout
- Fix Xendit OVO redirect
- Fix Klarna payment category
In this version we are adding support for iPay88 card payments.
We have also added events to monitor the Headless flow.
- Remove Xcode configuration flags from podspec.
- Apple Pay will return an error on simulator
- Fixing the MBWay local asset loading
- Removed the
GENERATE_INFOPLIST_FILE
as part of thexcconfig
of thePrimerSDK
podspec as it was causing an issue upon archiving the hosting apps - Added
CODE_SIGNING_ALLOWED => NO
toxcconfig
inpodspec
to remove the Signing requirement introduced in Xcode 14+
- Fixed the Contributing link in our SDK Readme
- Added the
GENERATE_INFOPLIST_FILE
as part of thexcconfig
of thePrimerSDK
podspec - Improved the Cardholder Name field availability in Card form
- Fixed an issue with regards to the availability of retrieving some assets
- Small improvements in the way the Country selector in billing address gets loaded
- Fixed 3DS on frictionless flows
- Sending analytics events with correct
sdkVersion
- Fixed the PayPal vaulting service
In this version we are obsoleting the 3DS vaulting via the **PrimerSettings.PrimerCardPaymentOptions**
.
Above flow is now obsoleted and 3DS will always follow workflows.
- 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
- Fixing the Blik flow.
- New APMs support
-Fixed on Headless Universal Checkout with ADYEN_BANCONTACT_CARD
flow failing on some scenarios.
- Fix Klarna vault flow failing on some scenarios.
- New APMs support: Bancontact via Adyen
- Capture Apple Pay billing address
Fix crash with Primer’s raw data manager on HUC and processor 3DS
- In this version of the SDK we improved the raw data validation in the Headless Universal Checkout flow.
- Multibanco via Universal Checkout.
- Swift Package Manager Integration
- This release changes the way that Klarna is integrated, and switches on Klarna’s native iOS SDK (with CocoaPods, SPM will soon follow). It also add MultiBanco and MBWay support on Headless Universal Checkout raw data manager.
- This release changes the way that Klarna is integrated, and switches on Klarna’s native iOS SDK (with CocoaPods, SPM will soon follow).
- 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.
- This release brings a totally new way of retrieving the APMs.
- New APM: Fast and PromptPay via Rapyd
- Internal codebase refactors
- Fix Danger check
- New APMs support: Grab Pay, Poli and GCash via Rapyd
- Billing address support
- Fix checkout with Adyen iDeal
- The version 2 of the Headless Universal Checkout is out!
- Payments created automatically
- Fix Klarna checkout
- Dummy APMs
- The version 2 of the SDK is out! This includes a simplified way to integrate Primer
- Payments created automatically
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: