Skip to main content

Omise Python client

Project description

Omise Python Library

Build Status Python Versions PyPi Version

Please raise an issue or contact support@pn.ooo if you have a question regarding this library and the functionality it provides.

Security Warning

Please do NOT use Omise Python library versions less than 0.9.0, as they are outdated and have security vulnerabilities.

Installation

To use Omise Python library in your application, install it using pip:

pip install omise

Or easy_install in case your system does not have pip installed:

easy_install omise

The Omise Python library officially supports the following Python versions:

  • Python 2.7
  • Python 3.7
  • Python 3.8
  • Python 3.9
  • Python 3.10
  • Python 3.11

Versions not listed here may work but they are not automatically tested.

Usage

Please refer to examples in our API documentation. For basic usage, you can use the package in your application by importing omise and setting the secret key:

import omise
omise.api_secret = 'skey_test_4xsjvwfnvb2g0l81sjz'

After the secret key is set, you can use all APIs that use secret key authentication.

To create a new card charge, use Omise.js to create a new token and run the following:

token_id = "tokn_test_no1t4tnemucod0e51mo" # see https://www.omise.co/tokens-api#create
charge = omise.Charge.create(
    amount=100000,
    currency="THB",
    card=token_id,
    return_uri="https://www.omise.co/example_return_uri",
)
# <Charge id='chrg_test_5ktrim62oiosnrc1r41' at 0x105d6bf28>
charge.status
# 'successful'

To create a new customer without any cards associated to the customer, run the following:

customer = omise.Customer.create(
   description='John Doe',
   email='john.doe@example.com'
)
# <Customer id='cust_test_4xtrb759599jsxlhkrb' at 0x7ffab7136910>

Then to retrieve, update, and destroy that customer, run the following:

customer = omise.Customer.retrieve('cust_test_4xtrb759599jsxlhkrb')
customer.description = 'John W. Doe'
customer.update()
# <Customer id='cust_test_4xtrb759599jsxlhkrb' at 0x7ffab7136910>
customer.destroy()
customer.destroyed
# True

In case of error (such as authentication failure, invalid card and others as listed in errors section in the documentation), the error of a subclass omise.errors.BaseError will be raised. Your application code should handle these errors appropriately.

API version

To enforce the API version that the application must use, set api_version. The version specified by this setting will override the version setting in your account. This is useful if you have multiple environments with different API versions (e.g. development on the latest but production on the older version).

import omise
omise.api_version = '2019-05-29'

It is highly recommended to set this version to the current version that you are using.

Contributing

The Omise Python library uses tox and Docker for testing. All changes must be tested against all supported Python versions. You can run tests using the following instructions:

  1. Install Docker
  2. Run docker run -it -v $(pwd):/app --rm $(docker build -q .)

This command builds a Docker image using the Dockerfile, mounts the current directory to the container's /app directory, and runs the default entrypoint for the image: /app/run-tox.sh.

After you've made your changes and run the tests, please open a Pull Request.

License

See LICENSE.txt

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

omise-0.15.1.tar.gz (37.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

omise-0.15.1-py3-none-any.whl (50.9 kB view details)

Uploaded Python 3

File details

Details for the file omise-0.15.1.tar.gz.

File metadata

  • Download URL: omise-0.15.1.tar.gz
  • Upload date:
  • Size: 37.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.24

File hashes

Hashes for omise-0.15.1.tar.gz
Algorithm Hash digest
SHA256 1498ac58f8c0399a6470ad6ea0bdf2c1cfc610246068693ab8e77ddc3c410f38
MD5 78317f85f989f642dc75f7733a1b9d93
BLAKE2b-256 69e60d6233a842ffe23ebc690aa6aca79d9a4ca62edce7ba1afa992801cec887

See more details on using hashes here.

File details

Details for the file omise-0.15.1-py3-none-any.whl.

File metadata

  • Download URL: omise-0.15.1-py3-none-any.whl
  • Upload date:
  • Size: 50.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.24

File hashes

Hashes for omise-0.15.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6d80852043ec600ad1eb3891cab040a16e965c4ea9a3a561d7a8460207fe8810
MD5 33f1f5ee7a1ad3a9a2826d2713fbe389
BLAKE2b-256 f86cbcc6ff3153289b78edc7e11e897b30b3b6ca623be9ef3eeeab3857bd1436

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page