Skip to main content

Build Status

WhiteLabelName Python SDK

Python SDK to access WhiteLabelName web services API.

Library facilitates your interaction with various services such as transactions, accounts, and subscriptions.

API documentation

WhiteLabelName Web Service API

Requirements

  • Python 3.7+

Installation

pip3 install --upgrade whitelabelmachinename

pip3 install from source via github

pip3 install git+http://github.com/WhiteLabelGithubOwnerName/python-sdk.git

(you may need to run pip3 with root permission: sudo pip3 install git+http://github.com/WhiteLabelGithubOwnerName/python-sdk.git )

install from source via Setuptools

Install via Setuptools.

pip3 install setuptools

python setup.py install

(or sudo python setup.py install to install the package for all users)

Usage

The library needs to be configured with your account's space id, user id, and secret key which are available in your WhiteLabelName account dashboard. Set space_id, user_id, and api_secret to their values. You can also optionally set default_headers to set some headers that will be sent to all requests

Configuring a Service

from whitelabelmachinename import Configuration
from whitelabelmachinename.api import TransactionServiceApi, TransactionPaymentPageServiceApi
from whitelabelmachinename.models import LineItem, LineItemType, TransactionCreate

space_id = 405

# default_headers is an optional param, that represents headers sent to all requests
config = Configuration(
    user_id=512,
    api_secret='FKrO76r5VwJtBrqZawBspljbBNOxp5veKQQkOnZxucQ=',
    default_headers={'x-meta-custom-header': 'value-1', 'x-meta-custom-header-2': 'value-2'},
    # set a custom request timeout if needed. (If not set, then the default value is: 25 seconds)
    request_timeout = 30
)

transaction_service = TransactionServiceApi(configuration=config)
transaction_payment_page_service = TransactionPaymentPageServiceApi(configuration=config)

To get started with sending transactions, please review the example below:

from whitelabelmachinename import Configuration
from whitelabelmachinename.api import TransactionServiceApi, TransactionPaymentPageServiceApi
from whitelabelmachinename.models import LineItem, LineItemType, TransactionCreate

space_id = 405

config = Configuration(
    user_id=512,
    api_secret='FKrO76r5VwJtBrqZawBspljbBNOxp5veKQQkOnZxucQ=',
    # set a custom request timeout if needed. (If not set, then the default value is: 25 seconds)
    request_timeout = 30
)

transaction_service = TransactionServiceApi(configuration=config)
transaction_payment_page_service = TransactionPaymentPageServiceApi(configuration=config)

# create line item
line_item = LineItem(
    name='Red T-Shirt',
    unique_id='5412',
    sku='red-t-shirt-123',
    quantity=1,
    amount_including_tax=29.95,
    type=LineItemType.PRODUCT
)

# create transaction model
transaction = TransactionCreate(
    line_items=[line_item],
    auto_confirmation_enabled=True,
    currency='EUR',
)

transaction_create = transaction_service.create(space_id=space_id, transaction=transaction)
payment_page_url = transaction_payment_page_service.payment_page_url(space_id=space_id, id=transaction_create.id)
# redirect your customer to this payment_page_url

Integrating Webhook Payload Signing Mechanism into webhook callback handler

The HTTP request which is sent for a state change of an entity now includes an additional field state, which provides information about the update of the monitored entity's state. This enhancement is a result of the implementation of our webhook encryption mechanism.

Payload field state provides direct information about the state update of the entity, making additional API calls to retrieve the entity state redundant.

⚠️ Warning: Generic Pseudocode

The provided pseudocode is intentionally generic and serves to illustrate the process of enhancing your API to leverage webhook payload signing. It is not a complete implementation.

Please ensure that you adapt and extend this code to meet the specific needs of your application, including appropriate security measures and error handling. For a detailed webhook payload signing mechanism understanding we highly recommend referring to our comprehensive Webhook Payload Signing Documentation.

@app.route('/webhook/callback', methods=['POST'])
def handle_webhook():
    request_payload = request.data.decode('utf-8')
    signature = request.headers.get('x-signature')

    if not signature:
        # Make additional API call to retrieve the entity state
        # ...
    else:
        if webhook_encryption_service().is_content_valid(signature_header=signature, content_to_verify=request_payload):
            # Parse request_payload to extract 'state' value
            # Process entity's state change
            # ...

    # Process the received webhook data
    # ...

License

Please see the license file for more information.

Release files for whitelabelmachinename 4.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for whitelabelmachinename 4.2.0
File Size Uploaded
whitelabelmachinename-4.2.0.tar.gz 342.9 kB Details

Release files / whitelabelmachinename-4.2.0.tar.gz

Download URL whitelabelmachinename-4.2.0.tar.gz
Size 342.9 kB
Tags Source
SHA-256 checksum
How to use checksums
0377ccc7ff238fc7f80d31c110a8c0247ed8e0ecc92baca64c30be508c2a5c58
BLAKE2b-256 checksum
How to use checksums
67803973cc3859a598b9033ac09d54e9412331ea514fa492d5dab371919e559a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release history Release notifications | RSS feed

This release

4.2.0 This release

1 release file

4.1.0

1 release file

4.0.1

1 release file

4.0.0

1 release file

3.4.0

1 release file

3.3.0

1 release file

3.2.3

1 release file

3.2.2

1 release file

3.2.0

1 release file

3.1.2

1 release file

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