Skip to content

Releases: datatrans/ios-sdk

2.2.0

31 Aug 13:21
Compare
Choose a tag to compare

🎉 Klarna is now supported by the SDK!

Klarna payments are now supported by the SDK. We implemented native flows for Klarna, so you don't have to deal with them.

Added

  • Klarna is now supported for payment flows
  • We added a customizable label for cards to show customers the label Credit or debit card, Credit card, or Debit card in our UI
  • We added the option to customize the payment method Boncard to render as Boncard, Gift card (a generic option), and Lunch-Check

Changed

  • Improved the BIN range filtering for credit and debit cards
  • The card logos now reflect all possible matches (e.g., co-branded card logos)
  • Renamed EasyPay to Swisscom Pay and updated the Swisscom Pay logo
  • Card logos are now neatly truncated when not all logos fit on the screen

Fixed

  • Minor bugs

2.1.0

27 Jul 13:02
Compare
Choose a tag to compare

🎉 Elo and Hipercard can now be tokenized via the SDK!

We just added support for Elo and Hipercard to our SDK. Merchants tokenizing Elo or Hipercard will now be able to dynamically display the logos for these card types.

Added

  • Added support for Elo and Hipercard in PCIP tokenization flows

Fixed

  • Minor bugs

2.0.2

12 Jul 14:03
Compare
Choose a tag to compare

Fixed

  • Fixed a crashing issue with Apple Pay

2.0.1

10 Jun 12:46
Compare
Choose a tag to compare

Fixed

  • Minor bugs

2.0.0

10 May 13:49
Compare
Choose a tag to compare

🎉 iOS SDK Now Offers Better Support for App Clips!

The iOS SDK has been optimized so that you can include only packages from our SDK which are required by your project. This allows you to have a reduced size of our SDK in your App Clips.

⚠️ Important Change When Upgrading to 2.0.0

If you are upgrading from an earlier version via Swift Package Manager, the card scanner feature will be missing from your app. To re-enable it, go to your target ➝ Build PhasesLink Binary With Libraries and add DTCardScanner.

When upgrading via CocoaPods, the DTCardScanner.xcframework is automatically added and the card scanner will remain enabled.

Changed

  • Reduced the size of the SDK.
  • The card scanner is now an optional component, contained in DTCardScanner.xcframework. This allows you to further reduce the size of the SDK when developing an App Clip.

Fixed

  • Rebuilding from Bitcode failed when the app did not include the optional PPRiskMagnes.xcframework.
  • The TransactionDelegate got notified before the SDK finished dismissing its view controller.
  • Other minor bugs

1.5.1

24 Feb 08:56
Compare
Choose a tag to compare

Added

  • TransactionError has now public constants for possible error codes

Fixed

  • In some cases TransactionError.transactionId was returned empty
  • Other minor bugs

1.5.0

23 Dec 17:00
Compare
Choose a tag to compare

🎉 Out of Beta Release!

We are proud to announce that after months of enhancing our SDK we have now released our first out-of-beta version of the SDK.

⚠️ Important Changes Starting 1.5.0 (API Renaming)

  • PaymentMethodToken and all its subclasses have been renamed to avoid confusion (PaymentMethodToken to SavedPaymentMethod, CardToken to SavedCard, etc.)
  • In PaymentMethodToken (now SavedPaymentMethod) and all its subclasses, references to the token property and constructors
    have been renamed to alias to be consistent with other Datatrans APIs
  • TransactionSuccess.paymentMethodToken has been renamed to TransactionSuccess.savedPaymentMethod
  • All TokenizationRequest* classes, have been renamed to PCIPTokenizationRequest* to emphasize that these are to be used with PCI Proxy only.
  • ApplePayConfig.showApplePayAsToken has been renamed to showApplePayAsSavedPaymentMethod
  • In PaymentMethodToken (now SavedPaymentMethod), the method create(data:decoder:) has been removed. Use create(jsonString:) instead on all versions of iOS.

Added

  • Compatibility with apps built with Xcode 13.
  • Added init(mobileToken:savedPaymentMethod:) to Transaction. This allows you to hand a single saved payment method directly to the mobile SDK. The payment will then be started with this saved payment method.

Changed

  • API renaming to be more consistent with other Datatrans APIs.
  • PPRiskMagnes.xcframework is now optional and only has to be included when using PayPal.
  • The SDK no longer overwrites the app callback scheme with information from the backend. Please make sure that you set the app callback scheme in payment options.
  • Support for myOne has been removed.

Fixed

  • When there is a recoverable error and no library UI for the user to continue from, the library now offers the user to retry the request or cancel the transaction.
  • Other minor bugs.

1.4.1

03 Aug 20:08
Compare
Choose a tag to compare

Added

  • We now support Byjuno tokens via the SDK.

Fixed

  • The bottom sheet is now released once the transaction is done.
  • The selected language can now be reset back to the default language.
  • Some payment methods were using the app language instead of the language from the init request to Datatrans.
  • Other minor bugs.

1.4.0

21 Jun 13:05
Compare
Choose a tag to compare

Added

  • Runs in Simulator on Apple Silicon Macs
  • Installation via CocoaPods pod 'Datatrans'

Changed

  • ⚠️ Uses PPRiskMagnes.xcframework instead of including it as a static library. After upgrading from a previous release via SPM, you have to add PPRiskMagnes to your "Link Binary With Libraries" build phase. Otherwise your app will fail to launch with "dyld: Library not loaded: @rpath/PPRiskMagnes.framework/PPRiskMagnes". Another option to bypass the error is to delete and re-add the package to your project.
  • It is no longer necessary for your app to keep a reference to the running Transaction/TokenizationRequest

Fixed

  • Dismissing PayPal sometimes also dismisses the bottom sheet on slower devices

1.3.1

14 Jun 19:48
Compare
Choose a tag to compare

Fixed

  • Fix card flow when using authenticationOnly=true in server-to-server init call
  • Retain cycle in bottom sheet
  • No longer ignore paysafecardMerchantClientId and make it optional