apple-pay-no-cards-in-wallet
: Detects when no payment cards are configured in Apple Walletapple-pay-device-not-supported
: Identifies devices that don’t support Apple Payapple-pay-configuration-error
: Reports merchant configuration issuesapple-pay-presentation-failed
: Captures general presentation failuresprimer
prefix to gray color variables to improve naming consistency and avoid potential conflicts with other libraries.
Migration Guide
UIColor.gray100
-> UIColor.primerGray100
UIColor.gray200
-> UIColor.primerGray200
UIColor.gray300
-> UIColor.primerGray300
UIColor.gray400
-> UIColor.primerGray400
UIColor.gray500
-> UIColor.primerGray500
UIColor.gray600
-> UIColor.primerGray600
UIColor.gray700
-> UIColor.primerGray700
CardFormUIOptions.payButtonAddNewCard
to support the “Add New Card” option in the card form flow.PrimerSettings.apiVersion
. For more information see our SDK reference, Api Reference and Migration Guides.primer-sdk-3ds-ios
dependency to version 2.4.2
. For more information on 3DS SDK version, see here.PaymentInstrumentData.accountNumberLast4Digits
was incorrectly named PaymentInstrumentData.accountNumberLastFourDigits
when exposed via the PrimerHeadlessUniversalCheckout
interface. Visit our SDK Reference for more information.generic-underlying-errors
) was passed when a user cancelled a PayPal payment. Now, the correct error (payment-cancelled
) is reported.2.4.1
which fixes a crashing issue.presentPaymentMethod
which could cause a crash in certain scenarios.PrimerCheckoutData
was nil when reporting an error in payment creation.uiDelegate
via PrimerHeadlessUniversalCheckout.current.start
now works as expected.PrimerHeadlessUniversalCheckout
not recognizing PrimerHeadlessNolPayManager
due to specific Xcode build settings and packaging nuances within CircleCI/Fastlane environments.PrimerHeadlessUniversalCheckout
not recognizing PrimerHeadlessNolPayManager
due to specific Xcode build settings and packaging nuances within CircleCI/Fastlane environments.v2.3.0
or greater of the Primer 3DS SDK
. See our docs for the full interoperability matrix.PrimerHeadlessUniversalCheckoutKlarnaManager
that provides access to the KlarnaComponent
.
Using the KlarnaComponent
you can seamlessly integrate Klarna, with a custom payment category selection UI.
Consult the guide to get a sense of how to seamlessly integrate Klarna.PrimerHeadlessUniversalCheckoutComponentWithRedirectManager
that provides access to BanksComponent
. Using the BanksComponent
you can easily:pod 'Primer3DS', '2.1.0'
)PrimerHeadlessNolPayManager
that provides following features:Primer3DS
in your integration, make sure to bump it to v.1.2.0PrimerHeadlessUniversalCheckout.VaultManager()
which returns an instance of PrimerHeadlessUniversalCheckout.VaultManager
. It provides the following features:
2.2.0
. It includes the following enhancements:
PrimerSettings
to false
when you are in DEBUG
mode, to disable the device check when testing on the simulator.PrimerPaymentMethodAsset
now exposes the payment method’s friendly name
decisionHandler
is not implementedPrimer3DS
in your integration, make sure to bump it to v.1.2.0PrimerHeadlessUniversalCheckout.VaultManager()
which returns an instance of PrimerHeadlessUniversalCheckout.VaultManager
. It provides the following features:Primer3DS
, make sure to install v.1.1.2 to avoid archiving issues with Xcode 14.3.1Primer3DS
, make sure to install v.1.1.2 to avoid archiving issues with Xcode 14.3.12.2.0
PrimerSettings
to false
when you are in DEBUG
mode, to disable the device check when testing on the simulator.userContact
optional2.17.0-rc.9
version.2.17.0-rc.9
version.2.17.0-rc.9
version.2.17.0-rc.9
version.PrimerPaymentMethodAsset
now exposes the payment method’s friendly namedecisionHandler
is not implementedGENERATE_INFOPLIST_FILE
as part of the xcconfig
of the PrimerSDK
podspec as it was causing an issue upon archiving the hosting appsCODE_SIGNING_ALLOWED => NO
to xcconfig
in podspec
to remove the Signing requirement introduced in Xcode 14+GENERATE_INFOPLIST_FILE
as part of the xcconfig
of the PrimerSDK
podspecsdkVersion
PrimerSettings.PrimerCardPaymentOptions
.Above flow is now obsoleted and 3DS will always follow workflows.2.7.0
to 2.13.0
. We recommend updating to this 2.13.1
version.ADYEN_BANCONTACT_CARD
flow failing on some scenarios.CardFormUIManager
, now accepting other Card inputs to perform payments.In order to do so, you can now initialize the CardFormUIManager
with **public** **init**(paymentMethodType: String)
as opposed to its classic initializer which has been utilizing the standard PAYMENT_CARD
payment method type.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.PrimerCheckoutQRCodeInfo
containing the data needed to build their awesome UI / UX on top.For PromptPay specifically, the object will be PromptPayCheckoutAdditionalInfo
`func primerHeadlessUniversalCheckoutDidReceiveAdditionalInfo(_ additionalInfo: PrimerCheckoutAdditionalInfo?)**PrimerKlarnaSDK
is now also supported on Swift Package Manager. No changes are required if you’re integrating the PrimerSDK
with the SPM, since it’s going to add the Klarna SDK by default.Also there’s a fix on the infinite loading with Xendit.Try it out and let us know what do you think 🙌!<2.4.0
) were represented by a enum PrimerPaymentMethodType
, hence accessible via: .paymentMethod
.In this version, we are no longer exposing the enum
, and return a plain String
instead.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.clientTokenCallback
, onTokenizeSuccess
and onResumeSuccess
delegate functions: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 💆For the nerds ❤️
Processor3DS
functionalitySINGLE_USE
tokenamount
, currency
, countryCode
, customerId
, customer
, billingAddress
& orderItems
from PrimerSettings
in favour of setting them in the client-session with POST /client-session
.PrimerTheme
and introduces PrimerThemeData
.UISceneDelegate
showCheckout(_ controller:, flow:)
in favour of:
showUniversalCheckout(on:)
showVaultManager(on:)
showPaymentMethod(:, withIntent:, on: UIViewController)
PrimerSettings.Customer
tokenDetails
on tokenizationclientTokenCallback
completion handler has been modified.tokenAddedToVault
, onTokenizeSuccess
, onCheckoutDismissed
, checkoutFailed
are now optional.authorizePayment
delegate function in favour of onTokenizeSuccess
.domain: "primer", code: 1500
)authorizePayment
in favor of onTokenizeSuccess
OrderItem
. Initializer throws errors if not initialzied correctly.countryCode
can be passed from the backend or, optionally, on the SDK. Backend countryCode
has higher priority.LocaleData
and let it be set on the PrimerSettings
object. If no LocaleData
is provided the SDK will default to the system’s Locale
.token
parameter on webview redirectscancel
state on webview redirectsviewWillDisappear
super()
callsisInitialLoadingHidden
param which hides the initial loading viewcheckoutFailed(with:)
delegate functionAdd new card
from the vault managerKlarna customer token
copy with user’s Klarna email5.3
Primer3DS
, make sure to install v.1.1.2 to avoid archiving issues with Xcode 14.3.1