Authorisations API

The Authorisations class provides methods for managing payment card authorisations, including creating, voiding, capturing funds, and retrieving authorisation details.

To initialize the Authorisations API, use the following:

from authorisations import Authorisations
from config import get_api_key

# Initialize the API with your API key and mode
authorisations_api = Authorisations(api_key=get_api_key(), mode='test')

Create Authorisation

Creates a new payment card authorisation.

Usage Example

response = authorisations_api.create_authorisation(
    email="customer@example.com",
    description="Test Authorisation",
    amount=1000,
    ip_address="127.0.0.1",
    card={
        'number': '4200000000000000',
        'expiry_month': '12',
        'expiry_year': '2025',
        'cvc': '123'
    },
    currency="AUD"
)
print(response)

Response Example

{
    "response": {
        "token": "auth_token_example",
        "amount": 1000,
        "currency": "AUD",
        "description": "Test Authorisation",
        "status": "authorised"
    },
    "status": 201
}

Void Authorisation

Voids a previously created authorisation.

Usage Example

response = authorisations_api.void_authorisation(auth_token="auth_token_example")
print(response)

Response Example

{
    "response": {
        "token": "auth_token_example",
        "status": "voided"
    },
    "status": 200
}

Capture Authorisation

Captures funds from an authorised payment card.

Usage Example

response = authorisations_api.capture_authorisation(auth_token="auth_token_example", amount=1000)
print(response)

Response Example

{
    "response": {
        "token": "auth_token_example",
        "status": "captured",
        "amount": 1000
    },
    "status": 200
}

List Authorisations

Retrieves a paginated list of all authorisations.

Usage Example

response = authorisations_api.list_authorisations()
print(response)

Response Example

{
    "response": [
        {
            "token": "auth_token_example_1",
            "amount": 1000,
            "status": "authorised"
        },
        {
            "token": "auth_token_example_2",
            "amount": 500,
            "status": "captured"
        }
    ],
    "status": 200
}

Get Authorisation Details

Retrieves the details of a specific authorisation.

Usage Example

response = authorisations_api.get_authorisation_details(auth_token="auth_token_example")
print(response)

Response Example

{
    "response": {
        "token": "auth_token_example",
        "amount": 1000,
        "currency": "AUD",
        "description": "Test Authorisation",
        "status": "authorised"
    },
    "status": 200
}

Tip

Learn More

To learn more about authorization functionality, refer to: pin_payments.authorisations