Skip to content
This repository has been archived by the owner on Mar 19, 2024. It is now read-only.

Releases: Ingenico-ePayments/connect-sdk-client-swift

5.13.0

15 Feb 15:40
Compare
Choose a tag to compare

The SDK has received major improvements to its architecture, and the error handling around network requests. As a result, most of the classes and functionality of the old architecture have been deprecated and will be removed in a future breaking release.

Please see the migration guide in the documentation folder to find more information about the new architecture.

Please note that additional classes, functions and properties have been deprecated which are not related to the architecture change.

Added:

  • A new entry point for the SDK: ConnectSDK. It should be initialized by calling initialize. After that, an instance of ClientApi can be obtained to make requests to the Connect API. Calling any other function on ConnectSDK before initialization was called will result in a ConnectSDKError.connectSDKNotInitialized error. The prepare function that used to be called via Session, has been made available through ConnectSDK.encryptPaymentRequest.
  • Along with the new entry points, the following configuration classes were added: ConnectSDKConfiguration, PaymentConfiguration and SessionConfiguration
  • A new class that performs network requests with improved error handling is introduced: ClientApi. This class replaces most of the functionality of the Session class.
  • ConnectSDKError has been added, a type of this error will be thrown in case an error occurs in the SDK.
  • A migration guide that explains how to work with the new architecture.
  • ApiErrorResponse and ApiErrorItem classes have been added. These classes contain information about the error in the apiFailure callback.
  • ConvertedAmountResponse class has been added. This class contains the converted amount of a successful convert amount API call.
  • Raw String values were added to AccountOnFileAttributeStatus, FieldType, FormElementType and PreferredInputType. These raw values are the values returned from the API and help determine which enum case should be set in its object.
  • errorMessageIds property to PaymentRequest.
  • errorMessageIds property to PaymentProductField.
  • validateValue(PaymentRequest) and validateValue(String) functions to PaymentProductField.
  • applyMask(value) function on PaymentProductField.
  • removeMask(value) function on PaymentProductField.
  • maskedFieldValues property on PaymentRequest.
  • ValidationErrorInvalidPaymentProduct has been added. This object will be added to the errorMessageIds in PaymentRequest when the request’s payment product is invalid.
  • errorMessage, paymentProductFieldId and rule properties to the ValidationError class and all its sub-classes.
  • ValidationRule protocol that contains validate functions.
  • ValidationType enum that contains all different validation types.
  • validationType and messageId properties to the Validator class and all its sub-classes.
  • deviceFingerprintEnabled and allowsInstallments properties to BasicPaymentProductGroup.

Fixed:

  • Fixed an issue with assigning the status of the IINDetailsResponse where existingButNotAllowed status was set incorrectly.

Removed:

  • The classes CustomerDetails and CustomerDetailsError have been removed, as well as the customerDetails method in C2SCommunicator, and Session. This functionality was not used by any payment products.

Changed:

  • All domain model objects now implement the (de)codable protocol. 
  • The GooglePay product is no longer excluded when retrieving payment products.
  • PaymentProductGroup now inherits from BasicPaymentProductGroup. You can still use all properties from PaymentProductGroup since these were already defined in BasicPaymentProductGroup as well. 
  • The GooglePay product is no longer excluded when retrieving payment products.

