Skip to content

Releases: Worldline-Global-Collect/connect-sdk-python3

4.0.1

18 Apr 13:35
Compare
Choose a tag to compare
  • Fixed:
    • Only 409 responses with an error with code 1409 will now trigger an IdempotenceException, instead of all 409 responses.

4.0.0

19 Mar 09:00
Compare
Choose a tag to compare

This SDK is a rebranded and updated version of the SDK that was previously published under the Ingenico name. Next to renaming to Worldline, the SDK has been restructured to better support future improvements like multiple API versions and different authentication mechanisms. You can use the migration guide to upgrade from the previous version. Previous versions and release notes of this SDK can be found here.

The following is an overview of changes:

  • Added:
    • Added type hints to all methods and properties.
    • Added optional MetadataProvider, Connection, Authenticator and Marshaller parameters to methods create_communicator_from_configuration, create_communicator_from_file, create_client_from_configuration and create_client_from_file of class Factory.
    • Added an optional marshaller parameter to method create_helper of class V1WebhooksFactory (previously class Webhooks).
  • Changed:
    • Changed the minimum Python version from Python 3.5 to Python 3.7.
    • Renamed all packages, and moved classes between packages. Each API version now has its own package structure that contains all classes specific for that version, including classes like APIError, exceptions and webhooks classes.
    • Made the integrator required.
    • Moved method merchant from class Client to new class V1Client. Instances of this class are available through method v1 of class Client.
    • Moved method create_helper from class Webhooks to new class V1WebhooksFactory. Instances of this class are available through method v1 of class Webhooks.
    • Replaced properties api_key_id and secret_api_key of class CommunicatorConfiguration with more generic properties authorization_id and authorization_secret. The existing properties and constructor parameter names remain as aliases though.
    • Replaced parameters api_key_id and secret_api_key of methods of class Factory with more generic parameters authorization_id and authorization_secret.
    • Renamed class GlobalCollectException to PlatformException.
    • Renamed method create_simple_authentication_signature of class Authenticator to get_authorization.
    • Renamed class DefaultAuthenticator to V1HMACAuthenticator.
    • Renamed class MetaDataProvider and its meta_data_headers property to MetadataProvider and metadata_headers respectively.
    • Renamed method INSTANCE of classes DefaultMarshaller, SysOutCommunicatorLogger and InMemorySecretKeyStore to instance.
    • Class Connection now extends class ObfuscationCapable.
    • Integrated class Session into class Communicator.
    • Abstract classes and methods are now marked as such. It is an error to not implement abstract methods.
    • Made methods _get_header_date_string and _update_context of class Communicator static.
    • Made method to_canonicalize_header_value of class V1HMACAuthenticator static.
    • Made method empty_if_none of class LogMessage static.
    • Changed the arguments of the ApiResource, SecretKeyNotAvailableException and SignatureValidationException constructors to named arguments, to make it clear what each argument means. ApiResource's communicator/parent parameter, which was combined before, has also been split into separate parameters.
  • Removed:
    • Removed method API_VERSION of class Client.
    • Removed method _create_exception of class ApiResource in favor of separate create_exception functions per API version.
    • Removed class Session.
    • Removed methods create_session_from_configuration, create_session_from_file, create_communicator_from_session and create_client_from_session of class Factory.
    • Removed parameter authorization_type from the V1HMACAuthenticator constructor, as its value should always be v1HMAC.
    • Removed method _validate of class WebhooksHelper.
    • Removed class EndpointConfiguration. Its properties have been merged into its only sub class CommunicatorConfiguration.
    • Removed previously deprecated class LoggingUtil.
    • Removed previously deprecated method are_equal_signatures of class WebhooksHelper.
    • Removed class WebhooksHelperBuilder and method Webhooks.create_helper_builder.