Skip to main content

Inttegro Python SDK

OpenSSF Scorecard

The official Python client for building server-side Inttegro integrations.

Fastest, most modern path: connect an agent to Inttegro MCP at https://mcp.inttegro.com, then ask it to run design_integration. It will produce an implementation and test plan for your application. Use this SDK when you are ready to connect that plan to your Python service.

All official Inttegro SDKs expose the same API capabilities. This package adds Python-specific data access, transports, and test seams.

Install

Requires Python 3.10 or newer.

pip install inttegro

Store your secret key in the server environment:

export INTTEGRO_API_KEY="your_secret_key"

Never put the key in browser code, a mobile app, or source control. The client uses https://api.inttegro.com by default.

Create a hosted checkout

Create and finalize an order, then send the customer to its hosted invoice URL:

import os

import inttegro
from inttegro import APIError, LineItemType, ProductType

client = inttegro.InttegroClient(api_key=os.environ["INTTEGRO_API_KEY"])

try:
    request = inttegro.orders.CreateRequest(
        request_meta=inttegro.orders.RequestMeta(
            idempotency_key="checkout-cart-123",
        ),
        customer_data=inttegro.orders.Customer(
            name="Akua Mensah",
            email_address="akua@example.com",
            phone_number="+233544998605",
        ),
        finalize=True,
        checkout_settings=inttegro.orders.CheckoutSettings(
            redirect_url="https://example.com/orders/complete",
            cancel_url="https://example.com/cart",
        ),
        line_items=[
            inttegro.orders.ProductLineItem(
                type=LineItemType.PRODUCT,
                product=inttegro.orders.Product(
                    type=ProductType.DIGITAL,
                    name="Monthly subscription",
                    quantity=1,
                    price=inttegro.PriceParams(currency=inttegro.Currency.GHS, value=5000),
                ),
            ),
        ],
    )
    order = client.orders.create(request)

    checkout_url = order.invoice.format.web.url
    print(order.id, checkout_url)
except APIError as error:
    print(error.code, error.detail or str(error))
    raise

Amounts use integer minor units: 5000 GHS is GHS 50.00. Reuse the same idempotency key when retrying the same logical write. If you omit one, the SDK generates a UUIDv7 key for mutating calls.

Work with the API

The SDK covers orders and checkout, customers, products and prices, purchase intents, payment methods, balances, payouts and refunds, notifications, files, application settings, keys, and country specifications. Resources use snake-case attributes such as purchase_intents and payment_methods.

Python-specific features:

  • Standard-library-only runtime with no third-party dependencies.
  • OpenAPI-generated, immutable request and domain dataclasses with fully typed nested fields.
  • Resource namespaces such as inttegro.orders.CreateRequest keep related request objects together.
  • Backwards-compatible mapping access and to_dict() conversion on every domain object.
  • Backwards-compatible dictionary request payloads for integrations migrating to typed objects.
  • JSON-compatible string enums for public API values.
  • Configurable timeout, base URL, and injectable transport for tests or custom networking.
  • Structured authentication, rate-limit, network, timeout, and API exceptions.

Request and returned domain fields are available to editors, Pyright, and mypy without plugins:

import os

import inttegro

client = inttegro.InttegroClient(api_key=os.environ["INTTEGRO_API_KEY"])

request = inttegro.refunds.CreateRequest(
    order_id="or_0123456789abcdefghijklmnopqrstuvwxyzABCD",
    reason=inttegro.RefundReason.REQUESTED_BY_CUSTOMER,
    line_items=[
        inttegro.refunds.LineItem(
            order_line_item_id="oli_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN",
            refund_amount=inttegro.AmountParams(currency=inttegro.Currency.GHS, value=2500),
        ),
    ],
)

refund: inttegro.Refund = client.refunds.create(request)
print(refund.id, refund.total.value)

See the API reference for request fields and lifecycle rules, errors for recovery guidance, and idempotency for safe retries.

Verify a release

The GitHub release for each version is the canonical record. It contains the exact wheel and source distribution uploaded to PyPI, SHA-256 checksums, and a Sigstore attestation tied to the source commit and release workflow.

sha256sum --check SHA256SUMS
gh attestation verify inttegro-6.0.0-py3-none-any.whl \
  --repo zebodotdev/inttegro-sdk-python

Develop

poetry install
poetry run python -m unittest discover -s tests -p "test_*.py"

Download files

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

Source Distribution

inttegro-6.0.0.tar.gz (66.9 kB view details)

Uploaded Source

Built Distribution

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

inttegro-6.0.0-py3-none-any.whl (94.5 kB view details)

Uploaded Python 3

File details

Details for the file inttegro-6.0.0.tar.gz.

File metadata

  • Download URL: inttegro-6.0.0.tar.gz
  • Upload date:
  • Size: 66.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for inttegro-6.0.0.tar.gz
Algorithm Hash digest
SHA256 0a0438872931128e6ac357db112db008039c34a9128e4642723320d5ee551866
MD5 fbe2e1bb2e96120eee37b736d45c78f8
BLAKE2b-256 d51b0bea1113389f16901d2791686a87c4eba2c902b2dc46ed4ddb5d24e75d45

See more details on using hashes here.

Provenance

The following attestation bundles were made for inttegro-6.0.0.tar.gz:

Publisher: release.yml on zebodotdev/inttegro-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file inttegro-6.0.0-py3-none-any.whl.

File metadata

  • Download URL: inttegro-6.0.0-py3-none-any.whl
  • Upload date:
  • Size: 94.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for inttegro-6.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ae54c3cbc134c65b6a73a0389739fc669af8f140e70399da6aa9cf544408b96c
MD5 26a564dcc7cc58a677d568b419b41ee1
BLAKE2b-256 40ee3886c863e3dcf365de45f16cb6f3eb22208eafb24885284eb94043096271

See more details on using hashes here.

Provenance

The following attestation bundles were made for inttegro-6.0.0-py3-none-any.whl:

Publisher: release.yml on zebodotdev/inttegro-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

6.2.0

2 files

6.1.2

2 files

6.1.1

2 files

This release

6.0.0 This release

2 files

5.0.0

2 files

4.0.0

2 files

3.0.1

2 files

3.0.0

2 files

2.1.0

2 files

2.0.0

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page