Deprecated:

  • Session, C2SCommunicator, C2SCommunicatorConfiguration and AlamofireWrapper have been deprecated in favour of the new SDK entry point ConnectSDK and networking with improved error handling via ClientApi.
  • AssetManager and FileManager have been deprecated. Images will be loaded directly from their URL instead.
  • Util has been deprecated.
  • Encryptor and JOSEEncryptor have been deprecated since they will be made internal to the SDK in a future release.
  • SessionError has been deprecated, a ConnectSDKError will be thrown instead.
  • ResponseObjectSerializable protocol has been deprecated since it is no longer needed with the new Codable structure. All the classes conforming to this protocol have its init(json) initialisers deprecated too.
  • Empty initialiser init() has been deprecated for the following classes: AccountOnFileDisplayHints, BasicPaymentProductsGroups, BasicPaymentProducts, DataRestrictions, DirectoryEntries, Validator, ValidatorEmailAddress, ValidatorExpirationDate, ValidatorIBAN, ValidatorLength, ValidatorLuhn, ValidatorResidentIdNumber and ValidatorTermsAndConditions.
  • The following initialisers have also been deprecated: IINDetail.init(String, Bool), IINDetailsResponse.init(IINStatus), IINDetailsResponse.init(String, IINStatus, [IINDetail], String, Bool), DisplayElement.init(String, DisplayElementType, String), PaymentItems.init(BasicPaymentProducts, BasicPaymentProductGroups?), ValidatorFixedList.init([String]), ValidatorLength.init(Int?, Int?), ValidatorRange.init(Int?, Int?) and ValidatorRegularExpression.init(NSRegularExpression).
  • CustomerDetailsError class has been deprecated. Errors returned from the API for the Customer Details call - and all other calls - will be stored in an ApiErrorResponse object instead.
  • numberFormatter and numericStringCheck properties in PaymentProductField have been deprecated.
  • errors in PaymentRequest has been deprecated, use errorMessageIds instead.
  • errors in PaymentProductField has been deprecated, use errorMessageIds instead.
  • validateValue(value, for) has been deprecated for Validator and all its sub-classes. Use validateValue(for) or validateValue(value) instead.
  • validate(value, for) has been deprecated for Validator and all its sub-classes. Use validate(field, in) instead.
  • The ValidationErrorInteger and ValidationErrorNumericString classes have been deprecated.
  • ‘acquirerCountryonBasicPaymentProductGroup` has been deprecated, since it is not returned from the API.
  • allowsTokenization, allowsRecurring and autoTokenized on PaymentProductGroup have been deprecated, since these are not returned from the API.

5.12.0

07 Nov 14:28
Compare
Choose a tag to compare

Added:

  • Enabling / disabling of logging in the SDK. Use the property loggingEnabled in Session to enable or disable request and response logging. It can also be provided when initializing a Session or when initialising C2SCommunicatorConfiguration. By default logging is disabled.

Removed:

  • Removed unused code.

5.11.1

16 Oct 14:44
Compare
Choose a tag to compare

Added:

  • Property supportsMandates to class BasicPaymentProduct.
  • Property authenticationIndicator to class BasicPaymentProduct.
  • Property deviceFingerprintEnabled to class BasicPaymentProduct.
  • Property maxAmount to class BasicPaymentProduct.
  • Property minAmount to class BasicPaymentProduct.
  • Property mobileIntegrationLevel to class BasicPaymentProduct.
  • Property supportsMandates to class BasicPaymentProduct.
  • Property usesRedirectionTo3rdParty to class BasicPaymentProduct.
  • Property fieldsWarning to class PaymentProduct.
  • Function publicKey was added to Session. It can be used to obtain the public key for encryption, should you wish to use your own algorithm.
    Note that it is advised to use ConnectSDK.encryptPaymentRequest to have the SDK handle encryption for you.

Changed:

  • Updated Google Pay logo.

5.11.0

03 May 12:29
Compare
Choose a tag to compare
  • Added:
    • Added logo and translations for Troy Card (188).
    • Added logo and translations for Troy Debit Card (189).

5.10.0

09 Mar 08:16
Compare
Choose a tag to compare
  • Added:
    • Added logos and translations for BC Card (8590), Hana Card (8591), Hyundai Card (8592), KB Card (8593), Lotte Card (8594), NH Card (8595), Samsung Card (8596), Shinhan Card (8597) and Caixa (6117).
  • Changed:
    • Added a new logo for giropay (816).
  • Removed:
    • Removed unused code.

5.9.0

16 Dec 09:26
Compare
Choose a tag to compare
  • Added:
    • Added logos and translations for Banco Popular (6208).
    • Added translations for locales fr-GF, fr-GP and fr-MQ.

5.8.0

02 Dec 13:18
Compare
Choose a tag to compare
  • Added:
    • Added logos and translations for Atome (8015).
  • Fixed:
    • RuPay Credit (4001) and RuPay Debit (4002) are now correctly named as such.
    • Renamed string name gc.general.paymentProducts.4101.qrCodeLabelNoButton to gc.general.paymentProducts.4101.qrCodeLabel.noButton.

5.7.0

05 Aug 08:26
Compare
Choose a tag to compare

Added logos and translations for eNACH (4102) and eMandate (4103).

5.6.0

06 Jun 22:26
Compare
Choose a tag to compare
  • Added:
    • Added property label to API model object PaymentItemDisplayHints.
    • Added property placeholderLabel to API model object PaymentProductFieldDisplayHints.
    • Added property label to API model object ToolTip.
    • Added logos and translations for Presto (6008), CMR Falabella (6009), Mach (6010), Cencosud (6011), Cordobesa (6012), Cordial (6013), Carnet (6014), Cartao MercadoLivre (6015), Banco de Occidente (6112), BCP (6113), BBVA (6114), ScotiaBank (6115), Santander (6116), Santander Cash (6206), Interbank (6207), Sezzle (8004), Clearpay (8013) and Afterpay (8014).
    • Added some Pix (6105) specific translations.
    • Added translations for the partialPin tooltip text.
  • Changed:
    • Updated the name translations for Bank Islam Online (887), AmBank (889), Krungsri Bank (896), Dragonpay Banking (897), Razer Cash (1522), Dragonpay Cash (1524) and Razer Cash @ 7-Eleven (1526)
    • Updated the logos for Maybank2u (885), CIMB Clicks (886), Hong Leong Connect (890), Affin Bank (892), Bangkok Bank (893), Krung Thai Bank (894), Krungsri Bank (896), Dragonpay Banking (897), Razer Cash (1522), Dragonpay Cash (1524), Razer Cash @ 7-Eleven (1526), RuPay credit (4001), RuPay debit (4002) and UPI (4101)
  • Fixed:
    • Fixed an issue in the AssetManager that could cause app crashes.

5.5.0

25 Apr 17:49
Compare
Choose a tag to compare
  • Added:
    • Added logos and translations for Lider (6003), Creditel (6004), OCA (6005), Prex (6006), Midinero (6007), Nequi (6110), PSE (6111), Baloto (6202), Efecty (6203), SafetyPay Cash (6204) and PagoEfectivo (6205).