Coder Social home page Coder Social logo

ingenico-epayments / connect-sdk-python3 Goto Github PK

View Code? Open in Web Editor NEW
6.0 10.0 5.0 85.83 MB

Ingenico Connect Python 3.x Server SDK

Home Page: https://docs.connect.worldline-solutions.com/documentation/sdk/server/python/

License: MIT License

Python 100.00% HTML 0.01%
python-sdk ingenico globalcollect ingenico-connect

connect-sdk-python3's Introduction

Ingenico Connect Python SDK

This SDK has been rebranded to Worldline. As part of the rebranding the SDK has moved to https://github.com/Worldline-Global-Collect/connect-sdk-python3.

Introduction

The Python SDK helps you to communicate with the Ingenico Connect Server API. Its primary features are:

  • convenient Python library for the API calls and responses
    • marshalls Python request objects to HTTP requests
    • unmarshalls HTTP responses to Python response objects or Python exceptions
  • handling of all the details concerning authentication
  • handling of required meta data

Its use is demonstrated by an example for each possible call. The examples execute a call using the provided API keys.

See the Ingenico Connect Developer Hub for more information on how to use the SDK.

Structure of this repository

This repository consists out of four main components:

  1. The source code of the SDK itself: /ingenico/connect/sdk/
  2. The source code of the SDK unit tests: /tests/unit/
  3. The source code of the SDK integration tests: /tests/integration/
  4. Usage examples: /examples/

Note that the source code of the unit tests and integration tests and the examples can only be found on GitHub.

Requirements

Python 3.5 or higher is required. In addition, the following packages are required:

These packages will be installed automatically if the SDK is installed manually or using pip following the below instructions.

Installation

To install the SDK using pip, execute the following command:

pip install connect-sdk-python3

Alternatively, you can install the SDK from a source distribution file:

  1. Download the latest version of the Python SDK from GitHub. Choose the connect-sdk-python3-x.y.z.zip file from the releases page, where x.y.z is the version number.

  2. Execute the following command in the folder where the SDK was downloaded to:

    pip install connect-sdk-python3-x.y.z.zip

Uninstalling

After the Python SDK has been installed, it can be uninstalled using the following command:

pip uninstall connect-sdk-python3

The required packages can be uninstalled in the same way.

Running tests

There are two types of tests: unit tests and integration tests. The unit tests will work out-of-the-box; for the integration tests some configuration is required. First, some environment variables need to be set:

  • connect.api.apiKeyId for the API key id to use. This can be retrieved from the Configuration Center.
  • connect.api.secretApiKey for the secret API key to use. This can be retrieved from the Configuration Center.
  • connect.api.merchantId for your merchant ID.

In addition, to run the proxy integration tests, the proxy URI, username and password should be set in the tests/resources/configuration.proxy.ini file.

In order to run the unit and integration tests, the mock backport and mockito are required. These can be installed using the following command:

pip install mock mockito

The following commands can now be executed from the tests directory to execute the tests:

  • Unit tests:

    python run_unit_tests.py
  • Integration tests:

    python run_integration_tests.py
  • Both unit and integration tests:

    python run_all_tests.py

connect-sdk-python3's People

Contributors

ingenicoepayments avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

connect-sdk-python3's Issues

Questions about Sandbox

I've been experimenting with the sandbox and have two questions:

  • After approving a payment, its status remains on "CAPTURE_REQUESTED". Shouldn't the sandbox set this to "PAID" to simulate payments, as described here? This doesn't happen for me.
  • I've tried creating a payout, thinking I might not need "paid" payments to test this. When I try to do this, I get an error that my merchant ID is not authorized for payouts. Am I right in thinking that this isn't possible in the sandbox?

Any description of the capabilities and limits of the sandbox would be greatly appreciated. (An explanation of my mistake however, would be as well.)

In case somebody wants to dive into this, you can find my code here.

Webhooks not delivered in the Sandbox

I have setup webhooks in de sandbox environment. The webhook is active and the 'test webhook' function works fine but there doesn't seem to be any webhooks actually delivered for any action in the sandbox environment.

Are webhooks actually delivered for actions inside the sandbox environment?

Sandbox GlobalCollectException

None of the provided examples seem to work. All create payments methods result in a server error on the Ingenico side of things. My code has worked previously so it looks like this isn't a fault on our side of things.

Is the error below a familiar error?

ingenico.connect.sdk.global_collect_exception.GlobalCollectException: the Ingenico ePayments platform returned an error response; status_code=500; response_body='{
   "errorId" : "5ed0e233608a785f2b40efa5ac1d4a43",
   "errors" : [ {
      "code" : "11000400",
      "requestId" : "1034",
      "message" : "Server time-out",
      "httpStatusCode" : 500
   } ]
}'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.