Skip to content

Reference

shared.services.payment_providers.adyen.adyen_webhooks

AdyenWebhooks

Decorator for incoming Adyen webhooks

You can use this decorator on your routes to ensure that the request is coming from Adyen and is valid. For example:

@app.route("/my_adyen_webhook", methods=["POST"])
@AdyenWebhooks.webhook_handler()
def adyen_webhook_controller():
    ...

If your controller doesn't return a response, the default response "HTTP 200 [accepted]" will be sent as explained in the Adyen documentation: https://docs.adyen.com/marketplaces-and-platforms/webhooks/?tab=codeBlockhmac_validator_EsD5G_py_2&programming_language=py#accept-webhooks ⧉

See also: - https://docs.adyen.com/marketplaces-and-platforms/webhooks/ ⧉ - https://docs.adyen.com/api-explorer/transfer-webhooks/latest/overview ⧉

Tags

is_authentication_valid staticmethod

is_authentication_valid(username, password)

Validate request Basic Authentication

See https://docs.adyen.com/marketplaces-and-platforms/webhooks/?tab=codeBlockhmac_validator_EsD5G_py_2#configure-customer-area ⧉

Source code in shared/services/payment_providers/adyen/adyen_webhooks.py
@staticmethod
def is_authentication_valid(username: str, password: str) -> bool:
    """
    Validate request Basic Authentication

    See https://docs.adyen.com/marketplaces-and-platforms/webhooks/?tab=codeBlockhmac_validator_EsD5G_py_2#configure-customer-area
    """
    expected_authorization = (
        "Basic " + base64.b64encode(f"{username}:{password}".encode()).decode()
    )
    return request.headers.get("Authorization") == expected_authorization

is_from_authorized_location staticmethod

is_from_authorized_location(config_key)

Check if the request is from an authorized location (defaults to true if no config is found)

Note: We might not be able to do IP filtering, see https://docs.adyen.com/marketplaces-and-platforms/webhooks/#add-to-allowlist ⧉

Source code in shared/services/payment_providers/adyen/adyen_webhooks.py
@staticmethod
def is_from_authorized_location(config_key: str) -> bool:
    """
    Check if the request is from an authorized location (defaults to true if no config is found)

    Note: We might not be able to do IP filtering, see https://docs.adyen.com/marketplaces-and-platforms/webhooks/#add-to-allowlist
    """
    ips = current_config.get(config_key)
    return is_from_authorized_location(ips) if ips else True

is_signature_valid staticmethod

is_signature_valid(hmac_key_hex)

Validate request HMAC signature

See https://docs.adyen.com/marketplaces-and-platforms/webhooks/?tab=codeBlockhmac_validator_EsD5G_py_2#validate-hmac ⧉

Source code in shared/services/payment_providers/adyen/adyen_webhooks.py
@staticmethod
def is_signature_valid(hmac_key_hex: str) -> bool:
    """
    Validate request HMAC signature

    See https://docs.adyen.com/marketplaces-and-platforms/webhooks/?tab=codeBlockhmac_validator_EsD5G_py_2#validate-hmac
    """
    hmac_signature = request.headers.get("HmacSignature")
    protocol = request.headers.get("Protocol")
    if hmac_signature is None or protocol != "HmacSHA256":
        return False

    hmac_key = bytes.fromhex(str(hmac_key_hex))
    digest = hmac.new(hmac_key, request.get_data(), sha256).digest()
    expected_signature = base64.b64encode(digest)
    return hmac.compare_digest(hmac_signature.encode(), expected_signature)

webhook_handler staticmethod

webhook_handler(
    adyen_webhooks_credentials_secret_name="ADYEN_WEBHOOKS_CREDENTIALS_SECRET_NAME",
    adyen_webhooks_credentials_config_key="ADYEN_WEBHOOKS_CREDENTIALS",
    adyen_webhooks_allowlist_key="ADYEN_WEBHOOKS_ALLOWLIST",
)

Handle Adyen Transfer webhook requests and validate their authenticity

Source code in shared/services/payment_providers/adyen/adyen_webhooks.py
@staticmethod
def webhook_handler(
    adyen_webhooks_credentials_secret_name: str = "ADYEN_WEBHOOKS_CREDENTIALS_SECRET_NAME",  # noqa: S107
    adyen_webhooks_credentials_config_key: str = "ADYEN_WEBHOOKS_CREDENTIALS",
    adyen_webhooks_allowlist_key: str = "ADYEN_WEBHOOKS_ALLOWLIST",
) -> callable:  # type: ignore[valid-type]
    """
    Handle Adyen Transfer webhook requests and validate their authenticity
    """

    def decorator(handler: callable) -> callable:  # type: ignore[valid-type]
        @wraps(handler)
        def decorated_function(*args, **kwargs) -> Response:  # type: ignore[no-untyped-def]
            if not AdyenWebhooks.is_from_authorized_location(
                adyen_webhooks_allowlist_key
            ):
                raise RestrictToWhitelistedIpsNotFound()

            credentials = _get_secret(
                adyen_webhooks_credentials_secret_name,
                adyen_webhooks_credentials_config_key,
            )

            if not AdyenWebhooks.is_authentication_valid(
                credentials["username"], credentials["password"]
            ):
                return make_response("Invalid credentials", 401)

            if not AdyenWebhooks.is_signature_valid(credentials["hmac_key"]):
                return make_response("Invalid signature", 401)

            try:
                response = handler(*args, **kwargs)  # type: ignore[misc]
            except Exception as e:
                current_logger.error(
                    "Adyen webhook handler failed", error=e, error_message=str(e)
                )
                response = make_response("Internal error", 500)

            if response is None:
                # Default response, see https://docs.adyen.com/marketplaces-and-platforms/webhooks/?tab=codeBlockhmac_validator_EsD5G_py_2#accept-webhooks
                response = make_response("[accepted]", 200)

            return response  # type: ignore[no-any-return]

        return decorated_function

    return decorator

shared.services.payment_providers.adyen.clients

adyen_account_holders_api_client

API_CREDENTIALS_CONFIG_KEY module-attribute

API_CREDENTIALS_CONFIG_KEY = (
    "ADYEN_BALANCE_PLATFORM_API_CREDENTIALS_SECRET_NAME"
)

API_CREDENTIALS_DEFAULT_KEY module-attribute

API_CREDENTIALS_DEFAULT_KEY = (
    "ADYEN_BALANCE_PLATFORM_API_CREDENTIALS"
)

AdyenAccountHoldersApiClient

AdyenAccountHoldersApiClient(api)

Bases: AdyenAccountHoldersApiClientProtocol

This class wraps the Adyen Python library and provides a single point of entry for all Adyen Account Holders API calls.

It also provides better typing over the raw API using the OpenAPI generated models, which rely on Pydantic for validation.

This API requires the Balance Platform BCL role.

Implements the following Nullable patterns: - Nullables: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#nullables ⧉ - Parameterless instantiation: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#instantiation ⧉ - Thin wrapper: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#thin-wrapper ⧉ - Embedded stub: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#embedded-stub ⧉

See also
Tags
Source code in shared/services/payment_providers/adyen/clients/adyen_account_holders_api_client.py
def __init__(self, api: "AccountHoldersApi") -> None:
    self.api = api
StubbedApi
StubbedApi()

Bases: AdyenAccountHoldersApiClientProtocol

Embedded stub for Adyen Account Holders API, replicates the same interface as the Adyen library.

https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#embedded-stub ⧉

Source code in shared/services/payment_providers/adyen/clients/adyen_account_holders_api_client.py
def __init__(self) -> None:
    pass
create_account_holder
create_account_holder(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_account_holders_api_client.py
def create_account_holder(
    self,
    request: "AccountHolderInfo",
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AccountHolder":
    raise NotImplementedError("TODO")
get_account_holder
get_account_holder(id, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_account_holders_api_client.py
def get_account_holder(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "AccountHolder":
    raise NotImplementedError("TODO")
get_all_balance_accounts_of_account_holder
get_all_balance_accounts_of_account_holder(
    id,
    offset=None,
    limit=None,
    idempotency_key=None,
    **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_account_holders_api_client.py
def get_all_balance_accounts_of_account_holder(
    self,
    id: str,
    offset: int | None = None,
    limit: int | None = None,
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "PaginatedBalanceAccountsResponse":
    raise NotImplementedError("TODO")
update_account_holder
update_account_holder(
    id, request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_account_holders_api_client.py
def update_account_holder(
    self,
    id: str,
    request: "AccountHolderUpdateRequest",
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AccountHolder":
    raise NotImplementedError("TODO")
api instance-attribute
api = api
create classmethod
create()

Normal factory

Source code in shared/services/payment_providers/adyen/clients/adyen_account_holders_api_client.py
@classmethod
def create(cls) -> "AdyenAccountHoldersApiClient":
    """Normal factory"""

    from shared.helpers.env import (
        is_development_mode,
        is_test_mode,
        json_secret_from_config,
    )

    if is_test_mode() or is_development_mode():
        return cls.create_null()

    credentials = json_secret_from_config(
        config_key=API_CREDENTIALS_CONFIG_KEY,
        default_secret_value=current_config.get(API_CREDENTIALS_DEFAULT_KEY),
    )
    if credentials is None:
        raise AdyenClientMissingCredentialsException()

    from Adyen.client import AdyenClient
    from Adyen.services.balancePlatform.account_holders_api import AccountHoldersApi

    client = AdyenClient(
        xapikey=credentials["api_key"], platform=credentials["platform"]
    )
    return cls(AccountHoldersApi(client))
create_account_holder
create_account_holder(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_account_holders_api_client.py
def create_account_holder(
    self,
    request: "AccountHolderInfo",
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AccountHolder":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.balance_platform_service_v2 import (
        AccountHolder,
    )

    try:
        result = self.api.create_account_holder(
            request.model_dump(),
            idempotency_key,
            **kwargs,
        )
        return AccountHolder.model_validate(result.message)
    except AdyenError:
        # TODO handle error
        raise
create_null classmethod
create_null()

Null factory

Source code in shared/services/payment_providers/adyen/clients/adyen_account_holders_api_client.py
@classmethod
def create_null(cls) -> "AdyenAccountHoldersApiClient":
    """Null factory"""
    return cls(cls.StubbedApi())
get_account_holder
get_account_holder(id, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_account_holders_api_client.py
def get_account_holder(
    self,
    id: str,
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AccountHolder":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.balance_platform_service_v2 import (
        AccountHolder,
    )

    try:
        result = self.api.get_account_holder(
            id,
            idempotency_key,
            **kwargs,
        )
        return AccountHolder.model_validate(result.message)
    except AdyenError:
        # TODO handle error
        raise
get_all_balance_accounts_of_account_holder
get_all_balance_accounts_of_account_holder(
    id,
    offset=None,
    limit=None,
    idempotency_key=None,
    **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_account_holders_api_client.py
def get_all_balance_accounts_of_account_holder(
    self,
    id: str,
    offset: int | None = None,
    limit: int | None = None,
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "PaginatedBalanceAccountsResponse":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.balance_platform_service_v2 import (
        PaginatedBalanceAccountsResponse,
    )

    try:
        result = self.api.get_all_balance_accounts_of_account_holder(
            id,
            idempotency_key,
            offset=offset,
            limit=limit,
            **kwargs,
        )
        return PaginatedBalanceAccountsResponse.model_validate(result.message)
    except AdyenError:
        # TODO handle error
        raise
update_account_holder
update_account_holder(
    id, request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_account_holders_api_client.py
def update_account_holder(
    self,
    id: str,
    request: "AccountHolderUpdateRequest",
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AccountHolder":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.balance_platform_service_v2 import (
        AccountHolder,
    )

    try:
        result = self.api.update_account_holder(
            request.model_dump(exclude_unset=True),  # Will allow partial updates
            id,
            idempotency_key,
            **kwargs,
        )
        return AccountHolder.model_validate(result.message)
    except AdyenError:
        # TODO handle error
        raise

AdyenAccountHoldersApiClientProtocol

Bases: Protocol

create_account_holder
create_account_holder(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_account_holders_api_client.py
def create_account_holder(
    self,
    request: "AccountHolderInfo",
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AccountHolder": ...
get_account_holder
get_account_holder(id, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_account_holders_api_client.py
def get_account_holder(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "AccountHolder": ...
get_all_balance_accounts_of_account_holder
get_all_balance_accounts_of_account_holder(
    id, offset, limit, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_account_holders_api_client.py
def get_all_balance_accounts_of_account_holder(
    self,
    id: str,
    offset: int | None,
    limit: int | None,
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "PaginatedBalanceAccountsResponse": ...
update_account_holder
update_account_holder(
    id, request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_account_holders_api_client.py
def update_account_holder(
    self,
    id: str,
    request: "AccountHolderUpdateRequest",
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AccountHolder": ...

adyen_balance_accounts_api_client

API_CREDENTIALS_CONFIG_KEY module-attribute

API_CREDENTIALS_CONFIG_KEY = (
    "ADYEN_BALANCE_PLATFORM_API_CREDENTIALS_SECRET_NAME"
)

API_CREDENTIALS_DEFAULT_KEY module-attribute

API_CREDENTIALS_DEFAULT_KEY = (
    "ADYEN_BALANCE_PLATFORM_API_CREDENTIALS"
)

AdyenBalanceAccountsApiClient

AdyenBalanceAccountsApiClient(api=None)

This class wraps the Adyen Python library and provides a single point of entry for all Adyen Balance Accounts API calls.

It also provides better typing over the raw API using the OpenAPI generated models, which rely on Pydantic for validation.

This API requires the Balance Platform BCL role.

Implements the following Nullable patterns: - Nullables: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#nullables ⧉ - Parameterless instantiation: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#instantiation ⧉ - Thin wrapper: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#thin-wrapper ⧉ - Embedded stub: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#embedded-stub ⧉

See also
Tags
Source code in shared/services/payment_providers/adyen/clients/adyen_balance_accounts_api_client.py
def __init__(self, api: "BalanceAccountsApi" = None) -> None:
    self.api = api
StubbedApi
StubbedApi(track_requests=None, responses=None)

Embedded stub for Adyen Balance Accounts API, replicates the same interface as the Adyen library.

https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#embedded-stub ⧉

Implements the following Nullable patterns: - Output tracking: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#output-tracking ⧉ - Configurable responses: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#configurable-responses ⧉

Source code in shared/services/payment_providers/adyen/clients/adyen_balance_accounts_api_client.py
def __init__(
    self,
    track_requests: list[tuple[str, dict, dict]] | None = None,  # type: ignore[type-arg]
    responses: list[tuple[int, dict]] | None = None,  # type: ignore[type-arg]
) -> None:
    self.track_requests = track_requests
    self.responses = responses
create_balance_account
create_balance_account(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_balance_accounts_api_client.py
def create_balance_account(  # type: ignore[no-untyped-def]
    self,
    request,
    idempotency_key=None,  # noqa: ARG002
    **kwargs,  # noqa: ARG002
) -> "AdyenResult":
    import random
    import string

    if self.responses is not None and len(self.responses) > 0:
        status_code, data = self.responses.pop(0)
    else:
        status_code = 200

        # Generate random ID
        id = "".join(
            random.choices(  # noqa: S311  # for testing purposes
                string.ascii_uppercase + string.digits, k=25
            )
        )

        # Return request data + the fields we expect from Adyen and that we use in our code
        data = request.copy()
        data["id"] = id
        data["status"] = "active"

    return self._simulate_request(  # type: ignore[no-untyped-call]
        "create_balance_account", request, data, status_code
    )
get_all_payment_instruments_for_balance_account
get_all_payment_instruments_for_balance_account(
    id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_balance_accounts_api_client.py
def get_all_payment_instruments_for_balance_account(  # type: ignore[no-untyped-def]
    self, id, idempotency_key=None, **kwargs
) -> "AdyenResult":
    raise NotImplementedError("TODO")
get_all_transaction_rules_for_balance_account
get_all_transaction_rules_for_balance_account(
    id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_balance_accounts_api_client.py
def get_all_transaction_rules_for_balance_account(  # type: ignore[no-untyped-def]
    self, id, idempotency_key=None, **kwargs
) -> "AdyenResult":
    raise NotImplementedError("TODO")
get_balance_account
get_balance_account(id, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_balance_accounts_api_client.py
def get_balance_account(  # type: ignore[no-untyped-def]
    self,
    id,
    idempotency_key=None,
    **kwargs,  # noqa: ARG002
) -> "AdyenResult":
    if self.responses is not None and len(self.responses) > 0:
        status_code, data = self.responses.pop(0)
    else:
        # Simulate a not found error by default
        status_code = 422

        data = {
            "type": "https://docs.adyen.com/errors/not-found",
            "title": "Balance account not found",
            "status": 422,
            "detail": f"Could not find balance account with id {id}.",
            "requestId": idempotency_key or "REQUEST_ID",
            "errorCode": "30_013",
        }

    return self._simulate_request(  # type: ignore[no-untyped-call]
        "get_balance_account", {"id": id}, data, status_code
    )
responses instance-attribute
responses = responses
track_requests instance-attribute
track_requests = track_requests
update_balance_account
update_balance_account(
    request, id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_balance_accounts_api_client.py
def update_balance_account(  # type: ignore[no-untyped-def]
    self,
    request,
    id,
    idempotency_key=None,  # noqa: ARG002
    **kwargs,  # noqa: ARG002
) -> "AdyenResult":
    if self.responses is not None and len(self.responses) > 0:
        status_code, data = self.responses.pop(0)
    else:
        status_code = 200

        # Return request data + the fields we expect from Adyen and that we use in our code + the fields required by the API validators
        data = request.copy()
        data["id"] = id
        data["accountHolderId"] = "bogus"

    return self._simulate_request(  # type: ignore[no-untyped-call]
        "update_balance_account", request, data, status_code
    )
api instance-attribute
api = api
create classmethod
create()

Normal factory

Source code in shared/services/payment_providers/adyen/clients/adyen_balance_accounts_api_client.py
@classmethod
def create(cls) -> "AdyenBalanceAccountsApiClient":
    """Normal factory"""

    from shared.helpers.env import (
        is_development_mode,
        is_test_mode,
        json_secret_from_config,
    )

    if is_test_mode() or is_development_mode():
        return cls.create_null()

    credentials = json_secret_from_config(
        config_key=API_CREDENTIALS_CONFIG_KEY,
        default_secret_value=current_config.get(API_CREDENTIALS_DEFAULT_KEY),
    )
    if credentials is None:
        raise AdyenClientMissingCredentialsException()

    from Adyen.client import AdyenClient
    from Adyen.services.balancePlatform.balance_accounts_api import (
        BalanceAccountsApi,
    )

    client = AdyenClient(
        xapikey=credentials["api_key"], platform=credentials["platform"]
    )
    return cls(BalanceAccountsApi(client))
create_balance_account
create_balance_account(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_balance_accounts_api_client.py
def create_balance_account(  # type: ignore[no-untyped-def]
    self,
    request: "BalanceAccountInfo",
    idempotency_key=None,
    **kwargs,
) -> "BalanceAccount":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.balance_platform_service_v2 import (
        BalanceAccount,
    )

    try:
        result = self.api.create_balance_account(
            request.dict(),
            idempotency_key,
            **kwargs,
        )
        return BalanceAccount.parse_obj(result.message)
    except AdyenError:
        # TODO handle error
        raise
create_null classmethod
create_null(track_requests=None, responses=None)

Null factory

Source code in shared/services/payment_providers/adyen/clients/adyen_balance_accounts_api_client.py
@classmethod
def create_null(
    cls,
    track_requests: list[tuple[str, dict, dict]] | None = None,  # type: ignore[type-arg]
    responses: list[tuple[int, dict]] | None = None,  # type: ignore[type-arg]
) -> "AdyenBalanceAccountsApiClient":
    """Null factory"""
    return cls(
        cls.StubbedApi(
            track_requests=track_requests,
            responses=responses,
        )
    )
get_all_payment_instruments_for_balance_account
get_all_payment_instruments_for_balance_account(
    id,
    offset=None,
    limit=None,
    idempotency_key=None,
    **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_balance_accounts_api_client.py
def get_all_payment_instruments_for_balance_account(  # type: ignore[no-untyped-def]
    self,
    id: str,
    offset=None,
    limit=None,
    idempotency_key=None,
    **kwargs,
) -> "PaginatedPaymentInstrumentsResponse":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.balance_platform_service_v2 import (
        PaginatedPaymentInstrumentsResponse,
    )

    try:
        result = self.api.get_all_payment_instruments_for_balance_account(
            id,
            idempotency_key,
            offset=offset,
            limit=limit,
            **kwargs,
        )
        return PaginatedPaymentInstrumentsResponse.parse_obj(result.message)
    except AdyenError:
        # TODO handle error
        raise
get_all_transaction_rules_for_balance_account
get_all_transaction_rules_for_balance_account(
    id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_balance_accounts_api_client.py
def get_all_transaction_rules_for_balance_account(
    self,
    id: str,
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "TransactionRulesResponse":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.balance_platform_service_v2 import (
        TransactionRulesResponse,
    )

    try:
        result = self.api.get_all_transaction_rules_for_balance_account(
            id, idempotency_key, **kwargs
        )
        return TransactionRulesResponse.model_validate(result.message)
    except AdyenError:
        # TODO handle error
        raise
get_balance_account
get_balance_account(id, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_balance_accounts_api_client.py
def get_balance_account(  # type: ignore[no-untyped-def]
    self,
    id: str,
    idempotency_key=None,
    **kwargs,
) -> "BalanceAccount":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.balance_platform_service_v2 import (
        BalanceAccount,
    )

    try:
        result = self.api.get_balance_account(
            id,
            idempotency_key,
            **kwargs,
        )
        return BalanceAccount.parse_obj(result.message)
    except AdyenError:
        # TODO handle error
        raise
update_balance_account
update_balance_account(
    id, request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_balance_accounts_api_client.py
def update_balance_account(  # type: ignore[no-untyped-def]
    self,
    id: str,
    request: "BalanceAccountUpdateRequest",
    idempotency_key=None,
    **kwargs,
) -> "BalanceAccount":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.balance_platform_service_v2 import (
        BalanceAccount,
    )

    try:
        result = self.api.update_balance_account(
            request.dict(exclude_unset=True),  # Will allow partial updates
            id,
            idempotency_key,
            **kwargs,
        )
        return BalanceAccount.parse_obj(result.message)
    except AdyenError:
        # TODO handle error
        raise

adyen_hosted_onboarding_api_client

API_CREDENTIALS_CONFIG_KEY module-attribute

API_CREDENTIALS_CONFIG_KEY = (
    "ADYEN_KYC_API_CREDENTIALS_SECRET_NAME"
)

API_CREDENTIALS_DEFAULT_KEY module-attribute

API_CREDENTIALS_DEFAULT_KEY = 'ADYEN_KYC_API_CREDENTIALS'

AdyenHostedOnboardingApiClient

AdyenHostedOnboardingApiClient(api)

This class wraps the Adyen Python library and provides a single point of entry for all Adyen Hosted Onboarding API calls.

It also provides better typing over the raw API using the OpenAPI generated models, which rely on Pydantic for validation.

This API requires the appropriate KYC roles. TODO clarify this

Implements the following Nullable patterns: - Nullables: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#nullables ⧉ - Parameterless instantiation: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#instantiation ⧉ - Thin wrapper: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#thin-wrapper ⧉ - Embedded stub: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#embedded-stub ⧉

See also
Tags
Source code in shared/services/payment_providers/adyen/clients/adyen_hosted_onboarding_api_client.py
def __init__(self, api: AdyenHostedOnboardingApiProtocol) -> None:
    self.api = api
StubbedApi

Embedded stub for Adyen Hosted Onboarding API.

This stub replicates the same interface as the real Adyen API client but provides configurable test responses without any external dependencies.

https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#embedded-stub ⧉

TODO: Implement output tracking and configurable responses for testing - https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#output-tracking ⧉ - https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#configurable-responses ⧉

get_link_to_adyenhosted_onboarding_page(
    request, id, idempotency_key=None, **kwargs
)

Simulate getting a link to an Adyen-hosted onboarding page.

Source code in shared/services/payment_providers/adyen/clients/adyen_hosted_onboarding_api_client.py
def get_link_to_adyenhosted_onboarding_page(
    self,
    request: dict[str, Any],
    id: str,
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AdyenResult":
    """Simulate getting a link to an Adyen-hosted onboarding page."""
    raise NotImplementedError("TODO")
api instance-attribute
api = api
create classmethod
create()

Normal factory

Source code in shared/services/payment_providers/adyen/clients/adyen_hosted_onboarding_api_client.py
@classmethod
def create(cls) -> "AdyenHostedOnboardingApiClient":
    """Normal factory"""

    from shared.helpers.env import (
        is_development_mode,
        is_test_mode,
        json_secret_from_config,
    )

    if is_test_mode() or is_development_mode():
        return cls.create_null()

    credentials = json_secret_from_config(
        config_key=API_CREDENTIALS_CONFIG_KEY,
        default_secret_value=current_config.get(API_CREDENTIALS_DEFAULT_KEY),
    )
    if credentials is None:
        raise AdyenClientMissingCredentialsException()

    from Adyen.client import AdyenClient

    from shared.services.payment_providers.adyen.raw_apis.hosted_onboarding_api import (
        HostedOnboardingApi,
    )

    client = AdyenClient(
        xapikey=credentials["api_key"], platform=credentials["platform"]
    )
    return cls(HostedOnboardingApi(client))
create_null classmethod
create_null()

Null factory

Source code in shared/services/payment_providers/adyen/clients/adyen_hosted_onboarding_api_client.py
@classmethod
def create_null(cls) -> "AdyenHostedOnboardingApiClient":
    """Null factory"""
    return cls(cls.StubbedApi())
get_link_to_adyenhosted_onboarding_page(
    id, request, idempotency_key=None, **kwargs
)

Get a link to an Adyen-hosted onboarding page.

This method wraps the raw API call and provides proper typing and validation using Pydantic models.

Source code in shared/services/payment_providers/adyen/clients/adyen_hosted_onboarding_api_client.py
def get_link_to_adyenhosted_onboarding_page(
    self,
    id: str,
    request: "OnboardingLinkInfo",
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "OnboardingLink":
    """Get a link to an Adyen-hosted onboarding page.

    This method wraps the raw API call and provides proper typing and validation
    using Pydantic models.
    """
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.legal_entity_service_v3 import (
        OnboardingLink,
    )

    try:
        result = self.api.get_link_to_adyenhosted_onboarding_page(
            request.model_dump(exclude_unset=True),
            id,
            idempotency_key,
            **kwargs,
        )
        return OnboardingLink.model_validate(result.message)
    except AdyenError:
        raise

AdyenHostedOnboardingApiProtocol

Bases: Protocol

Protocol defining the interface for the Adyen Hosted Onboarding API.

This protocol is used for both the real API implementation and stubs for testing.

get_link_to_adyenhosted_onboarding_page(
    request, id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_hosted_onboarding_api_client.py
def get_link_to_adyenhosted_onboarding_page(
    self,
    request: dict[str, Any],
    id: str,
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AdyenResult": ...
API_CREDENTIALS_CONFIG_KEY = (
    "ADYEN_KYC_API_CREDENTIALS_SECRET_NAME"
)
API_CREDENTIALS_DEFAULT_KEY = 'ADYEN_KYC_API_CREDENTIALS'
AdyenLegalEntitiesApiClient(api)

This class wraps the Adyen Python library and provides a single point of entry for all Adyen Legal Entities API calls.

It also provides better typing over the raw API using the OpenAPI generated models, which rely on Pydantic for validation.

This API requires the appropriate KYC roles. TODO clarify this

Implements the following Nullable patterns: - Nullables: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#nullables ⧉ - Parameterless instantiation: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#instantiation ⧉ - Thin wrapper: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#thin-wrapper ⧉ - Embedded stub: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#embedded-stub ⧉

See also
Tags
Source code in shared/services/payment_providers/adyen/clients/adyen_legal_entities_api_client.py
def __init__(self, api: "LegalEntitiesApi") -> None:
    self.api = api

Bases: AdyenLegalEntitiesApiProtocol

create_legal_entity(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_legal_entities_api_client.py
def create_legal_entity(
    self,
    request: dict[str, Any],
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AdyenResult":
    raise NotImplementedError("TODO")
get_legal_entity(id, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_legal_entities_api_client.py
def get_legal_entity(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "AdyenResult":
    raise NotImplementedError("TODO")
update_legal_entity(
    request, id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_legal_entities_api_client.py
def update_legal_entity(
    self,
    request: dict[str, Any],
    id: str,
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AdyenResult":
    raise NotImplementedError("TODO")
api = api
create()
Source code in shared/services/payment_providers/adyen/clients/adyen_legal_entities_api_client.py
@classmethod
def create(cls) -> "AdyenLegalEntitiesApiClient":
    from shared.helpers.env import (
        is_development_mode,
        is_test_mode,
        json_secret_from_config,
    )

    if is_test_mode() or is_development_mode():
        return cls.create_null()

    credentials = json_secret_from_config(
        config_key=API_CREDENTIALS_CONFIG_KEY,
        default_secret_value=current_config.get(API_CREDENTIALS_DEFAULT_KEY),
    )
    if credentials is None:
        raise AdyenClientMissingCredentialsException()

    from Adyen.client import AdyenClient
    from Adyen.services.legalEntityManagement.legal_entities_api import (
        LegalEntitiesApi,
    )

    client = AdyenClient(
        xapikey=credentials["api_key"], platform=credentials["platform"]
    )
    return cls(LegalEntitiesApi(client))
create_legal_entity(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_legal_entities_api_client.py
def create_legal_entity(
    self,
    request: "LegalEntityInfoRequiredType",
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "LegalEntity":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.legal_entity_service_v3 import (
        LegalEntity,
    )

    try:
        result = self.api.create_legal_entity(
            request.model_dump(),
            idempotency_key,
            **kwargs,
        )
        return LegalEntity.model_validate(result.message)
    except AdyenError:
        # TODO handle error
        raise
create_null()
Source code in shared/services/payment_providers/adyen/clients/adyen_legal_entities_api_client.py
@classmethod
def create_null(cls) -> "AdyenLegalEntitiesApiClient":
    return cls(cls.StubbedApi())
get_legal_entity(id, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_legal_entities_api_client.py
def get_legal_entity(
    self,
    id: str,
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "LegalEntity":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.legal_entity_service_v3 import (
        LegalEntity,
    )

    try:
        result = self.api.get_legal_entity(id, idempotency_key, **kwargs)
        return LegalEntity.model_validate(result.message)
    except AdyenError:
        # TODO handle error
        raise
update_legal_entity(
    id, request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_legal_entities_api_client.py
def update_legal_entity(
    self,
    id: str,
    request: "LegalEntityInfo",
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "LegalEntity":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.legal_entity_service_v3 import (
        LegalEntity,
    )

    try:
        result = self.api.update_legal_entity(
            request.model_dump(exclude_unset=True),
            id,
            idempotency_key,
            **kwargs,
        )
        return LegalEntity.model_validate(result.message)
    except AdyenError:
        raise

Bases: Protocol

create_legal_entity(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_legal_entities_api_client.py
def create_legal_entity(
    self,
    request: dict[str, Any],
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AdyenResult": ...
get_legal_entity(id, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_legal_entities_api_client.py
def get_legal_entity(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "AdyenResult": ...
update_legal_entity(
    request, id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_legal_entities_api_client.py
def update_legal_entity(
    self,
    request: dict[str, Any],
    id: str,
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AdyenResult": ...

adyen_payment_instrument_groups_api_client

AdyenPaymentInstrumentGroupsApiClient

AdyenPaymentInstrumentGroupsApiClient(api)

This class wraps the Adyen Python library and provides a single point of entry for all Adyen Payment Instrument Groups API calls.

It also provides better typing over the raw API using the OpenAPI generated models, which rely on Pydantic for validation.

This API requires the Balance Platform BCL role.

Implements the following Nullable patterns: - Nullables: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#nullables ⧉ - Parameterless instantiation: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#instantiation ⧉ - Thin wrapper: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#thin-wrapper ⧉ - Embedded stub: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#embedded-stub ⧉

See also
Tags
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_groups_api_client.py
def __init__(self, api: "PaymentInstrumentGroupsApi") -> None:
    self.api = api
StubbedApi

Bases: AdyenPaymentInstrumentGroupsApiProtocol

create_payment_instrument_group
create_payment_instrument_group(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_groups_api_client.py
def create_payment_instrument_group(
    self,
    request: dict[str, Any],
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AdyenResult":
    raise NotImplementedError("TODO")
get_all_transaction_rules_for_payment_instrument_group
get_all_transaction_rules_for_payment_instrument_group(
    id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_groups_api_client.py
def get_all_transaction_rules_for_payment_instrument_group(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "AdyenResult":
    raise NotImplementedError("TODO")
get_payment_instrument_group
get_payment_instrument_group(
    id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_groups_api_client.py
def get_payment_instrument_group(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "AdyenResult":
    raise NotImplementedError("TODO")
api instance-attribute
api = api
create classmethod
create()
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_groups_api_client.py
@classmethod
def create(cls) -> "AdyenPaymentInstrumentGroupsApiClient":
    from shared.helpers.env import is_development_mode, is_test_mode

    if is_test_mode() or is_development_mode():
        return cls.create_null()

    # TODO create the credentials if we need to use this client
    """
    ```python
    from Adyen.client import AdyenClient
    from Adyen.services.balancePlatform.payment_instrument_groups_api import (
        PaymentInstrumentGroupsApi,
    )

    client = AdyenClient(xapikey="TODO config", platform="TODO config")
    return cls(PaymentInstrumentGroupsApi(client))
    ```
    """

    raise AdyenClientMissingCredentialsException()
create_null classmethod
create_null()
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_groups_api_client.py
@classmethod
def create_null(cls) -> "AdyenPaymentInstrumentGroupsApiClient":
    return cls(cls.StubbedApi())
create_payment_instrument_group
create_payment_instrument_group(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_groups_api_client.py
def create_payment_instrument_group(
    self,
    request: "PaymentInstrumentGroupInfo",
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "PaymentInstrumentGroup":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.balance_platform_service_v2 import (
        PaymentInstrumentGroup,
    )

    try:
        result = self.api.create_payment_instrument_group(
            request.model_dump(),
            idempotency_key,
            **kwargs,
        )
        return PaymentInstrumentGroup.model_validate(result.message)
    except AdyenError:
        raise
get_all_transaction_rules_for_payment_instrument_group
get_all_transaction_rules_for_payment_instrument_group(
    id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_groups_api_client.py
def get_all_transaction_rules_for_payment_instrument_group(
    self,
    id: str,
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "TransactionRulesResponse":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.balance_platform_service_v2 import (
        TransactionRulesResponse,
    )

    try:
        result = self.api.get_all_transaction_rules_for_payment_instrument_group(
            id, idempotency_key, **kwargs
        )
        return TransactionRulesResponse.model_validate(result.message)
    except AdyenError:
        raise
get_payment_instrument_group
get_payment_instrument_group(
    id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_groups_api_client.py
def get_payment_instrument_group(
    self,
    id: str,
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "PaymentInstrumentGroup":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.balance_platform_service_v2 import (
        PaymentInstrumentGroup,
    )

    try:
        result = self.api.get_payment_instrument_group(
            id, idempotency_key, **kwargs
        )
        return PaymentInstrumentGroup.model_validate(result.message)
    except AdyenError:
        # TODO handle error
        raise

AdyenPaymentInstrumentGroupsApiProtocol

Bases: Protocol

create_payment_instrument_group
create_payment_instrument_group(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_groups_api_client.py
def create_payment_instrument_group(
    self, request: dict[str, Any], idempotency_key: str | None = None, **kwargs: Any
) -> "AdyenResult": ...
get_all_transaction_rules_for_payment_instrument_group
get_all_transaction_rules_for_payment_instrument_group(
    id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_groups_api_client.py
def get_all_transaction_rules_for_payment_instrument_group(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "AdyenResult": ...
get_payment_instrument_group
get_payment_instrument_group(
    id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_groups_api_client.py
def get_payment_instrument_group(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "AdyenResult": ...

adyen_payment_instrument_reveal_api_client

API_CREDENTIALS_CONFIG_KEY module-attribute

API_CREDENTIALS_CONFIG_KEY = "ADYEN_BALANCE_PLATFORM_REVEAL_API_CREDENTIALS_SECRET_NAME"

API_CREDENTIALS_DEFAULT_KEY module-attribute

API_CREDENTIALS_DEFAULT_KEY = (
    "ADYEN_BALANCE_PLATFORM_REVEAL_API_CREDENTIALS"
)

AdyenPaymentInstrumentRevealApiClient

AdyenPaymentInstrumentRevealApiClient(api)

This class wraps the low-level PaymentInstrumentRevealApi below and provides a single point of entry for all Adyen Payment Instrument Reveal API calls.

It also provides better typing over the raw API using Pydantic models.

This API requires the following roles: - Bank Issuing PaymentInstrument Reveal Webservice role for PAN reveal public key calls - Bank Issuing PIN Reveal Webservice role for PIN reveal public key calls - Balance Platform BCL role for reveal calls

Implements the following Nullable patterns: - Nullables: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#nullables ⧉ - Parameterless instantiation: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#instantiation ⧉ - Thin wrapper: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#thin-wrapper ⧉ - Embedded stub: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#embedded-stub ⧉

See also
Tags
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_reveal_api_client.py
def __init__(self, api: PaymentInstrumentRevealApiProtocol) -> None:
    self.api = api
StubbedApi
StubbedApi(track_requests=None, responses=None)

Embedded stub for Adyen Payment Instruments Reveal API, replicates the same interface as PaymentInstrumentRevealApi.

https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#embedded-stub ⧉

Implements the following Nullable patterns: - Output tracking: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#output-tracking ⧉ - Configurable responses: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#configurable-responses ⧉

Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_reveal_api_client.py
def __init__(
    self,
    track_requests: list[tuple[str, dict[str, Any], dict[str, Any]]]
    | None = None,
    responses: list[tuple[int, dict[str, Any]]] | None = None,
) -> None:
    self.track_requests = track_requests
    self.responses = responses
get_pan_reveal_public_key
get_pan_reveal_public_key(idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_reveal_api_client.py
def get_pan_reveal_public_key(
    self,
    idempotency_key: str | None = None,  # noqa: ARG002
    **kwargs: Any,  # noqa: ARG002
) -> "AdyenResult":
    from shared.services.payment_providers.adyen.raw_apis.payment_instrument_reveal_api import (
        PaymentInstrumentRevealPanRequest,
    )

    if self.responses is not None and len(self.responses) > 0:
        status_code, data = self.responses.pop(0)
    else:
        # Simulate hard-coded response from the docs by default
        status_code = 200
        data = {
            "publicKey": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5Yciih2A+4RVLoutFwbVfEhuOc2sFMb3iZKPkL18Kti/q1d7XP/Ep1zSOVP3449Sb+jPgUwxNcUR5Hm2F4bEqnTBCtI/6Zm8k2DOPyhBF1O8sZpNCvMLv8406p0VSs5bsJ5K0HBgw5NTOwFv/38u/roNngrRA1U+le6Hf9IeMlTXY79Dl9xttG0meNk/uNFL5/ozbjEZhpgSXcs47l3zKaU+e2dCmbVQwxlnAaCj1tAOxPPke/bF7Q/KxlgbMrIT80Joyn3F+zcyU4JkeqdIak0vIzz0wbA4GyN5Ano1i53oP6W3hRiE2f9onU6GUWVJbpV09EF1EQB5EVEHy50A8QIDAQAB",
            "publicKeyExpiryDate": str(date.today() + timedelta(days=1)),
        }

    return self._simulate_request(
        "get_pan_reveal_public_key",
        PaymentInstrumentRevealPanRequest(
            paymentInstrumentId="FakeInstrumentId",
            encryptedKey="FakeEncryptedKey",
        ),
        (status_code, data),
    )
get_pin_reveal_public_key
get_pin_reveal_public_key(idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_reveal_api_client.py
def get_pin_reveal_public_key(
    self,
    idempotency_key: str | None = None,  # noqa: ARG002
    **kwargs: Any,  # noqa: ARG002
) -> "AdyenResult":
    from shared.services.payment_providers.adyen.raw_apis.payment_instrument_reveal_api import (
        PaymentInstrumentRevealPinRequest,
    )

    if self.responses is not None and len(self.responses) > 0:
        status_code, data = self.responses.pop(0)
    else:
        # Simulate hard-coded response from the docs by default
        status_code = 200
        data = {
            "publicKey": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5Yciih2A+4RVLoutFwbVfEhuOc2sFMb3iZKPkL18Kti/q1d7XP/Ep1zSOVP3449Sb+jPgUwxNcUR5Hm2F4bEqnTBCtI/6Zm8k2DOPyhBF1O8sZpNCvMLv8406p0VSs5bsJ5K0HBgw5NTOwFv/38u/roNngrRA1U+le6Hf9IeMlTXY79Dl9xttG0meNk/uNFL5/ozbjEZhpgSXcs47l3zKaU+e2dCmbVQwxlnAaCj1tAOxPPke/bF7Q/KxlgbMrIT80Joyn3F+zcyU4JkeqdIak0vIzz0wbA4GyN5Ano1i53oP6W3hRiE2f9onU6GUWVJbpV09EF1EQB5EVEHy50A8QIDAQAB",
            "publicKeyExpiryDate": str(date.today() + timedelta(days=1)),
        }

    return self._simulate_request(
        "get_pin_reveal_public_key",
        PaymentInstrumentRevealPinRequest(
            paymentInstrumentId="FakeInstrumentId",
            encryptedKey="FakeEncryptedKey",
        ),
        (status_code, data),
    )
responses instance-attribute
responses = responses
reveal_pan_of_payment_instrument
reveal_pan_of_payment_instrument(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_reveal_api_client.py
def reveal_pan_of_payment_instrument(
    self,
    request: "PaymentInstrumentRevealPanRequest",
    idempotency_key: str | None = None,  # noqa: ARG002
    **kwargs: Any,  # noqa: ARG002
) -> "AdyenResult":
    if self.responses is not None and len(self.responses) > 0:
        status_code, data = self.responses.pop(0)
    else:
        # Simulate hard-coded response from the docs by default
        status_code = 200
        data = {
            "encryptedData": "4332F74A329924703EB12A6D5E7D6076D94018073FD3C07B551640D73630C3FBAD84BF7FEB9F7FA8145F83CD3258BEC8F36C488880ABBCF64F081D73792E015FDD07CCB67A2C8D56BB0A3C84FEC050F6D747BD3D1C27FF7A83ED87E4A18203A9"
        }

    return self._simulate_request(
        "reveal_pan_of_payment_instrument", request, (status_code, data)
    )
reveal_pin_of_payment_instrument
reveal_pin_of_payment_instrument(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_reveal_api_client.py
def reveal_pin_of_payment_instrument(
    self,
    request: "PaymentInstrumentRevealPinRequest",
    idempotency_key: str | None = None,  # noqa: ARG002
    **kwargs: Any,  # noqa: ARG002
) -> "AdyenResult":
    if self.responses is not None and len(self.responses) > 0:
        status_code, response_data = self.responses.pop(0)
    else:
        # Simulate hard-coded response from the docs by default
        status_code = 200
        response_data = {
            "encryptedPinBlock": "63E5060591EF65F48DD1D4FECD0FECD5",
            "token": "5555341244441115",
        }

    return self._simulate_request(
        "reveal_pin_of_payment_instrument",
        request,
        (status_code, response_data),
    )
track_requests instance-attribute
track_requests = track_requests
api instance-attribute
api = api
create classmethod
create()

Normal factory

Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_reveal_api_client.py
@classmethod
def create(cls) -> "AdyenPaymentInstrumentRevealApiClient":
    """Normal factory"""

    from shared.helpers.env import (
        is_development_mode,
        is_test_mode,
        json_secret_from_config,
    )

    if is_test_mode() or is_development_mode():
        return cls.create_null()

    credentials = json_secret_from_config(
        config_key=API_CREDENTIALS_CONFIG_KEY,
        default_secret_value=current_config.get(API_CREDENTIALS_DEFAULT_KEY),
    )
    if credentials is None:
        raise AdyenClientMissingCredentialsException()

    from Adyen.client import AdyenClient

    from shared.services.payment_providers.adyen.raw_apis.payment_instrument_reveal_api import (
        PaymentInstrumentRevealApi,
    )

    client = AdyenClient(
        xapikey=credentials["api_key"], platform=credentials["platform"]
    )
    return cls(api=PaymentInstrumentRevealApi(client))
create_null classmethod
create_null(track_requests=None, responses=None)

Null factory

Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_reveal_api_client.py
@classmethod
def create_null(
    cls,
    track_requests: list[tuple[str, dict[str, Any], dict[str, Any]]] | None = None,
    responses: list[tuple[int, dict[str, Any]]] | None = None,
) -> "AdyenPaymentInstrumentRevealApiClient":
    """Null factory"""
    return cls(
        cls.StubbedApi(
            track_requests=track_requests,
            responses=responses,
        )
    )
get_pan_reveal_public_key
get_pan_reveal_public_key(idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_reveal_api_client.py
def get_pan_reveal_public_key(
    self,
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "PaymentInstrumentRevealPublicKeyResponse":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.raw_apis.payment_instrument_reveal_api import (
        PaymentInstrumentRevealPublicKeyResponse,
    )

    try:
        result = self.api.get_pan_reveal_public_key(
            idempotency_key,
            **kwargs,
        )
        return PaymentInstrumentRevealPublicKeyResponse.model_validate(
            result.message
        )
    except AdyenError:
        # TODO handle error
        raise
get_pin_reveal_public_key
get_pin_reveal_public_key(idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_reveal_api_client.py
def get_pin_reveal_public_key(
    self,
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "PaymentInstrumentRevealPublicKeyResponse":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.raw_apis.payment_instrument_reveal_api import (
        PaymentInstrumentRevealPublicKeyResponse,
    )

    try:
        result = self.api.get_pin_reveal_public_key(
            idempotency_key,
            **kwargs,
        )
        return PaymentInstrumentRevealPublicKeyResponse.model_validate(
            result.message
        )
    except AdyenError:
        # TODO handle error
        raise
reveal_pan_of_payment_instrument
reveal_pan_of_payment_instrument(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_reveal_api_client.py
def reveal_pan_of_payment_instrument(
    self,
    request: "PaymentInstrumentRevealPanRequest",
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "PaymentInstrumentRevealPanResponse":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.raw_apis.payment_instrument_reveal_api import (
        PaymentInstrumentRevealPanResponse,
    )

    try:
        result = self.api.reveal_pan_of_payment_instrument(
            request,
            idempotency_key,
            **kwargs,
        )
        return PaymentInstrumentRevealPanResponse.model_validate(result.message)
    except AdyenError:
        # TODO handle error
        raise
reveal_pin_of_payment_instrument
reveal_pin_of_payment_instrument(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_reveal_api_client.py
def reveal_pin_of_payment_instrument(
    self,
    request: "PaymentInstrumentRevealPinRequest",
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "PaymentInstrumentRevealPinResponse":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.raw_apis.payment_instrument_reveal_api import (
        PaymentInstrumentRevealPinResponse,
    )

    try:
        result = self.api.reveal_pin_of_payment_instrument(
            request,
            idempotency_key,
            **kwargs,
        )
        return PaymentInstrumentRevealPinResponse.model_validate(result.message)
    except AdyenError:
        # TODO handle error
        raise

PaymentInstrumentRevealApiProtocol

Bases: Protocol

get_pan_reveal_public_key
get_pan_reveal_public_key(idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_reveal_api_client.py
def get_pan_reveal_public_key(
    self, idempotency_key: str | None = None, **kwargs: Any
) -> "AdyenResult": ...
get_pin_reveal_public_key
get_pin_reveal_public_key(idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_reveal_api_client.py
def get_pin_reveal_public_key(
    self, idempotency_key: str | None = None, **kwargs: Any
) -> "AdyenResult": ...
reveal_pan_of_payment_instrument
reveal_pan_of_payment_instrument(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_reveal_api_client.py
def reveal_pan_of_payment_instrument(
    self,
    request: "PaymentInstrumentRevealPanRequest",
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AdyenResult": ...
reveal_pin_of_payment_instrument
reveal_pin_of_payment_instrument(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instrument_reveal_api_client.py
def reveal_pin_of_payment_instrument(
    self,
    request: "PaymentInstrumentRevealPinRequest",
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AdyenResult": ...

adyen_payment_instruments_api_client

API_CREDENTIALS_CONFIG_KEY module-attribute

API_CREDENTIALS_CONFIG_KEY = (
    "ADYEN_BALANCE_PLATFORM_API_CREDENTIALS_SECRET_NAME"
)

API_CREDENTIALS_DEFAULT_KEY module-attribute

API_CREDENTIALS_DEFAULT_KEY = (
    "ADYEN_BALANCE_PLATFORM_API_CREDENTIALS"
)

AdyenPaymentInstrumentsApiClient

AdyenPaymentInstrumentsApiClient(api)

This class wraps the Adyen Python library and provides a single point of entry for all Adyen Payment Instruments API calls.

It also provides better typing over the raw API using the OpenAPI generated models, which rely on Pydantic for validation.

This API requires the Balance Platform BCL role, except get_pan_of_payment_instrument() which requires the Balance Platform BCL PCI role that should not be used in production.

Implements the following Nullable patterns: - Nullables: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#nullables ⧉ - Parameterless instantiation: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#instantiation ⧉ - Thin wrapper: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#thin-wrapper ⧉ - Embedded stub: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#embedded-stub ⧉

See also
Tags
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instruments_api_client.py
def __init__(self, api: "PaymentInstrumentsApi") -> None:
    self.api = api
StubbedApi
StubbedApi(track_requests=None, responses=None)

Bases: AdyenPaymentInstrumentsApiProtocol

Embedded stub for Adyen Payment Instruments API, replicates the same interface as the Adyen library.

https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#embedded-stub ⧉

Implements the following Nullable patterns: - Output tracking: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#output-tracking ⧉ - Configurable responses: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#configurable-responses ⧉

Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instruments_api_client.py
def __init__(
    self,
    track_requests: list[tuple[str, dict[str, Any], dict[str, Any]]]
    | None = None,
    responses: list[tuple[int, dict[str, Any]]] | None = None,
) -> None:
    self.track_requests = track_requests
    self.responses = responses
create_payment_instrument
create_payment_instrument(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instruments_api_client.py
def create_payment_instrument(
    self,
    request: dict[str, Any],
    idempotency_key: str | None = None,  # noqa: ARG002
    **kwargs: Any,  # noqa: ARG002
) -> "AdyenResult":
    import random
    import string

    if self.responses is not None and len(self.responses) > 0:
        status_code, data = self.responses.pop(0)
    else:
        status_code = 200

        # Generate random ID
        random_id = "".join(
            random.choices(  # noqa: S311  # for testing purposes
                string.ascii_uppercase + string.digits, k=25
            )
        )

        # Return request data + the fields we expect from Adyen and that we use in our code
        data = request.copy()
        data["card"].update(
            {
                "expiration": {"month": "10", "year": "2026"},
                "lastFour": "1234",
            }
        )
        data["id"] = random_id

    return self._simulate_request(
        "create_payment_instrument", request, data, status_code
    )
get_all_transaction_rules_for_payment_instrument
get_all_transaction_rules_for_payment_instrument(
    id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instruments_api_client.py
def get_all_transaction_rules_for_payment_instrument(
    self,
    id: str,
    idempotency_key: str | None = None,  # noqa: ARG002
    **kwargs: Any,  # noqa: ARG002
) -> "AdyenResult":
    self._track_request(
        "get_all_transaction_rules_for_payment_instrument", {"id": id}
    )

    raise NotImplementedError("TODO")
get_pan_of_payment_instrument
get_pan_of_payment_instrument(
    id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instruments_api_client.py
def get_pan_of_payment_instrument(
    self,
    id: str,
    idempotency_key: str | None = None,  # noqa: ARG002
    **kwargs: Any,  # noqa: ARG002
) -> "AdyenResult":
    if self.responses is not None and len(self.responses) > 0:
        status_code, data = self.responses.pop(0)
    else:
        # Simulate a not found error by default
        status_code = 422
        data = {
            "type": "https://docs.adyen.com/errors/not-found",
            "title": "Entity was not found",
            "status": 422,
            "detail": "Payment instrument not found",
            "errorCode": "30_112",
        }

    return self._simulate_request(
        "get_pan_of_payment_instrument",
        {"id": id},
        data,
        status_code,
    )
get_payment_instrument
get_payment_instrument(id, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instruments_api_client.py
def get_payment_instrument(
    self,
    id: str,
    idempotency_key: str | None = None,  # noqa: ARG002
    **kwargs: Any,  # noqa: ARG002
) -> "AdyenResult":
    if self.responses is not None and len(self.responses) > 0:
        status_code, data = self.responses.pop(0)
    else:
        # Simulate a not found error by default
        status_code = 422
        data = {
            "type": "https://docs.adyen.com/errors/not-found",
            "title": "Entity was not found",
            "status": 422,
            "detail": "No payment instrument found for provided information",
            "errorCode": "30_112",
        }

    return self._simulate_request(
        "get_payment_instrument", {"id": id}, data, status_code
    )
responses instance-attribute
responses = responses
track_requests instance-attribute
track_requests = track_requests
update_payment_instrument
update_payment_instrument(
    request, id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instruments_api_client.py
def update_payment_instrument(
    self,
    request: dict[str, Any],
    id: str,
    idempotency_key: str | None = None,  # noqa: ARG002
    **kwargs: Any,  # noqa: ARG002
) -> "AdyenResult":
    if self.responses is not None and len(self.responses) > 0:
        status_code, data = self.responses.pop(0)
    else:
        status_code = 200

        # Return request data + the fields we expect from Adyen and that we use in our code + the fields required by the API validators
        data = request.copy()
        data["id"] = id
        data["type"] = "card"
        data["balanceAccountId"] = "bogus"
        data["issuingCountryCode"] = "bogus"

    return self._simulate_request(
        "update_payment_instrument", request, data, status_code
    )
api instance-attribute
api = api
create classmethod
create()

Normal factory

Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instruments_api_client.py
@classmethod
def create(cls) -> "AdyenPaymentInstrumentsApiClient":
    """Normal factory"""

    from shared.helpers.env import is_test_mode, json_secret_from_config

    if is_test_mode() or is_development_mode():
        return cls.create_null()

    credentials = json_secret_from_config(
        config_key=API_CREDENTIALS_CONFIG_KEY,
        default_secret_value=current_config.get(API_CREDENTIALS_DEFAULT_KEY),
    )
    if credentials is None:
        raise AdyenClientMissingCredentialsException()

    from Adyen.client import AdyenClient
    from Adyen.services.balancePlatform.payment_instruments_api import (
        PaymentInstrumentsApi,
    )

    client = AdyenClient(
        xapikey=credentials["api_key"],
        platform=credentials["platform"],
    )
    return cls(PaymentInstrumentsApi(client))
create_null classmethod
create_null(track_requests=None, responses=None)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instruments_api_client.py
@classmethod
def create_null(
    cls,
    track_requests: list[tuple[str, dict[str, Any], dict[str, Any]]] | None = None,
    responses: list[tuple[int, dict[str, Any]]] | None = None,
) -> "AdyenPaymentInstrumentsApiClient":
    return cls(cls.StubbedApi(track_requests, responses))
create_payment_instrument
create_payment_instrument(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instruments_api_client.py
def create_payment_instrument(
    self,
    request: "PaymentInstrumentInfo",
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "PaymentInstrument":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.balance_platform_service_v2 import (
        PaymentInstrument,
    )

    try:
        result = self.api.create_payment_instrument(
            request.model_dump(),
            idempotency_key,
            **kwargs,
        )
        return PaymentInstrument.model_validate(result.message)
    except AdyenError:
        # TODO handle error
        raise
get_all_transaction_rules_for_payment_instrument
get_all_transaction_rules_for_payment_instrument(
    id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instruments_api_client.py
def get_all_transaction_rules_for_payment_instrument(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "TransactionRulesResponse":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.balance_platform_service_v2 import (
        TransactionRulesResponse,
    )

    try:
        result = self.api.get_all_transaction_rules_for_payment_instrument(
            id, idempotency_key, **kwargs
        )
        return TransactionRulesResponse.model_validate(result.message)
    except AdyenError:
        # TODO handle error
        raise
get_pan_of_payment_instrument
get_pan_of_payment_instrument(
    id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instruments_api_client.py
def get_pan_of_payment_instrument(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "PaymentInstrumentRevealInfo":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.balance_platform_service_v2 import (
        PaymentInstrumentRevealInfo,
    )

    try:
        result = self.api.get_pan_of_payment_instrument(
            id, idempotency_key, **kwargs
        )
        return PaymentInstrumentRevealInfo.model_validate(result.message)
    except AdyenError:
        # TODO handle error
        raise
get_payment_instrument
get_payment_instrument(id, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instruments_api_client.py
def get_payment_instrument(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "PaymentInstrument":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.balance_platform_service_v2 import (
        PaymentInstrument,
    )

    try:
        result = self.api.get_payment_instrument(id, idempotency_key, **kwargs)
        return PaymentInstrument.model_validate(result.message)
    except AdyenError:
        # TODO handle error
        raise
update_payment_instrument
update_payment_instrument(
    id, request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instruments_api_client.py
def update_payment_instrument(
    self,
    id: str,
    request: "PaymentInstrumentUpdateRequest",
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "UpdatePaymentInstrument":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.balance_platform_service_v2 import (
        UpdatePaymentInstrument,
    )

    try:
        result = self.api.update_payment_instrument(
            request.model_dump(exclude_unset=True),
            id,
            idempotency_key,
            **kwargs,
        )
        return UpdatePaymentInstrument.model_validate(result.message)
    except AdyenError:
        # TODO handle error
        raise

AdyenPaymentInstrumentsApiProtocol

Bases: Protocol

create_payment_instrument
create_payment_instrument(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instruments_api_client.py
def create_payment_instrument(
    self,
    request: dict[str, Any],
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AdyenResult": ...
get_all_transaction_rules_for_payment_instrument
get_all_transaction_rules_for_payment_instrument(
    id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instruments_api_client.py
def get_all_transaction_rules_for_payment_instrument(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "AdyenResult": ...
get_pan_of_payment_instrument
get_pan_of_payment_instrument(
    id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instruments_api_client.py
def get_pan_of_payment_instrument(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "AdyenResult": ...
get_payment_instrument
get_payment_instrument(id, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instruments_api_client.py
def get_payment_instrument(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "AdyenResult": ...
update_payment_instrument
update_payment_instrument(
    request, id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_payment_instruments_api_client.py
def update_payment_instrument(
    self,
    request: dict[str, Any],
    id: str,
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AdyenResult": ...

adyen_payments_api_client

API_CREDENTIALS_CONFIG_KEY module-attribute

API_CREDENTIALS_CONFIG_KEY = "ADYEN_CHECKOUT_PCI_PAYMENTS_API_CREDENTIALS_SECRET_NAME"

API_CREDENTIALS_DEFAULT_KEY module-attribute

API_CREDENTIALS_DEFAULT_KEY = (
    "ADYEN_CHECKOUT_PCI_PAYMENTS_API_CREDENTIALS"
)

AdyenPaymentsApiClient

AdyenPaymentsApiClient(api)

This class wraps the Adyen Python library and provides a single point of entry for all Adyen Checkout Payments API calls.

It also provides better typing over the raw API using the OpenAPI generated models, which rely on Pydantic for validation.

This API requires the Balance Platform BCL role.

Implements the following Nullable patterns: - Nullables: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#nullables ⧉ - Parameterless instantiation: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#instantiation ⧉ - Thin wrapper: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#thin-wrapper ⧉ - Embedded stub: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#embedded-stub ⧉

See also
Tags
Source code in shared/services/payment_providers/adyen/clients/adyen_payments_api_client.py
def __init__(self, api: "PaymentsApi") -> None:
    self.api = api
StubbedApi
StubbedApi(track_requests=None, responses=None)

Bases: AdyenPaymentsApiProtocol

Embedded stub for Adyen Payments API, replicates the same interface as the Adyen library.

https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#embedded-stub ⧉

Implements the following Nullable patterns: - Output tracking: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#output-tracking ⧉ - Configurable responses: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#configurable-responses ⧉

Source code in shared/services/payment_providers/adyen/clients/adyen_payments_api_client.py
def __init__(
    self,
    track_requests: list[tuple[str, dict, dict]] | None = None,  # type: ignore[type-arg]
    responses: list[tuple[int, dict]] | None = None,  # type: ignore[type-arg]
) -> None:
    self.track_requests = track_requests
    self.responses = responses
payments
payments(request, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_payments_api_client.py
def payments(
    self,
    request: dict[str, Any],
    idempotency_key: str | None = None,  # noqa: ARG002
    **kwargs: Any,  # noqa: ARG002
) -> "AdyenResult":
    import random
    import string

    if self.responses is not None and len(self.responses) > 0:
        status_code, data = self.responses.pop(0)
    else:
        status_code = 200

        random_id = "".join(
            random.choices(  # noqa: S311  # for testing purposes
                string.ascii_uppercase + string.digits, k=25
            )
        )

        data = {
            "amount": request.get("amount", {"value": 100, "currency": "EUR"}),
            "resultCode": "Authorised",
            "pspReference": random_id,
            "paymentMethod": {"type": "sepadirectdebit", "brand": None},
            "additionalData": {
                "sepadirectdebit.mandateId": random_id,
                "sepadirectdebit.sequenceType": "OneOff",
                "sepadirectdebit.dateOfSignature": "2025-11-10",
            },
            "merchantReference": request.get("reference", "Merchant-reference"),
        }

    return self._simulate_request(  # type: ignore[no-untyped-call]
        "payments", request, data, status_code
    )
responses instance-attribute
responses = responses
track_requests instance-attribute
track_requests = track_requests
api instance-attribute
api = api
create classmethod
create()
Source code in shared/services/payment_providers/adyen/clients/adyen_payments_api_client.py
@classmethod
def create(cls) -> "AdyenPaymentsApiClient":
    from shared.helpers.env import is_test_mode, json_secret_from_config

    if is_test_mode() or is_development_mode():
        return cls.create_null()

    credentials = json_secret_from_config(
        config_key=API_CREDENTIALS_CONFIG_KEY,
        default_secret_value=current_config.get(API_CREDENTIALS_DEFAULT_KEY),
    )
    if credentials is None:
        raise AdyenClientMissingCredentialsException()

    from Adyen.client import AdyenClient
    from Adyen.services.checkout.payments_api import PaymentsApi

    client = AdyenClient(
        xapikey=credentials["api_key"],
        platform=credentials["platform"],
        live_endpoint_prefix=credentials.get("prefix"),
    )
    return cls(PaymentsApi(client))
create_null classmethod
create_null(track_requests=None, responses=None)

Null factory

Source code in shared/services/payment_providers/adyen/clients/adyen_payments_api_client.py
@classmethod
def create_null(
    cls,
    track_requests: list[tuple[str, dict, dict]] | None = None,  # type: ignore[type-arg]
    responses: list[tuple[int, dict]] | None = None,  # type: ignore[type-arg]
) -> "AdyenPaymentsApiClient":
    """Null factory"""
    return cls(
        cls.StubbedApi(
            track_requests=track_requests,
            responses=responses,
        )
    )
payments
payments(request, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_payments_api_client.py
def payments(
    self,
    request: "PaymentRequest",
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "PaymentResponse":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.checkout_service_v71 import (
        PaymentResponse,
    )

    try:
        result = self.api.payments(
            request.model_dump(exclude_unset=True),
            idempotency_key,
            **kwargs,
        )
        return PaymentResponse.model_validate(result.message)
    except AdyenError:
        raise

AdyenPaymentsApiProtocol

Bases: Protocol

payments
payments(request, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_payments_api_client.py
def payments(
    self,
    request: dict[str, Any],
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AdyenResult": ...

adyen_transaction_rules_api_client

API_CREDENTIALS_CONFIG_KEY module-attribute

API_CREDENTIALS_CONFIG_KEY = (
    "ADYEN_BALANCE_PLATFORM_API_CREDENTIALS_SECRET_NAME"
)

API_CREDENTIALS_DEFAULT_KEY module-attribute

API_CREDENTIALS_DEFAULT_KEY = (
    "ADYEN_BALANCE_PLATFORM_API_CREDENTIALS"
)

AdyenTransactionRulesApiClient

AdyenTransactionRulesApiClient(api)

This class wraps the Adyen Python library and provides a single point of entry for all Adyen Transaction Rules API calls.

It also provides better typing over the raw API using the OpenAPI generated models, which rely on Pydantic for validation.

This API requires the Balance Platform BCL role.

Implements the following Nullable patterns: - Nullables: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#nullables ⧉ - Parameterless instantiation: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#instantiation ⧉ - Thin wrapper: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#thin-wrapper ⧉ - Embedded stub: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#embedded-stub ⧉

See also
Tags
Source code in shared/services/payment_providers/adyen/clients/adyen_transaction_rules_api_client.py
def __init__(self, api: "TransactionRulesApi") -> None:
    self.api = api
StubbedApi
StubbedApi(track_requests=None, responses=None)

Bases: AdyenTransactionRulesApiProtocol

Embedded stub for Adyen Payment Instruments API, replicates the same interface as the Adyen library.

https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#embedded-stub ⧉

Implements the following Nullable patterns: - Output tracking: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#output-tracking ⧉ - Configurable responses: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#configurable-responses ⧉

Source code in shared/services/payment_providers/adyen/clients/adyen_transaction_rules_api_client.py
def __init__(
    self,
    track_requests: list[tuple[str, dict[str, Any], dict[str, Any]]]
    | None = None,
    responses: list[tuple[int, dict[str, Any]]] | None = None,
) -> None:
    self.track_requests = track_requests
    self.responses = responses
create_transaction_rule
create_transaction_rule(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_transaction_rules_api_client.py
def create_transaction_rule(
    self,
    request: dict[str, Any],
    idempotency_key: str | None = None,  # noqa: ARG002
    **kwargs: Any,  # noqa: ARG002
) -> "AdyenResult":
    import random
    import string
    from datetime import UTC, datetime

    if self.responses is not None and len(self.responses) > 0:
        status_code, data = self.responses.pop(0)
    else:
        status_code = 200

        # Generate random ID
        id = "".join(
            random.choices(  # noqa: S311  # for testing purposes
                string.ascii_uppercase + string.digits, k=25
            )
        )

        # Return request data + the fields we expect from Adyen and that we use in our code
        data = request.copy()
        data["id"] = id
        if data["status"] == "active" and not data["startDate"]:
            # Adyen will set the startDate on active rules if not provided
            data["startDate"] = datetime.now(tz=UTC).isoformat()

    return self._simulate_request(
        "create_transaction_rule", request, data, status_code
    )
delete_transaction_rule
delete_transaction_rule(id, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_transaction_rules_api_client.py
def delete_transaction_rule(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "AdyenResult":
    raise NotImplementedError("TODO")
get_transaction_rule
get_transaction_rule(id, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_transaction_rules_api_client.py
def get_transaction_rule(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "AdyenResult":
    raise NotImplementedError("TODO")
responses instance-attribute
responses = responses
track_requests instance-attribute
track_requests = track_requests
update_transaction_rule
update_transaction_rule(
    request, id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_transaction_rules_api_client.py
def update_transaction_rule(
    self,
    request: dict[str, Any],
    id: str,
    idempotency_key: str | None = None,  # noqa: ARG002
    **kwargs: Any,  # noqa: ARG002
) -> "AdyenResult":
    if self.responses is not None and len(self.responses) > 0:
        status_code, data = self.responses.pop(0)
    else:
        status_code = 200

        # Return request data + the fields we expect from Adyen and that we use in our code + the fields required by the API validators
        data = request.copy()
        data["id"] = id

    return self._simulate_request(
        "update_transaction_rule", request, data, status_code
    )
api instance-attribute
api = api
create classmethod
create()
Source code in shared/services/payment_providers/adyen/clients/adyen_transaction_rules_api_client.py
@classmethod
def create(cls) -> "AdyenTransactionRulesApiClient":
    from shared.helpers.env import (
        is_development_mode,
        is_test_mode,
        json_secret_from_config,
    )

    if is_test_mode() or is_development_mode():
        return cls.create_null()

    credentials = json_secret_from_config(
        config_key=API_CREDENTIALS_CONFIG_KEY,
        default_secret_value=current_config.get(API_CREDENTIALS_DEFAULT_KEY),
    )
    if credentials is None:
        raise AdyenClientMissingCredentialsException()

    from Adyen.client import AdyenClient
    from Adyen.services.balancePlatform.transaction_rules_api import (
        TransactionRulesApi,
    )

    client = AdyenClient(
        xapikey=credentials["api_key"], platform=credentials["platform"]
    )
    return cls(TransactionRulesApi(client))
create_null classmethod
create_null(track_requests=None, responses=None)
Source code in shared/services/payment_providers/adyen/clients/adyen_transaction_rules_api_client.py
@classmethod
def create_null(
    cls,
    track_requests: list[tuple[str, dict[str, Any], dict[str, Any]]] | None = None,
    responses: list[tuple[int, dict[str, Any]]] | None = None,
) -> "AdyenTransactionRulesApiClient":
    return cls(cls.StubbedApi(track_requests, responses))
create_transaction_rule
create_transaction_rule(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_transaction_rules_api_client.py
def create_transaction_rule(
    self,
    request: "TransactionRuleInfo",
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "TransactionRule":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.balance_platform_service_v2 import (
        TransactionRule,
    )

    try:
        result = self.api.create_transaction_rule(
            request.model_dump(),
            idempotency_key,
            **kwargs,
        )
        return TransactionRule.model_validate(result.message)
    except AdyenError:
        # TODO handle error
        raise
delete_transaction_rule
delete_transaction_rule(id, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_transaction_rules_api_client.py
def delete_transaction_rule(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "TransactionRule":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.balance_platform_service_v2 import (
        TransactionRule,
    )

    try:
        result = self.api.delete_transaction_rule(id, idempotency_key, **kwargs)
        return TransactionRule.model_validate(result.message)
    except AdyenError:
        # TODO handle error
        raise
get_transaction_rule
get_transaction_rule(id, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_transaction_rules_api_client.py
def get_transaction_rule(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "TransactionRuleResponse":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.balance_platform_service_v2 import (
        TransactionRuleResponse,
    )

    try:
        result = self.api.get_transaction_rule(id, idempotency_key, **kwargs)
        return TransactionRuleResponse.model_validate(result.message)
    except AdyenError:
        # TODO handle error
        raise
update_transaction_rule
update_transaction_rule(
    id, request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_transaction_rules_api_client.py
def update_transaction_rule(
    self,
    id: str,
    request: "TransactionRuleInfo",
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "TransactionRule":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.balance_platform_service_v2 import (
        TransactionRule,
    )

    try:
        result = self.api.update_transaction_rule(
            request.model_dump(exclude_unset=True),
            id,
            idempotency_key,
            **kwargs,
        )
        return TransactionRule.model_validate(result.message)
    except AdyenError:
        # TODO handle error
        raise

AdyenTransactionRulesApiProtocol

Bases: Protocol

create_transaction_rule
create_transaction_rule(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_transaction_rules_api_client.py
def create_transaction_rule(
    self, request: dict[str, Any], idempotency_key: str | None = None, **kwargs: Any
) -> "AdyenResult": ...
delete_transaction_rule
delete_transaction_rule(id, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_transaction_rules_api_client.py
def delete_transaction_rule(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "AdyenResult": ...
get_transaction_rule
get_transaction_rule(id, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_transaction_rules_api_client.py
def get_transaction_rule(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "AdyenResult": ...
update_transaction_rule
update_transaction_rule(
    request, id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_transaction_rules_api_client.py
def update_transaction_rule(
    self,
    request: dict[str, Any],
    id: str,
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AdyenResult": ...

adyen_transfer_instruments_api_client

AdyenTransferInstrumentsApiClient

AdyenTransferInstrumentsApiClient(api)

This class wraps the Adyen Python library and provides a single point of entry for all Adyen Transfer Instruments API calls.

It also provides better typing over the raw API using the OpenAPI generated models, which rely on Pydantic for validation.

This API requires the appropriate KYC roles. TODO clarify this

Implements the following Nullable patterns: - Nullables: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#nullables ⧉ - Parameterless instantiation: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#instantiation ⧉ - Thin wrapper: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#thin-wrapper ⧉ - Embedded stub: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#embedded-stub ⧉

See also
Tags
Source code in shared/services/payment_providers/adyen/clients/adyen_transfer_instruments_api_client.py
def __init__(self, api: "TransferInstrumentsApi") -> None:
    self.api = api
StubbedApi

Bases: AdyenTransferInstrumentsApiProtocol

create_transfer_instrument
create_transfer_instrument(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_transfer_instruments_api_client.py
def create_transfer_instrument(
    self,
    request: dict[str, Any],
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AdyenResult":
    raise NotImplementedError("TODO")
delete_transfer_instrument
delete_transfer_instrument(
    id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_transfer_instruments_api_client.py
def delete_transfer_instrument(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "AdyenResult":
    raise NotImplementedError("TODO")
get_transfer_instrument
get_transfer_instrument(id, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_transfer_instruments_api_client.py
def get_transfer_instrument(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "AdyenResult":
    raise NotImplementedError("TODO")
update_transfer_instrument
update_transfer_instrument(
    request, id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_transfer_instruments_api_client.py
def update_transfer_instrument(
    self,
    request: dict[str, Any],
    id: str,
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AdyenResult":
    raise NotImplementedError("TODO")
api instance-attribute
api = api
create classmethod
create()
Source code in shared/services/payment_providers/adyen/clients/adyen_transfer_instruments_api_client.py
@classmethod
def create(cls) -> "AdyenTransferInstrumentsApiClient":
    from shared.helpers.env import is_development_mode, is_test_mode

    if is_test_mode() or is_development_mode():
        return cls.create_null()

    # TODO create the credentials if we need to use this client
    """
    ```python
    from Adyen.client import AdyenClient
    from Adyen.services.legalEntityManagement.transfer_instruments_api import (
        TransferInstrumentsApi,
    )

    client = AdyenClient(xapikey="TODO config", platform="TODO config")
    return cls(TransferInstrumentsApi(client))
    ```
    """

    raise AdyenClientMissingCredentialsException()
create_null classmethod
create_null()
Source code in shared/services/payment_providers/adyen/clients/adyen_transfer_instruments_api_client.py
@classmethod
def create_null(cls) -> "AdyenTransferInstrumentsApiClient":
    return cls(cls.StubbedApi())
create_transfer_instrument
create_transfer_instrument(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_transfer_instruments_api_client.py
def create_transfer_instrument(
    self,
    request: "TransferInstrumentInfo",
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "TransferInstrument":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.legal_entity_service_v3 import (
        TransferInstrument,
    )

    try:
        result = self.api.create_transfer_instrument(
            request.model_dump(),
            idempotency_key,
            **kwargs,
        )
        return TransferInstrument.model_validate(result.message)
    except AdyenError:
        # TODO handle error
        raise
delete_transfer_instrument
delete_transfer_instrument(
    id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_transfer_instruments_api_client.py
def delete_transfer_instrument(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> None:
    from Adyen.exceptions import AdyenError

    try:
        self.api.delete_transfer_instrument(id, idempotency_key, **kwargs)
    except AdyenError:
        # TODO handle error
        raise
get_transfer_instrument
get_transfer_instrument(id, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_transfer_instruments_api_client.py
def get_transfer_instrument(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "TransferInstrument":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.legal_entity_service_v3 import (
        TransferInstrument,
    )

    try:
        result = self.api.get_transfer_instrument(id, idempotency_key, **kwargs)
        return TransferInstrument.model_validate(result.message)
    except AdyenError:
        # TODO handle error
        raise
update_transfer_instrument
update_transfer_instrument(
    id, request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_transfer_instruments_api_client.py
def update_transfer_instrument(
    self,
    id: str,
    request: "TransferInstrumentInfo",
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "TransferInstrument":
    from Adyen.exceptions import AdyenError

    from shared.services.payment_providers.adyen.openapi.legal_entity_service_v3 import (
        TransferInstrument,
    )

    try:
        result = self.api.update_transfer_instrument(
            request.model_dump(exclude_unset=True),
            id,
            idempotency_key,
            **kwargs,
        )
        return TransferInstrument.model_validate(result.message)
    except AdyenError:
        # TODO handle error
        raise

AdyenTransferInstrumentsApiProtocol

Bases: Protocol

create_transfer_instrument
create_transfer_instrument(
    request, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_transfer_instruments_api_client.py
def create_transfer_instrument(
    self,
    request: dict[str, Any],
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AdyenResult": ...
delete_transfer_instrument
delete_transfer_instrument(
    id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_transfer_instruments_api_client.py
def delete_transfer_instrument(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "AdyenResult": ...
get_transfer_instrument
get_transfer_instrument(id, idempotency_key=None, **kwargs)
Source code in shared/services/payment_providers/adyen/clients/adyen_transfer_instruments_api_client.py
def get_transfer_instrument(
    self, id: str, idempotency_key: str | None = None, **kwargs: Any
) -> "AdyenResult": ...
update_transfer_instrument
update_transfer_instrument(
    request, id, idempotency_key=None, **kwargs
)
Source code in shared/services/payment_providers/adyen/clients/adyen_transfer_instruments_api_client.py
def update_transfer_instrument(
    self,
    request: dict[str, Any],
    id: str,
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> "AdyenResult": ...

exceptions

AdyenClientException

Bases: Exception

Base class for all Adyen client exceptions.

AdyenClientMissingCredentialsException

Bases: AdyenClientException

Exception raised when a Adyen client is missing credentials.

shared.services.payment_providers.adyen.openapi

balance_platform_configuration_notification_v1

AccountHolder dataclass

AccountHolder(
    id,
    legalEntityId,
    balancePlatform=None,
    capabilities=None,
    contactDetails=None,
    description=None,
    metadata=None,
    migratedAccountHolderCode=None,
    primaryBalanceAccount=None,
    reference=None,
    status=None,
    timeZone=None,
    verificationDeadlines=None,
)

Bases: DataClassJsonMixin

balancePlatform class-attribute instance-attribute
balancePlatform = None

The unique identifier of the balance platform ⧉ to which the account holder belongs. Required in the request if your API credentials can be used for multiple balance platforms.

capabilities class-attribute instance-attribute
capabilities = None

Contains key-value pairs that specify the actions that an account holder can do in your platform. The key is a capability required for your integration. For example, issueCard for Issuing. The value is an object containing the settings for the capability.

contactDetails class-attribute instance-attribute
contactDetails = None

Contact details of the account holder.

description class-attribute instance-attribute
description = None

Your description for the account holder, maximum 300 characters.

id instance-attribute
id

The unique identifier of the account holder.

legalEntityId instance-attribute
legalEntityId

The unique identifier of the legal entity ⧉ associated with the account holder. Adyen performs a verification process against the legal entity of the account holder.

metadata class-attribute instance-attribute
metadata = None

A set of key and value pairs for general use. The keys do not have specific names and may be used for storing miscellaneous data as desired.

Note that during an update of metadata, the omission of existing key-value pairs will result in the deletion of those key-value pairs.

migratedAccountHolderCode class-attribute instance-attribute
migratedAccountHolderCode = None

The unique identifier of the migrated account holder in the classic integration.

primaryBalanceAccount class-attribute instance-attribute
primaryBalanceAccount = None

The ID of the account holder's primary balance account. By default, this is set to the first balance account that you create for the account holder. To assign a different balance account, send a PATCH request.

reference class-attribute instance-attribute
reference = None

Your reference for the account holder, maximum 150 characters.

status class-attribute instance-attribute
status = None

The status of the account holder.

Possible values:

  • Active: The account holder is active. This is the default status when creating an account holder.

  • Inactive (Deprecated): The account holder is temporarily inactive due to missing KYC details. You can set the account back to active by providing the missing KYC details.

  • Suspended: The account holder is permanently deactivated by Adyen. This action cannot be undone.

  • Closed: The account holder is permanently deactivated by you. This action cannot be undone.

timeZone class-attribute instance-attribute
timeZone = None

The time zone of the account holder. For example, Europe/Amsterdam. Defaults to the time zone of the balance platform if no time zone is set. For possible values, see the list of time zone codes ⧉.

verificationDeadlines class-attribute instance-attribute
verificationDeadlines = None

List of verification deadlines and the capabilities that will be disallowed if verification errors are not resolved.

AccountHolderCapability dataclass

AccountHolderCapability(
    allowed=None,
    allowedLevel=None,
    allowedSettings=None,
    enabled=None,
    problems=None,
    requested=None,
    requestedLevel=None,
    requestedSettings=None,
    transferInstruments=None,
    verificationStatus=None,
)

Bases: DataClassJsonMixin

allowed class-attribute instance-attribute
allowed = None

Indicates whether the capability is allowed. Adyen sets this to true if the verification is successful and the account holder is permitted to use the capability.

allowedLevel class-attribute instance-attribute
allowedLevel = None

The capability level that is allowed for the account holder.

Possible values: notApplicable, low, medium, high.

allowedSettings class-attribute instance-attribute
allowedSettings = None

A JSON object containing the settings that are allowed for the account holder.

enabled class-attribute instance-attribute
enabled = None

Indicates whether the capability is enabled. If false, the capability is temporarily disabled for the account holder.

problems class-attribute instance-attribute
problems = None

Contains verification errors and the actions that you can take to resolve them.

requested class-attribute instance-attribute
requested = None

Indicates whether the capability is requested. To check whether the account holder is permitted to use the capability, refer to the allowed field.

requestedLevel class-attribute instance-attribute
requestedLevel = None

The requested level of the capability. Some capabilities, such as those used in card issuing ⧉, have different levels. Levels increase the capability, but also require additional checks and increased monitoring.

Possible values: notApplicable, low, medium, high.

requestedSettings class-attribute instance-attribute
requestedSettings = None

A JSON object containing the settings that were requested for the account holder.

transferInstruments class-attribute instance-attribute
transferInstruments = None

Contains the status of the transfer instruments associated with this capability.

verificationStatus class-attribute instance-attribute
verificationStatus = None

The status of the verification checks for the capability.

Possible values:

  • pending: Adyen is running the verification.

  • invalid: The verification failed. Check if the errors array contains more information.

  • valid: The verification has been successfully completed.

  • rejected: Adyen has verified the information, but found reasons to not allow the capability.

AccountHolderNotificationData dataclass

AccountHolderNotificationData(
    accountHolder=None, balancePlatform=None
)

Bases: DataClassJsonMixin

accountHolder class-attribute instance-attribute
accountHolder = None

Contains information about the account holder resource that triggered the event.

balancePlatform class-attribute instance-attribute
balancePlatform = None

The unique identifier of the balance platform.

AccountHolderNotificationRequest dataclass

AccountHolderNotificationRequest(data, environment, type)

Bases: DataClassJsonMixin

data instance-attribute
data

Contains event details.

environment instance-attribute
environment

The environment from which the webhook originated.

Possible values: test, live.

type instance-attribute
type

Type of webhook.

AccountSupportingEntityCapability dataclass

AccountSupportingEntityCapability(
    allowed=None,
    allowedLevel=None,
    enabled=None,
    id=None,
    requested=None,
    requestedLevel=None,
    verificationStatus=None,
)

Bases: DataClassJsonMixin

allowed class-attribute instance-attribute
allowed = None

Indicates whether the supporting entity capability is allowed. Adyen sets this to true if the verification is successful and the account holder is permitted to use the capability.

allowedLevel class-attribute instance-attribute
allowedLevel = None

The capability level that is allowed for the account holder.

Possible values: notApplicable, low, medium, high.

enabled class-attribute instance-attribute
enabled = None

Indicates whether the capability is enabled. If false, the capability is temporarily disabled for the account holder.

id class-attribute instance-attribute
id = None

The ID of the supporting entity.

requested class-attribute instance-attribute
requested = None

Indicates whether the capability is requested. To check whether the account holder is permitted to use the capability, refer to the allowed field.

requestedLevel class-attribute instance-attribute
requestedLevel = None

The requested level of the capability. Some capabilities, such as those used in card issuing ⧉, have different levels. Levels increase the capability, but also require additional checks and increased monitoring.

Possible values: notApplicable, low, medium, high.

verificationStatus class-attribute instance-attribute
verificationStatus = None

The status of the verification checks for the supporting entity capability.

Possible values:

  • pending: Adyen is running the verification.

  • invalid: The verification failed. Check if the errors array contains more information.

  • valid: The verification has been successfully completed.

  • rejected: Adyen has verified the information, but found reasons to not allow the capability.

Address dataclass

Address(
    city,
    country,
    houseNumberOrName,
    postalCode,
    street,
    stateOrProvince=None,
)

Bases: DataClassJsonMixin

city instance-attribute
city

The name of the city. Maximum length: 3000 characters.

country instance-attribute
country

The two-character ISO-3166-1 alpha-2 country code. For example, US.

If you don't know the country or are not collecting the country from the shopper, provide country as ZZ.

houseNumberOrName instance-attribute
houseNumberOrName

The number or name of the house. Maximum length: 3000 characters.

postalCode instance-attribute
postalCode

A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries.

stateOrProvince class-attribute instance-attribute
stateOrProvince = None

The two-character ISO 3166-2 state or province code. For example, CA in the US or ON in Canada.

Required for the US and Canada.

street instance-attribute
street

The name of the street. Maximum length: 3000 characters.

The house number should not be included in this field; it should be separately provided via houseNumberOrName.

Amount dataclass

Amount(currency, value)

Bases: DataClassJsonMixin

currency instance-attribute
currency

The three-character ISO currency code ⧉.

value instance-attribute
value

The amount of the transaction, in minor units ⧉.

Authentication dataclass

Authentication(email=None, password=None, phone=None)

Bases: DataClassJsonMixin

email class-attribute instance-attribute
email = None

The email address where the one-time password (OTP) is sent.

password class-attribute instance-attribute
password = None

The password used for 3D Secure password-based authentication. The value must be between 1 to 30 characters and must only contain the following supported characters.

  • Characters between a-z, A-Z, and 0-9

  • Special characters: äöüßÄÖÜ+-*/ç%()=?!~#'",;:$&àùòâôûáúó

phone class-attribute instance-attribute
phone = None

The phone number where the one-time password (OTP) is sent.

This object must have:

  • A type set to mobile.

  • A number with a valid country code.

  • A number with more than 4 digits, excluding the country code.

Make sure to verify that the card user owns the phone number.

Balance dataclass

Balance(
    available, balance, currency, reserved, pending=None
)

Bases: DataClassJsonMixin

available instance-attribute
available

The remaining amount available for spending.

balance instance-attribute
balance

The total amount in the balance.

currency instance-attribute
currency

The three-character ISO currency code ⧉ of the balance.

pending class-attribute instance-attribute
pending = None

The amount pending to be paid out but not yet available in the balance.

reserved instance-attribute
reserved

The amount reserved for payments that have been authorised, but have not been captured yet.

BalanceAccount dataclass

BalanceAccount(
    accountHolderId,
    id,
    balances=None,
    defaultCurrencyCode=None,
    description=None,
    metadata=None,
    migratedAccountCode=None,
    paymentInstruments=None,
    platformPaymentConfiguration=None,
    reference=None,
    status=None,
    timeZone=None,
)

Bases: DataClassJsonMixin

accountHolderId instance-attribute
accountHolderId

The unique identifier of the account holder ⧉ associated with the balance account.

balances class-attribute instance-attribute
balances = None

List of balances with the amount and currency.

defaultCurrencyCode class-attribute instance-attribute
defaultCurrencyCode = None

The default three-character ISO currency code ⧉ of the balance account. The default value is EUR.

After a balance account is created, you cannot change its default currency.

description class-attribute instance-attribute
description = None

A human-readable description of the balance account, maximum 300 characters. You can use this parameter to distinguish between multiple balance accounts under an account holder.

id instance-attribute
id

The unique identifier of the balance account.

metadata class-attribute instance-attribute
metadata = None

A set of key and value pairs for general use. The keys do not have specific names and may be used for storing miscellaneous data as desired.

Note that during an update of metadata, the omission of existing key-value pairs will result in the deletion of those key-value pairs.

migratedAccountCode class-attribute instance-attribute
migratedAccountCode = None

The unique identifier of the account of the migrated account holder in the classic integration.

paymentInstruments class-attribute instance-attribute
paymentInstruments = None

List of payment instruments ⧉ associated with the balance account.

platformPaymentConfiguration class-attribute instance-attribute
platformPaymentConfiguration = None

Contains key-value pairs to the configure the settlement model in a balance account.

reference class-attribute instance-attribute
reference = None

Your reference for the balance account, maximum 150 characters.

status class-attribute instance-attribute
status = None

The status of the balance account, set to Active by default.

timeZone class-attribute instance-attribute
timeZone = None

The time zone of the balance account. For example, Europe/Amsterdam. Defaults to the time zone of the account holder if no time zone is set. For possible values, see the list of time zone codes ⧉.

BalanceAccountNotificationData dataclass

BalanceAccountNotificationData(
    balanceAccount=None, balancePlatform=None
)

Bases: DataClassJsonMixin

balanceAccount class-attribute instance-attribute
balanceAccount = None
balancePlatform class-attribute instance-attribute
balancePlatform = None

The unique identifier of the balance platform.

BalanceAccountNotificationRequest dataclass

BalanceAccountNotificationRequest(data, environment, type)

Bases: DataClassJsonMixin

data instance-attribute
data

Contains event details.

environment instance-attribute
environment

The environment from which the webhook originated.

Possible values: test, live.

type instance-attribute
type

Type of webhook.

BalancePlatformNotificationResponse dataclass

BalancePlatformNotificationResponse(
    notificationResponse=None,
)

Bases: DataClassJsonMixin

notificationResponse class-attribute instance-attribute
notificationResponse = None

Respond with HTTP 200 OK and [accepted] in the response body to accept the webhook ⧉.

BulkAddress dataclass

BulkAddress(
    country,
    city=None,
    company=None,
    email=None,
    houseNumberOrName=None,
    mobile=None,
    postalCode=None,
    stateOrProvince=None,
    street=None,
)

Bases: DataClassJsonMixin

city class-attribute instance-attribute
city = None

The name of the city.

company class-attribute instance-attribute
company = None

The name of the company.

country instance-attribute
country

The two-character ISO-3166-1 alpha-2 country code. For example, US.

email class-attribute instance-attribute
email = None

The email address.

houseNumberOrName class-attribute instance-attribute
houseNumberOrName = None

The house number or name.

mobile class-attribute instance-attribute
mobile = None

The full telephone number.

postalCode class-attribute instance-attribute
postalCode = None

The postal code.

Maximum length:

  • 5 digits for addresses in the US.

  • 10 characters for all other countries.

stateOrProvince class-attribute instance-attribute
stateOrProvince = None

The two-letter ISO 3166-2 state or province code.

Maximum length: 2 characters for addresses in the US.

street class-attribute instance-attribute
street = None

The streetname of the house.

CapabilityProblem dataclass

CapabilityProblem(entity=None, verificationErrors=None)

Bases: DataClassJsonMixin

entity class-attribute instance-attribute
entity = None

Contains the type of the entity and the corresponding ID.

verificationErrors class-attribute instance-attribute
verificationErrors = None

Contains information about the verification error.

CapabilityProblemEntity dataclass

CapabilityProblemEntity(
    documents=None, id=None, owner=None, type=None
)

Bases: DataClassJsonMixin

documents class-attribute instance-attribute
documents = None

List of document IDs to which the verification errors related to the capabilities correspond to.

id class-attribute instance-attribute
id = None

The ID of the entity.

owner class-attribute instance-attribute
owner = None

Contains details about the owner of the entity that has an error.

type class-attribute instance-attribute
type = None

Type of entity.

Possible values: LegalEntity, BankAccount, Document.

CapabilityProblemEntityRecursive dataclass

CapabilityProblemEntityRecursive(
    documents=None, id=None, type=None
)

Bases: DataClassJsonMixin

documents class-attribute instance-attribute
documents = None

List of document IDs to which the verification errors related to the capabilities correspond to.

id class-attribute instance-attribute
id = None

The ID of the entity.

type class-attribute instance-attribute
type = None

Type of entity.

Possible values: LegalEntity, BankAccount, Document.

CapabilitySettings dataclass

CapabilitySettings(
    amountPerIndustry=None,
    authorizedCardUsers=None,
    fundingSource=None,
    interval=None,
    maxAmount=None,
)

Bases: DataClassJsonMixin

amountPerIndustry class-attribute instance-attribute
amountPerIndustry = None
authorizedCardUsers class-attribute instance-attribute
authorizedCardUsers = None
fundingSource class-attribute instance-attribute
fundingSource = None
interval class-attribute instance-attribute
interval = None
maxAmount class-attribute instance-attribute
maxAmount = None

Card dataclass

Card(
    brand,
    brandVariant,
    cardholderName,
    formFactor,
    number,
    authentication=None,
    bin=None,
    configuration=None,
    cvc=None,
    deliveryContact=None,
    expiration=None,
    lastFour=None,
    threeDSecure=None,
)

Bases: DataClassJsonMixin

authentication class-attribute instance-attribute
authentication = None

Contains the card user's password and mobile phone number. This is required when you issue cards that can be used to make online payments within the EEA and the UK, or can be added to digital wallets. Refer to 3D Secure and digital wallets ⧉ for more information.

bin class-attribute instance-attribute
bin = None

The bank identification number (BIN) of the card number.

brand instance-attribute
brand

The brand of the physical or the virtual card. Possible values: visa, mc.

brandVariant instance-attribute
brandVariant

The brand variant of the physical or the virtual card. For example, visadebit or mcprepaid.

Reach out to your Adyen contact to get the values relevant for your integration.

cardholderName instance-attribute
cardholderName

The name of the cardholder. Maximum length: 26 characters.

configuration class-attribute instance-attribute
configuration = None

Settings required when creating a physical or a virtual card.

Reach out to your Adyen contact to get the values that you can send in this object.

cvc class-attribute instance-attribute
cvc = None

The CVC2 value of the card.

The CVC2 is not sent by default. This is only returned in the POST response for single-use virtual cards.

deliveryContact class-attribute instance-attribute
deliveryContact = None

The delivery contact (name and address) for physical card delivery.

expiration class-attribute instance-attribute
expiration = None

The expiration date of the card.

formFactor instance-attribute
formFactor

The form factor of the card. Possible values: virtual, physical.

lastFour class-attribute instance-attribute
lastFour = None

Last last four digits of the card number.

number instance-attribute
number

The primary account number (PAN) of the card.

The PAN is masked by default and returned only for single-use virtual cards.

threeDSecure class-attribute instance-attribute
threeDSecure = None

Allocates a specific product range for either a physical or a virtual card. Possible values: fullySupported, secureCorporate.

Reach out to your Adyen contact to get the values relevant for your integration.

CardConfiguration dataclass

CardConfiguration(
    configurationProfileId,
    activation=None,
    activationUrl=None,
    bulkAddress=None,
    cardImageId=None,
    carrier=None,
    carrierImageId=None,
    currency=None,
    envelope=None,
    insert=None,
    language=None,
    logoImageId=None,
    pinMailer=None,
    shipmentMethod=None,
)

Bases: DataClassJsonMixin

activation class-attribute instance-attribute
activation = None

Overrides the activation label design ID defined in the configurationProfileId. The activation label is attached to the card and contains the activation instructions.

activationUrl class-attribute instance-attribute
activationUrl = None

Your app's URL, if you want to activate cards through your app. For example, my-app://ref1236a7d. A QR code is created based on this URL, and is included in the carrier. Before you use this field, reach out to your Adyen contact to set up the QR code process.

Maximum length: 255 characters.

bulkAddress class-attribute instance-attribute
bulkAddress = None

Overrides the shipment bulk address defined in the configurationProfileId.

cardImageId class-attribute instance-attribute
cardImageId = None

The ID of the card image. This is the image that will be printed on the full front of the card.

carrier class-attribute instance-attribute
carrier = None

Overrides the carrier design ID defined in the configurationProfileId. The carrier is the letter or packaging to which the card is attached.

carrierImageId class-attribute instance-attribute
carrierImageId = None

The ID of the carrier image. This is the image that will printed on the letter to which the card is attached.

configurationProfileId instance-attribute
configurationProfileId

The ID of the card configuration profile that contains the settings of the card. For example, the envelope and PIN mailer designs or the logistics company handling the shipment. All the settings in the profile are applied to the card, unless you provide other fields to override them.

For example, send the shipmentMethod to override the logistics company defined in the card configuration profile.

currency class-attribute instance-attribute
currency = None

The three-letter ISO-4217 ⧉ currency code of the card. For example, EUR.

envelope class-attribute instance-attribute
envelope = None

Overrides the envelope design ID defined in the configurationProfileId.

insert class-attribute instance-attribute
insert = None

Overrides the insert design ID defined in the configurationProfileId. An insert is any additional material, such as marketing materials, that are shipped together with the card.

language class-attribute instance-attribute
language = None

The two-letter ISO-639-1 ⧉ language code of the card. For example, en.

logoImageId class-attribute instance-attribute
logoImageId = None

The ID of the logo image. This is the image that will be printed on the partial front of the card, such as a logo on the upper right corner.

pinMailer class-attribute instance-attribute
pinMailer = None

Overrides the PIN mailer design ID defined in the configurationProfileId. The PIN mailer is the letter on which the PIN is printed.

shipmentMethod class-attribute instance-attribute
shipmentMethod = None

Overrides the logistics company defined in the configurationProfileId.

CardOrderItem dataclass

CardOrderItem(
    balancePlatform=None,
    card=None,
    cardOrderItemId=None,
    creationDate=None,
    id=None,
    paymentInstrumentId=None,
    pin=None,
    shippingMethod=None,
)

Bases: DataClassJsonMixin

balancePlatform class-attribute instance-attribute
balancePlatform = None

The unique identifier of the balance platform.

card class-attribute instance-attribute
card = None

Card delivery status.

cardOrderItemId class-attribute instance-attribute
cardOrderItemId = None

The unique identifier of the card order item.

creationDate class-attribute instance-attribute
creationDate = None

The date and time when the event was triggered, in ISO 8601 extended format. For example, 2020-12-18T10:15:30+01:00.

id class-attribute instance-attribute
id = None

The ID of the resource.

paymentInstrumentId class-attribute instance-attribute
paymentInstrumentId = None

The unique identifier of the payment instrument related to the card order item.

pin class-attribute instance-attribute
pin = None

PIN delivery status.

shippingMethod class-attribute instance-attribute
shippingMethod = None

Shipping method used to deliver the card or the PIN.

CardOrderItemDeliveryStatus dataclass

CardOrderItemDeliveryStatus(
    errorMessage=None, status=None, trackingNumber=None
)

Bases: DataClassJsonMixin

errorMessage class-attribute instance-attribute
errorMessage = None

Error message.

status class-attribute instance-attribute
status = None

Status of the delivery.

trackingNumber class-attribute instance-attribute
trackingNumber = None

Tracking number of the delivery.

CardOrderNotificationRequest dataclass

CardOrderNotificationRequest(data, environment, type)

Bases: DataClassJsonMixin

data instance-attribute
data

Contains event details.

environment instance-attribute
environment

The environment from which the webhook originated.

Possible values: test, live.

type instance-attribute
type

Type of webhook.

Contact dataclass

Contact(
    address=None,
    email=None,
    fullPhoneNumber=None,
    name=None,
    personalData=None,
    phoneNumber=None,
    webAddress=None,
)

Bases: DataClassJsonMixin

address class-attribute instance-attribute
address = None

The address of the contact.

email class-attribute instance-attribute
email = None

The e-mail address of the contact.

fullPhoneNumber class-attribute instance-attribute
fullPhoneNumber = None

The phone number of the contact provided as a single string. It will be handled as a landline phone. Examples: "0031 6 11 22 33 44", "+316/1122-3344", "(0031) 611223344"

name class-attribute instance-attribute
name = None

The name of the contact.

personalData class-attribute instance-attribute
personalData = None

Personal data of the contact.

phoneNumber class-attribute instance-attribute
phoneNumber = None

The phone number of the contact.

webAddress class-attribute instance-attribute
webAddress = None

The URL of the website of the contact.

ContactDetails dataclass

ContactDetails(address, email, phone, webAddress=None)

Bases: DataClassJsonMixin

address instance-attribute
address

The address of the account holder.

email instance-attribute
email

The email address of the account holder.

phone instance-attribute
phone

The phone number of the account holder.

webAddress class-attribute instance-attribute
webAddress = None

The URL of the account holder's website.

Expiry dataclass

Expiry(month=None, year=None)

Bases: DataClassJsonMixin

month class-attribute instance-attribute
month = None

The month in which the card will expire.

year class-attribute instance-attribute
year = None

The year in which the card will expire.

IbanAccountIdentification dataclass

IbanAccountIdentification(iban, type)

Bases: DataClassJsonMixin

iban instance-attribute
iban

The international bank account number as defined in the ISO-13616 ⧉ standard.

type instance-attribute
type

iban

Name dataclass

Name(firstName, lastName)

Bases: DataClassJsonMixin

firstName instance-attribute
firstName

The first name.

lastName instance-attribute
lastName

The last name.

PaymentInstrument dataclass

PaymentInstrument(
    balanceAccountId,
    id,
    issuingCountryCode,
    type,
    bankAccount=None,
    card=None,
    description=None,
    paymentInstrumentGroupId=None,
    reference=None,
    status=None,
)

Bases: DataClassJsonMixin

balanceAccountId instance-attribute
balanceAccountId

The unique identifier of the balance account ⧉ associated with the payment instrument.

bankAccount class-attribute instance-attribute
bankAccount = None

Contains the business account details. Returned when you create a payment instrument with type bankAccount.

card class-attribute instance-attribute
card = None

Contains information about the card payment instrument. Returned when you create a payment instrument with type card.

description class-attribute instance-attribute
description = None

Your description for the payment instrument, maximum 300 characters.

id instance-attribute
id

The unique identifier of the payment instrument.

issuingCountryCode instance-attribute
issuingCountryCode

The two-character ISO 3166-1 alpha-2 ⧉ country code where the payment instrument is issued. For example, NL or US.

paymentInstrumentGroupId class-attribute instance-attribute
paymentInstrumentGroupId = None

The unique identifier of the payment instrument group ⧉ to which the payment instrument belongs.

reference class-attribute instance-attribute
reference = None

Your reference for the payment instrument, maximum 150 characters.

status class-attribute instance-attribute
status = None

The status of the payment instrument. If a status is not specified when creating a payment instrument, it is set to Active by default. However, there can be exceptions for cards based on the card.formFactor and the issuingCountryCode. For example, when issuing physical cards in the US, the default status is Requested.

Possible values:

  • Active: The payment instrument is active and can be used to make payments.

  • Requested: The payment instrument has been requested. This state is applicable for physical cards.

  • Inactive: The payment instrument is inactive and cannot be used to make payments.

  • Suspended: The payment instrument is temporarily suspended and cannot be used to make payments.

  • Closed: The payment instrument is permanently closed. This action cannot be undone.

  • Stolen

  • Lost

type instance-attribute
type

Type of payment instrument.

Possible value: card, bankAccount.

PaymentInstrumentNotificationData dataclass

PaymentInstrumentNotificationData(
    balancePlatform=None, paymentInstrument=None
)

Bases: DataClassJsonMixin

balancePlatform class-attribute instance-attribute
balancePlatform = None

The unique identifier of the balance platform.

paymentInstrument class-attribute instance-attribute
paymentInstrument = None

Contains information about the payment instrument resource that triggered the event.

PaymentInstrumentReference dataclass

PaymentInstrumentReference(id)

Bases: DataClassJsonMixin

id instance-attribute
id

The unique identifier of the payment instrument.

PaymentNotificationRequest dataclass

PaymentNotificationRequest(data, environment, type)

Bases: DataClassJsonMixin

data instance-attribute
data

Contains event details.

environment instance-attribute
environment

The environment from which the webhook originated.

Possible values: test, live.

type instance-attribute
type

Type of webhook.

PersonalData dataclass

PersonalData(
    dateOfBirth=None, idNumber=None, nationality=None
)

Bases: DataClassJsonMixin

dateOfBirth class-attribute instance-attribute
dateOfBirth = None

The date of birth of the person. The date should be in ISO-8601 format yyyy-mm-dd (e.g. 2000-01-31).

idNumber class-attribute instance-attribute
idNumber = None

An ID number of the person.

nationality class-attribute instance-attribute
nationality = None

The nationality of the person represented by a two-character country code.

The permitted country codes are defined in ISO-3166-1 alpha-2 (e.g. 'NL').

Phone dataclass

Phone(number, type)

Bases: DataClassJsonMixin

number instance-attribute
number

The full phone number provided as a single string. For example, "0031 6 11 22 33 44", "+316/1122-3344",

or "(0031) 611223344".

type instance-attribute
type

Type of phone number. Possible values: Landline, Mobile.

PhoneNumber dataclass

PhoneNumber(
    phoneCountryCode=None, phoneNumber=None, phoneType=None
)

Bases: DataClassJsonMixin

phoneCountryCode class-attribute instance-attribute
phoneCountryCode = None

The two-character ISO-3166-1 alpha-2 country code of the phone number. For example, US or NL.

phoneNumber class-attribute instance-attribute
phoneNumber = None

The phone number. The inclusion of the phone number country code is not necessary.

phoneType class-attribute instance-attribute
phoneType = None

The type of the phone number. Possible values: Landline, Mobile, SIP, Fax.

PlatformPaymentConfiguration dataclass

PlatformPaymentConfiguration(
    salesDayClosingTime=None, settlementDelayDays=None
)

Bases: DataClassJsonMixin

salesDayClosingTime class-attribute instance-attribute
salesDayClosingTime = None

Specifies at what time a sales day ⧉ ends.

Possible values: Time in "HH:MM" format. HH ranges from 00 to 07. MM must be 00.

Default value: "00:00".

settlementDelayDays class-attribute instance-attribute
settlementDelayDays = None

Specifies after how many business days the funds in a settlement batch ⧉ are made available.

Possible values: 0 to 10, or null. * Setting this value to an integer enables Sales day settlement ⧉. * Setting this value to null enables Pass-through settlement ⧉.

Default value: null.

RemediatingAction dataclass

RemediatingAction(code=None, message=None)

Bases: DataClassJsonMixin

code class-attribute instance-attribute
code = None

The remediating action code.

message class-attribute instance-attribute
message = None

A description of how you can resolve the verification error.

Resource dataclass

Resource(balancePlatform=None, creationDate=None, id=None)

Bases: DataClassJsonMixin

balancePlatform class-attribute instance-attribute
balancePlatform = None

The unique identifier of the balance platform.

creationDate class-attribute instance-attribute
creationDate = None

The date and time when the event was triggered, in ISO 8601 extended format. For example, 2020-12-18T10:15:30+01:00.

id class-attribute instance-attribute
id = None

The ID of the resource.

SweepConfigurationNotificationData dataclass

SweepConfigurationNotificationData(
    accountId=None, balancePlatform=None, sweep=None
)

Bases: DataClassJsonMixin

accountId class-attribute instance-attribute
accountId = None

The unique identifier of the balance account for which the sweep was configured.

balancePlatform class-attribute instance-attribute
balancePlatform = None

The unique identifier of the balance platform.

sweep class-attribute instance-attribute
sweep = None

Contains information about the sweep resource that triggered the event.

SweepConfigurationNotificationRequest dataclass

SweepConfigurationNotificationRequest(
    data, environment, type
)

Bases: DataClassJsonMixin

data instance-attribute
data

Contains event details.

environment instance-attribute
environment

The environment from which the webhook originated.

Possible values: test, live.

type instance-attribute
type

Type of webhook.

SweepConfigurationV2 dataclass

SweepConfigurationV2(
    counterparty,
    currency,
    id,
    schedule,
    description=None,
    reason=None,
    status=None,
    sweepAmount=None,
    targetAmount=None,
    triggerAmount=None,
    type="push",
)

Bases: DataClassJsonMixin

counterparty instance-attribute
counterparty

The destination or the source of the funds, depending on the sweep type.

Either a balanceAccountId, transferInstrumentId, or merchantAccount is required.

currency instance-attribute
currency

The three-character ISO currency code ⧉ in uppercase. For example, EUR.

The sweep currency must match any of the balances currencies ⧉.

description class-attribute instance-attribute
description = None

The message that will be used in the sweep transfer's description body with a maximum length of 140 characters.

If the message is longer after replacing placeholders, the message will be cut off at 140 characters.

id instance-attribute
id

The unique identifier of the sweep.

reason class-attribute instance-attribute
reason = None

The reason for disabling the sweep.

schedule instance-attribute
schedule

The schedule when the triggerAmount is evaluated. If the balance meets the threshold, funds are pushed out of or pulled in to the balance account.

status class-attribute instance-attribute
status = None

The status of the sweep. If not provided, by default, this is set to active.

Possible values:

  • active: the sweep is enabled and funds will be pulled in or pushed out based on the defined configuration.

  • inactive: the sweep is disabled and cannot be triggered.

sweepAmount class-attribute instance-attribute
sweepAmount = None

The amount that must be pushed out or pulled in. You can configure either sweepAmount or targetAmount, not both.

targetAmount class-attribute instance-attribute
targetAmount = None

The amount that must be available in the balance account after the sweep. You can configure either sweepAmount or targetAmount, not both.

triggerAmount class-attribute instance-attribute
triggerAmount = None

The threshold amount that triggers the sweep. If not provided, by default, the amount is set to zero. The triggerAmount is evaluated according to the specified schedule.type.

  • For type pull, if the balance is less than or equal to the triggerAmount, funds are pulled in to the balance account.

  • For type push, if the balance is more than or equal to the triggerAmount, funds are pushed out of the balance account.

type class-attribute instance-attribute
type = 'push'

The direction of sweep, whether pushing out or pulling in funds to the balance account. If not provided, by default, this is set to push.

Possible values:

  • push: push out funds to a destination balance account or transfer instrument.

  • pull: pull in funds from a source merchant account, transfer instrument, or balance account.

SweepCounterparty dataclass

SweepCounterparty(
    balanceAccountId=None,
    merchantAccount=None,
    transferInstrumentId=None,
)

Bases: DataClassJsonMixin

balanceAccountId class-attribute instance-attribute
balanceAccountId = None

The unique identifier of the destination or source balance account ⧉.

You can only use this for periodic sweep schedules such as schedule.type daily or monthly.

merchantAccount class-attribute instance-attribute
merchantAccount = None

The merchant account that will be the source of funds.

You can only use this parameter with sweeps of type pull and schedule.type balance, and if you are processing payments with Adyen.

transferInstrumentId class-attribute instance-attribute
transferInstrumentId = None

The unique identifier of the destination or source transfer instrument ⧉ depending on the sweep type

. To set up automated top-up sweeps to balance accounts ⧉, use this parameter in combination with a merchantAccount and a sweep type of pull. Top-up sweeps start a direct debit request from the source transfer instrument. Contact Adyen Support to enable this feature.

SweepSchedule dataclass

SweepSchedule(type, cronExpression=None)

Bases: DataClassJsonMixin

cronExpression class-attribute instance-attribute
cronExpression = None

A cron expression ⧉ that is used to set the sweep schedule. The schedule uses the time zone of the balance account. For example, 30 17 * * MON schedules a sweep every Monday at 17:30.

The expression must have five values separated by a single space in the following order:

  • Minute: 0-59

  • Hour: 0-23

  • Day of the month: 1-31

  • Month: 1-12 or JAN-DEC

  • Day of the week: 0-7 (0 and 7 are Sunday) or MON-SUN.

The following non-standard characters are supported: *, L, #, W and /. See crontab guru ⧉ for more examples.

Required when type is cron.

type instance-attribute
type

The schedule type.

Possible values:

  • cron: push out funds based on a cronExpression.

  • daily: push out funds daily at 07:00 AM CET.

  • weekly: push out funds every Monday at 07:00 AM CET.

  • monthly: push out funds every first of the month at 07:00 AM CET.

  • balance: pull in funds instantly if the balance is less than or equal to the triggerAmount. You can only use this for sweeps of type pull and when the source is a merchantAccount or transferInstrument. If the source is transferInstrument, merchant account identifier is still required, with which you want to process the transaction.

USLocalAccountIdentification dataclass

USLocalAccountIdentification(
    accountNumber,
    routingNumber,
    type,
    accountType="checking",
)

Bases: DataClassJsonMixin

accountNumber instance-attribute
accountNumber

The bank account number, without separators or whitespace.

accountType class-attribute instance-attribute
accountType = 'checking'

The bank account type.

Possible values: checking or savings. Defaults to checking.

routingNumber instance-attribute
routingNumber

The 9-digit routing number ⧉, without separators or whitespace.

type instance-attribute
type

usLocal

VerificationDeadline dataclass

VerificationDeadline(
    capabilities, expiresAt, entityIds=None
)

Bases: DataClassJsonMixin

capabilities instance-attribute
capabilities

The names of the capabilities to be disallowed.

entityIds class-attribute instance-attribute
entityIds = None

The unique identifiers of the bank account(s) that the deadline applies to

expiresAt instance-attribute
expiresAt

The date that verification is due by before capabilities are disallowed.

VerificationError dataclass

VerificationError(
    capabilities=None,
    code=None,
    message=None,
    remediatingActions=None,
    subErrors=None,
    type=None,
)

Bases: DataClassJsonMixin

capabilities class-attribute instance-attribute
capabilities = None

Contains the capabilities that the verification error applies to.

code class-attribute instance-attribute
code = None

The verification error code.

message class-attribute instance-attribute
message = None

A description of the error.

remediatingActions class-attribute instance-attribute
remediatingActions = None

Contains the actions that you can take to resolve the verification error.

subErrors class-attribute instance-attribute
subErrors = None

Contains more granular information about the verification error.

type class-attribute instance-attribute
type = None

The type of error.

Possible values: invalidInput, dataMissing.

VerificationErrorRecursive dataclass

VerificationErrorRecursive(
    capabilities=None,
    code=None,
    message=None,
    type=None,
    remediatingActions=None,
)

Bases: DataClassJsonMixin

capabilities class-attribute instance-attribute
capabilities = None

Contains the capabilities that the verification error applies to.

code class-attribute instance-attribute
code = None

The verification error code.

message class-attribute instance-attribute
message = None

A description of the error.

remediatingActions class-attribute instance-attribute
remediatingActions = None

Contains the actions that you can take to resolve the verification error.

type class-attribute instance-attribute
type = None

The type of error.

Possible values: invalidInput, dataMissing.

balance_platform_service_v2

AULocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The bank account number, without separators or whitespace.

bsbCode instance-attribute
bsbCode

The 6-digit Bank State Branch (BSB) code ⧉, without separators or whitespace.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

auLocal

AccountHolder

Bases: BaseModel

balancePlatform class-attribute instance-attribute
balancePlatform = None

The unique identifier of the balance platform ⧉ to which the account holder belongs. Required in the request if your API credentials can be used for multiple balance platforms.

capabilities class-attribute instance-attribute
capabilities = None

Contains key-value pairs that specify the actions that an account holder can do in your platform. The key is a capability required for your integration. For example, issueCard for Issuing. The value is an object containing the settings for the capability.

contactDetails class-attribute instance-attribute
contactDetails = None

Contact details of the account holder.

description class-attribute instance-attribute
description = None

Your description for the account holder, maximum 300 characters.

id instance-attribute
id

The unique identifier of the account holder.

legalEntityId instance-attribute
legalEntityId

The unique identifier of the legal entity ⧉ associated with the account holder. Adyen performs a verification process against the legal entity of the account holder.

metadata class-attribute instance-attribute
metadata = None

A set of key and value pairs for general use. The keys do not have specific names and may be used for storing miscellaneous data as desired.

Note that during an update of metadata, the omission of existing key-value pairs will result in the deletion of those key-value pairs.

migratedAccountHolderCode class-attribute instance-attribute
migratedAccountHolderCode = None

The unique identifier of the migrated account holder in the classic integration.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
primaryBalanceAccount class-attribute instance-attribute
primaryBalanceAccount = None

The ID of the account holder's primary balance account. By default, this is set to the first balance account that you create for the account holder. To assign a different balance account, send a PATCH request.

reference class-attribute instance-attribute
reference = None

Your reference for the account holder, maximum 150 characters.

status class-attribute instance-attribute
status = None

The status of the account holder.

Possible values:

  • active: The account holder is active. This is the default status when creating an account holder.

  • inactive (Deprecated): The account holder is temporarily inactive due to missing KYC details. You can set the account back to active by providing the missing KYC details.

  • suspended: The account holder is permanently deactivated by Adyen. This action cannot be undone.

  • closed: The account holder is permanently deactivated by you. This action cannot be undone.

timeZone class-attribute instance-attribute
timeZone = None

The time zone of the account holder. For example, Europe/Amsterdam. Defaults to the time zone of the balance platform if no time zone is set. For possible values, see the list of time zone codes ⧉.

verificationDeadlines class-attribute instance-attribute
verificationDeadlines = None

List of verification deadlines and the capabilities that will be disallowed if verification errors are not resolved.

AccountHolderCapability

Bases: BaseModel

allowed class-attribute instance-attribute
allowed = None

Indicates whether the capability is allowed. Adyen sets this to true if the verification is successful and the account holder is permitted to use the capability.

allowedLevel class-attribute instance-attribute
allowedLevel = None

The capability level that is allowed for the account holder.

Possible values: notApplicable, low, medium, high.

allowedSettings class-attribute instance-attribute
allowedSettings = None

A JSON object containing the settings that are allowed for the account holder.

enabled class-attribute instance-attribute
enabled = None

Indicates whether the capability is enabled. If false, the capability is temporarily disabled for the account holder.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
problems class-attribute instance-attribute
problems = None

Contains verification errors and the actions that you can take to resolve them.

requested class-attribute instance-attribute
requested = None

Indicates whether the capability is requested. To check whether the account holder is permitted to use the capability, refer to the allowed field.

requestedLevel class-attribute instance-attribute
requestedLevel = None

The requested level of the capability. Some capabilities, such as those used in card issuing ⧉, have different levels. Levels increase the capability, but also require additional checks and increased monitoring.

Possible values: notApplicable, low, medium, high.

requestedSettings class-attribute instance-attribute
requestedSettings = None

A JSON object containing the settings that were requested for the account holder.

transferInstruments class-attribute instance-attribute
transferInstruments = None

Contains the status of the transfer instruments associated with this capability.

verificationStatus class-attribute instance-attribute
verificationStatus = None

The status of the verification checks for the capability.

Possible values:

  • pending: Adyen is running the verification.

  • invalid: The verification failed. Check if the errors array contains more information.

  • valid: The verification has been successfully completed.

  • rejected: Adyen has verified the information, but found reasons to not allow the capability.

AccountHolderInfo

Bases: BaseModel

balancePlatform class-attribute instance-attribute
balancePlatform = None

The unique identifier of the balance platform ⧉ to which the account holder belongs. Required in the request if your API credentials can be used for multiple balance platforms.

capabilities class-attribute instance-attribute
capabilities = None

Contains key-value pairs that specify the actions that an account holder can do in your platform. The key is a capability required for your integration. For example, issueCard for Issuing. The value is an object containing the settings for the capability.

contactDetails class-attribute instance-attribute
contactDetails = None

Contact details of the account holder.

description class-attribute instance-attribute
description = None

Your description for the account holder, maximum 300 characters.

legalEntityId instance-attribute
legalEntityId

The unique identifier of the legal entity ⧉ associated with the account holder. Adyen performs a verification process against the legal entity of the account holder.

metadata class-attribute instance-attribute
metadata = None

A set of key and value pairs for general use. The keys do not have specific names and may be used for storing miscellaneous data as desired.

Note that during an update of metadata, the omission of existing key-value pairs will result in the deletion of those key-value pairs.

migratedAccountHolderCode class-attribute instance-attribute
migratedAccountHolderCode = None

The unique identifier of the migrated account holder in the classic integration.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
reference class-attribute instance-attribute
reference = None

Your reference for the account holder, maximum 150 characters.

timeZone class-attribute instance-attribute
timeZone = None

The time zone of the account holder. For example, Europe/Amsterdam. Defaults to the time zone of the balance platform if no time zone is set. For possible values, see the list of time zone codes ⧉.

AccountHolderUpdateRequest

Bases: BaseModel

balancePlatform class-attribute instance-attribute
balancePlatform = None

The unique identifier of the balance platform ⧉ to which the account holder belongs. Required in the request if your API credentials can be used for multiple balance platforms.

capabilities class-attribute instance-attribute
capabilities = None

Contains key-value pairs that specify the actions that an account holder can do in your platform. The key is a capability required for your integration. For example, issueCard for Issuing. The value is an object containing the settings for the capability.

contactDetails class-attribute instance-attribute
contactDetails = None

Contact details of the account holder.

description class-attribute instance-attribute
description = None

Your description for the account holder, maximum 300 characters.

metadata class-attribute instance-attribute
metadata = None

A set of key and value pairs for general use. The keys do not have specific names and may be used for storing miscellaneous data as desired.

Note that during an update of metadata, the omission of existing key-value pairs will result in the deletion of those key-value pairs.

migratedAccountHolderCode class-attribute instance-attribute
migratedAccountHolderCode = None

The unique identifier of the migrated account holder in the classic integration.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
primaryBalanceAccount class-attribute instance-attribute
primaryBalanceAccount = None

The ID of the account holder's primary balance account. By default, this is set to the first balance account that you create for the account holder. To assign a different balance account, send a PATCH request.

reference class-attribute instance-attribute
reference = None

Your reference for the account holder, maximum 150 characters.

status class-attribute instance-attribute
status = None

The status of the account holder.

Possible values:

  • active: The account holder is active. This is the default status when creating an account holder.

  • inactive (Deprecated): The account holder is temporarily inactive due to missing KYC details. You can set the account back to active by providing the missing KYC details.

  • suspended: The account holder is permanently deactivated by Adyen. This action cannot be undone.

  • closed: The account holder is permanently deactivated by you. This action cannot be undone.

timeZone class-attribute instance-attribute
timeZone = None

The time zone of the account holder. For example, Europe/Amsterdam. Defaults to the time zone of the balance platform if no time zone is set. For possible values, see the list of time zone codes ⧉.

verificationDeadlines class-attribute instance-attribute
verificationDeadlines = None

List of verification deadlines and the capabilities that will be disallowed if verification errors are not resolved.

AccountSupportingEntityCapability

Bases: BaseModel

allowed class-attribute instance-attribute
allowed = None

Indicates whether the supporting entity capability is allowed. Adyen sets this to true if the verification is successful and the account holder is permitted to use the capability.

allowedLevel class-attribute instance-attribute
allowedLevel = None

The capability level that is allowed for the account holder.

Possible values: notApplicable, low, medium, high.

enabled class-attribute instance-attribute
enabled = None

Indicates whether the capability is enabled. If false, the capability is temporarily disabled for the account holder.

id class-attribute instance-attribute
id = None

The ID of the supporting entity.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
requested class-attribute instance-attribute
requested = None

Indicates whether the capability is requested. To check whether the account holder is permitted to use the capability, refer to the allowed field.

requestedLevel class-attribute instance-attribute
requestedLevel = None

The requested level of the capability. Some capabilities, such as those used in card issuing ⧉, have different levels. Levels increase the capability, but also require additional checks and increased monitoring.

Possible values: notApplicable, low, medium, high.

verificationStatus class-attribute instance-attribute
verificationStatus = None

The status of the verification checks for the supporting entity capability.

Possible values:

  • pending: Adyen is running the verification.

  • invalid: The verification failed. Check if the errors array contains more information.

  • valid: The verification has been successfully completed.

  • rejected: Adyen has verified the information, but found reasons to not allow the capability.

ActiveNetworkTokensRestriction

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
operation instance-attribute
operation

Defines how the condition must be evaluated.

value class-attribute instance-attribute
value = None

The number of tokens.

AdditionalBankIdentification

Bases: BaseModel

code class-attribute instance-attribute
code = None

The value of the additional bank identification.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type class-attribute instance-attribute
type = None

The type of additional bank identification, depending on the country.

Possible values:

Address

Bases: BaseModel

city instance-attribute
city

The name of the city. Maximum length: 3000 characters.

country instance-attribute
country

The two-character ISO-3166-1 alpha-2 country code. For example, US.

If you don't know the country or are not collecting the country from the shopper, provide country as ZZ.

houseNumberOrName instance-attribute
houseNumberOrName

The number or name of the house. Maximum length: 3000 characters.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
postalCode instance-attribute
postalCode

A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries.

stateOrProvince class-attribute instance-attribute
stateOrProvince = None

The two-character ISO 3166-2 state or province code. For example, CA in the US or ON in Canada.

Required for the US and Canada.

street instance-attribute
street

The name of the street. Maximum length: 3000 characters.

The house number should not be included in this field; it should be separately provided via houseNumberOrName.

AddressRequirement

Bases: BaseModel

description class-attribute instance-attribute
description = None

Specifies the required address related fields for a particular route.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
requiredAddressFields class-attribute instance-attribute
requiredAddressFields = None

List of address fields.

type instance-attribute
type

addressRequirement

Amount

Bases: BaseModel

currency instance-attribute
currency

The three-character ISO currency code ⧉.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
value instance-attribute
value

The amount of the transaction, in minor units ⧉.

AmountMinMaxRequirement

Bases: BaseModel

description class-attribute instance-attribute
description = None

Specifies the eligible amounts for a particular route.

max class-attribute instance-attribute
max = None

Maximum amount.

min class-attribute instance-attribute
min = None

Minimum amount.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

amountMinMaxRequirement

Authentication

Bases: BaseModel

email class-attribute instance-attribute
email = None

The email address where the one-time password (OTP) is sent.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
password class-attribute instance-attribute
password = None

The password used for 3D Secure password-based authentication. The value must be between 1 to 30 characters and must only contain the following supported characters.

  • Characters between a-z, A-Z, and 0-9

  • Special characters: äöüßÄÖÜ+-*/ç%()=?!~#'",;:$&àùòâôûáúó

phone class-attribute instance-attribute
phone = None

The phone number where the one-time password (OTP) is sent.

This object must have:

  • A type set to mobile.

  • A number with a valid country code.

  • A number with more than 4 digits, excluding the country code.

Make sure to verify that the card user owns the phone number.

BRLocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The bank account number, without separators or whitespace.

bankCode instance-attribute
bankCode

The 3-digit bank code, with leading zeros.

branchNumber instance-attribute
branchNumber

The bank account branch number, without separators or whitespace.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

brLocal

Balance

Bases: BaseModel

available instance-attribute
available

The remaining amount available for spending.

balance instance-attribute
balance

The total amount in the balance.

currency instance-attribute
currency

The three-character ISO currency code ⧉ of the balance.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
pending class-attribute instance-attribute
pending = None

The amount pending to be paid out but not yet available in the balance.

reserved instance-attribute
reserved

The amount reserved for payments that have been authorised, but have not been captured yet.

BalanceAccount

Bases: BaseModel

accountHolderId instance-attribute
accountHolderId

The unique identifier of the account holder ⧉ associated with the balance account.

balances class-attribute instance-attribute
balances = None

List of balances with the amount and currency.

defaultCurrencyCode class-attribute instance-attribute
defaultCurrencyCode = None

The default three-character ISO currency code ⧉ of the balance account. The default value is EUR.

After a balance account is created, you cannot change its default currency.

description class-attribute instance-attribute
description = None

A human-readable description of the balance account, maximum 300 characters. You can use this parameter to distinguish between multiple balance accounts under an account holder.

id instance-attribute
id

The unique identifier of the balance account.

metadata class-attribute instance-attribute
metadata = None

A set of key and value pairs for general use. The keys do not have specific names and may be used for storing miscellaneous data as desired.

Note that during an update of metadata, the omission of existing key-value pairs will result in the deletion of those key-value pairs.

migratedAccountCode class-attribute instance-attribute
migratedAccountCode = None

The unique identifier of the account of the migrated account holder in the classic integration.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
platformPaymentConfiguration class-attribute instance-attribute
platformPaymentConfiguration = None

Contains key-value pairs to the configure the settlement model in a balance account.

reference class-attribute instance-attribute
reference = None

Your reference for the balance account, maximum 150 characters.

status class-attribute instance-attribute
status = None

The status of the balance account, set to active by default.

timeZone class-attribute instance-attribute
timeZone = None

The time zone of the balance account. For example, Europe/Amsterdam. Defaults to the time zone of the account holder if no time zone is set. For possible values, see the list of time zone codes ⧉.

BalanceAccountBase

Bases: BaseModel

accountHolderId instance-attribute
accountHolderId

The unique identifier of the account holder ⧉ associated with the balance account.

defaultCurrencyCode class-attribute instance-attribute
defaultCurrencyCode = None

The default three-character ISO currency code ⧉ of the balance account. The default value is EUR.

After a balance account is created, you cannot change its default currency.

description class-attribute instance-attribute
description = None

A human-readable description of the balance account, maximum 300 characters. You can use this parameter to distinguish between multiple balance accounts under an account holder.

id instance-attribute
id

The unique identifier of the balance account.

metadata class-attribute instance-attribute
metadata = None

A set of key and value pairs for general use. The keys do not have specific names and may be used for storing miscellaneous data as desired.

Note that during an update of metadata, the omission of existing key-value pairs will result in the deletion of those key-value pairs.

migratedAccountCode class-attribute instance-attribute
migratedAccountCode = None

The unique identifier of the account of the migrated account holder in the classic integration.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
platformPaymentConfiguration class-attribute instance-attribute
platformPaymentConfiguration = None

Contains key-value pairs to the configure the settlement model in a balance account.

reference class-attribute instance-attribute
reference = None

Your reference for the balance account, maximum 150 characters.

status class-attribute instance-attribute
status = None

The status of the balance account, set to active by default.

timeZone class-attribute instance-attribute
timeZone = None

The time zone of the balance account. For example, Europe/Amsterdam. Defaults to the time zone of the account holder if no time zone is set. For possible values, see the list of time zone codes ⧉.

BalanceAccountInfo

Bases: BaseModel

accountHolderId instance-attribute
accountHolderId

The unique identifier of the account holder ⧉ associated with the balance account.

defaultCurrencyCode class-attribute instance-attribute
defaultCurrencyCode = None

The default three-character ISO currency code ⧉ of the balance account. The default value is EUR.

After a balance account is created, you cannot change its default currency.

description class-attribute instance-attribute
description = None

A human-readable description of the balance account, maximum 300 characters. You can use this parameter to distinguish between multiple balance accounts under an account holder.

metadata class-attribute instance-attribute
metadata = None

A set of key and value pairs for general use. The keys do not have specific names and may be used for storing miscellaneous data as desired.

Note that during an update of metadata, the omission of existing key-value pairs will result in the deletion of those key-value pairs.

migratedAccountCode class-attribute instance-attribute
migratedAccountCode = None

The unique identifier of the account of the migrated account holder in the classic integration.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
platformPaymentConfiguration class-attribute instance-attribute
platformPaymentConfiguration = None

Contains key-value pairs to the configure the settlement model in a balance account.

reference class-attribute instance-attribute
reference = None

Your reference for the balance account, maximum 150 characters.

timeZone class-attribute instance-attribute
timeZone = None

The time zone of the balance account. For example, Europe/Amsterdam. Defaults to the time zone of the account holder if no time zone is set. For possible values, see the list of time zone codes ⧉.

BalanceAccountUpdateRequest

Bases: BaseModel

accountHolderId class-attribute instance-attribute
accountHolderId = None

The unique identifier of the account holder ⧉ associated with the balance account.

description class-attribute instance-attribute
description = None

A human-readable description of the balance account, maximum 300 characters. You can use this parameter to distinguish between multiple balance accounts under an account holder.

metadata class-attribute instance-attribute
metadata = None

A set of key and value pairs for general use. The keys do not have specific names and may be used for storing miscellaneous data as desired.

Note that during an update of metadata, the omission of existing key-value pairs will result in the deletion of those key-value pairs.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
platformPaymentConfiguration class-attribute instance-attribute
platformPaymentConfiguration = None

Contains key-value pairs to the configure the settlement model in a balance account.

reference class-attribute instance-attribute
reference = None

Your reference to the balance account, maximum 150 characters.

status class-attribute instance-attribute
status = None

The status of the balance account. Payment instruments linked to the balance account can only be used if the balance account status is active.

Possible values: active, inactive, closed, suspended.

timeZone class-attribute instance-attribute
timeZone = None

The time zone of the balance account. For example, Europe/Amsterdam. Defaults to the time zone of the account holder if no time zone is set. For possible values, see the list of time zone codes ⧉.

BalancePlatform

Bases: BaseModel

description class-attribute instance-attribute
description = None

Your description of the balance platform, maximum 300 characters.

id instance-attribute
id

The unique identifier of the balance platform.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
status class-attribute instance-attribute
status = None

The status of the balance platform.

Possible values: Active, Inactive, Closed, Suspended.

BalanceSweepConfigurationsResponse

Bases: BaseModel

hasNext instance-attribute
hasNext

Indicates whether there are more items on the next page.

hasPrevious instance-attribute
hasPrevious

Indicates whether there are more items on the previous page.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sweeps instance-attribute
sweeps

List of sweeps associated with the balance account.

BankAccount

Bases: BaseModel

accountIdentification instance-attribute
accountIdentification

Contains the bank account details. The fields required in this object depend on the country of the bank account and the currency of the transfer.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

BankAccountIdentificationTypeRequirement

Bases: BaseModel

bankAccountIdentificationTypes class-attribute instance-attribute
bankAccountIdentificationTypes = None

List of bank account identification types: eg.; [iban , numberAndBic]

description class-attribute instance-attribute
description = None

Specifies the bank account details for a particular route per required field in this object depending on the country of the bank account and the currency of the transfer.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

bankAccountIdentificationTypeRequirement

BankAccountIdentificationValidationRequest

Bases: BaseModel

accountIdentification instance-attribute
accountIdentification

Bank account identification.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

BankIdentification

Bases: BaseModel

country class-attribute instance-attribute
country = None
identification class-attribute instance-attribute
identification = None
identificationType class-attribute instance-attribute
identificationType = None
model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

BrandVariantsRestriction

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
operation instance-attribute
operation

Defines how the condition must be evaluated.

value class-attribute instance-attribute
value = None

List of card brand variants.

Possible values:

  • mc, mccredit, mccommercialcredit_b2b, mcdebit, mcbusinessdebit, mcbusinessworlddebit, mcprepaid, mcmaestro

  • visa, visacredit, visadebit, visaprepaid.

You can specify a rule for a generic variant. For example, to create a rule for all Mastercard payment instruments, use mc. The rule is applied to all payment instruments under mc, such as mcbusinessdebit and mcdebit.

BulkAddress

Bases: BaseModel

city class-attribute instance-attribute
city = None

The name of the city.

company class-attribute instance-attribute
company = None

The name of the company.

country instance-attribute
country

The two-character ISO-3166-1 alpha-2 country code. For example, US.

email class-attribute instance-attribute
email = None

The email address.

houseNumberOrName class-attribute instance-attribute
houseNumberOrName = None

The house number or name.

mobile class-attribute instance-attribute
mobile = None

The full telephone number.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
postalCode class-attribute instance-attribute
postalCode = None

The postal code.

Maximum length:

  • 5 digits for addresses in the US.

  • 10 characters for all other countries.

stateOrProvince class-attribute instance-attribute
stateOrProvince = None

The two-letter ISO 3166-2 state or province code.

Maximum length: 2 characters for addresses in the US.

street class-attribute instance-attribute
street = None

The streetname of the house.

CALocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The 5- to 12-digit bank account number, without separators or whitespace.

accountType class-attribute instance-attribute
accountType = 'checking'

The bank account type.

Possible values: checking or savings. Defaults to checking.

institutionNumber instance-attribute
institutionNumber

The 3-digit institution number, without separators or whitespace.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
transitNumber instance-attribute
transitNumber

The 5-digit transit number, without separators or whitespace.

type instance-attribute
type

caLocal

CZLocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The 2- to 16-digit bank account number (Číslo účtu) in the following format:

  • The optional prefix (předčíslí).

  • The required second part (základní část) which must be at least two non-zero digits.

Examples:

  • 19-123457 (with prefix)

  • 123457 (without prefix)

  • 000019-0000123457 (with prefix, normalized)

  • 000000-0000123457 (without prefix, normalized)

bankCode instance-attribute
bankCode

The 4-digit bank code (Kód banky), without separators or whitespace.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

czLocal

CapabilityProblem

Bases: BaseModel

entity class-attribute instance-attribute
entity = None

Contains the type of the entity and the corresponding ID.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
verificationErrors class-attribute instance-attribute
verificationErrors = None

Contains information about the verification error.

CapabilityProblemEntity

Bases: BaseModel

documents class-attribute instance-attribute
documents = None

List of document IDs to which the verification errors related to the capabilities correspond to.

id class-attribute instance-attribute
id = None

The ID of the entity.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
owner class-attribute instance-attribute
owner = None

Contains details about the owner of the entity that has an error.

type class-attribute instance-attribute
type = None

Type of entity.

Possible values: LegalEntity, BankAccount, Document.

CapabilityProblemEntityRecursive

Bases: BaseModel

documents class-attribute instance-attribute
documents = None

List of document IDs to which the verification errors related to the capabilities correspond to.

id class-attribute instance-attribute
id = None

The ID of the entity.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type class-attribute instance-attribute
type = None

Type of entity.

Possible values: LegalEntity, BankAccount, Document.

CapabilitySettings

Bases: BaseModel

amountPerIndustry class-attribute instance-attribute
amountPerIndustry = None
authorizedCardUsers class-attribute instance-attribute
authorizedCardUsers = None
fundingSource class-attribute instance-attribute
fundingSource = None
interval class-attribute instance-attribute
interval = None
maxAmount class-attribute instance-attribute
maxAmount = None
model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

CapitalBalance

Bases: BaseModel

currency instance-attribute
currency

The three-character ISO currency code ⧉.

fee instance-attribute
fee

Fee amount.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
principal instance-attribute
principal

Principal amount.

total instance-attribute
total

Total amount. A sum of principal amount and fee amount.

CapitalGrantAccount

Bases: BaseModel

balances class-attribute instance-attribute
balances = None

The balances of the grant account.

fundingBalanceAccountId class-attribute instance-attribute
fundingBalanceAccountId = None

The unique identifier of the balance account used to fund the grant.

id class-attribute instance-attribute
id = None

The identifier of the grant account.

limits class-attribute instance-attribute
limits = None

The limits of the grant account.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

Card

Bases: BaseModel

authentication class-attribute instance-attribute
authentication = None

Contains the card user's password and mobile phone number. This is required when you issue cards that can be used to make online payments within the EEA and the UK, or can be added to digital wallets. Refer to 3D Secure and digital wallets ⧉ for more information.

bin class-attribute instance-attribute
bin = None

The bank identification number (BIN) of the card number.

brand instance-attribute
brand

The brand of the physical or the virtual card. Possible values: visa, mc.

brandVariant instance-attribute
brandVariant

The brand variant of the physical or the virtual card. For example, visadebit or mcprepaid.

Reach out to your Adyen contact to get the values relevant for your integration.

cardholderName instance-attribute
cardholderName

The name of the cardholder. Maximum length: 26 characters.

configuration class-attribute instance-attribute
configuration = None

Settings required when creating a physical or a virtual card.

Reach out to your Adyen contact to get the values that you can send in this object.

cvc class-attribute instance-attribute
cvc = None

The CVC2 value of the card.

The CVC2 is not sent by default. This is only returned in the POST response for single-use virtual cards.

deliveryContact class-attribute instance-attribute
deliveryContact = None

The delivery contact (name and address) for physical card delivery.

expiration class-attribute instance-attribute
expiration = None

The expiration date of the card.

formFactor instance-attribute
formFactor

The form factor of the card. Possible values: virtual, physical.

lastFour class-attribute instance-attribute
lastFour = None

Last last four digits of the card number.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
number class-attribute instance-attribute
number = None

The primary account number (PAN) of the card.

The PAN is masked by default and returned only for single-use virtual cards.

threeDSecure class-attribute instance-attribute
threeDSecure = None

Allocates a specific product range for either a physical or a virtual card. Possible values: fullySupported, secureCorporate.

Reach out to your Adyen contact to get the values relevant for your integration.

CardConfiguration

Bases: BaseModel

activation class-attribute instance-attribute
activation = None

Overrides the activation label design ID defined in the configurationProfileId. The activation label is attached to the card and contains the activation instructions.

activationUrl class-attribute instance-attribute
activationUrl = None

Your app's URL, if you want to activate cards through your app. For example, my-app://ref1236a7d. A QR code is created based on this URL, and is included in the carrier. Before you use this field, reach out to your Adyen contact to set up the QR code process.

Maximum length: 255 characters.

bulkAddress class-attribute instance-attribute
bulkAddress = None

Overrides the shipment bulk address defined in the configurationProfileId.

cardImageId class-attribute instance-attribute
cardImageId = None

The ID of the card image. This is the image that will be printed on the full front of the card.

carrier class-attribute instance-attribute
carrier = None

Overrides the carrier design ID defined in the configurationProfileId. The carrier is the letter or packaging to which the card is attached.

carrierImageId class-attribute instance-attribute
carrierImageId = None

The ID of the carrier image. This is the image that will printed on the letter to which the card is attached.

configurationProfileId instance-attribute
configurationProfileId

The ID of the card configuration profile that contains the settings of the card. For example, the envelope and PIN mailer designs or the logistics company handling the shipment. All the settings in the profile are applied to the card, unless you provide other fields to override them.

For example, send the shipmentMethod to override the logistics company defined in the card configuration profile.

currency class-attribute instance-attribute
currency = None

The three-letter ISO-4217 ⧉ currency code of the card. For example, EUR.

envelope class-attribute instance-attribute
envelope = None

Overrides the envelope design ID defined in the configurationProfileId.

insert class-attribute instance-attribute
insert = None

Overrides the insert design ID defined in the configurationProfileId. An insert is any additional material, such as marketing materials, that are shipped together with the card.

language class-attribute instance-attribute
language = None

The two-letter ISO-639-1 ⧉ language code of the card. For example, en.

logoImageId class-attribute instance-attribute
logoImageId = None

The ID of the logo image. This is the image that will be printed on the partial front of the card, such as a logo on the upper right corner.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
pinMailer class-attribute instance-attribute
pinMailer = None

Overrides the PIN mailer design ID defined in the configurationProfileId. The PIN mailer is the letter on which the PIN is printed.

shipmentMethod class-attribute instance-attribute
shipmentMethod = None

Overrides the logistics company defined in the configurationProfileId.

CardInfo

Bases: BaseModel

authentication class-attribute instance-attribute
authentication = None

Contains the card user's password and mobile phone number. This is required when you issue cards that can be used to make online payments within the EEA and the UK, or can be added to digital wallets. Refer to 3D Secure and digital wallets ⧉ for more information.

brand instance-attribute
brand

The brand of the physical or the virtual card. Possible values: visa, mc.

brandVariant instance-attribute
brandVariant

The brand variant of the physical or the virtual card. For example, visadebit or mcprepaid.

Reach out to your Adyen contact to get the values relevant for your integration.

cardholderName instance-attribute
cardholderName

The name of the cardholder. Maximum length: 26 characters.

configuration class-attribute instance-attribute
configuration = None

Settings required when creating a physical or a virtual card.

Reach out to your Adyen contact to get the values that you can send in this object.

deliveryContact class-attribute instance-attribute
deliveryContact = None

The delivery contact (name and address) for physical card delivery.

formFactor instance-attribute
formFactor

The form factor of the card. Possible values: virtual, physical.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
threeDSecure class-attribute instance-attribute
threeDSecure = None

Allocates a specific product range for either a physical or a virtual card. Possible values: fullySupported, secureCorporate.

Reach out to your Adyen contact to get the values relevant for your integration.

ContactDetails

Bases: BaseModel

address instance-attribute
address

The address of the account holder.

email instance-attribute
email

The email address of the account holder.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
phone instance-attribute
phone

The phone number of the account holder.

webAddress class-attribute instance-attribute
webAddress = None

The URL of the account holder's website.

Counterparty

Bases: BaseModel

bankAccount class-attribute instance-attribute
bankAccount = None

Contains information about the bank account.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
transferInstrumentId class-attribute instance-attribute
transferInstrumentId = None

Unique identifier of the transfer instrument ⧉.

CounterpartyBankRestriction

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
operation instance-attribute
operation

Defines how the condition must be evaluated.

value class-attribute instance-attribute
value = None

List of counterparty Bank Institutions and the operation.

CountriesRestriction

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
operation instance-attribute
operation

Defines how the condition must be evaluated.

value class-attribute instance-attribute
value = None

List of two-character ISO 3166-1 alpha-2 ⧉ country codes.

CreateSweepConfigurationV2

Bases: BaseModel

category class-attribute instance-attribute
category = None

The type of transfer that results from the sweep.

Possible values:

Required when setting priorities.

counterparty instance-attribute
counterparty

The destination or the source of the funds, depending on the sweep type.

Either a balanceAccountId, transferInstrumentId, or merchantAccount is required.

currency instance-attribute
currency

The three-character ISO currency code ⧉ in uppercase. For example, EUR.

The sweep currency must match any of the balances currencies ⧉.

description class-attribute instance-attribute
description = None

The message that will be used in the sweep transfer's description body with a maximum length of 140 characters.

If the message is longer after replacing placeholders, the message will be cut off at 140 characters.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
priorities class-attribute instance-attribute
priorities = None

The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority listed first, and if that's not possible, it moves on to the next option in the order of provided priorities.

Possible values:

  • regular: For normal, low-value transactions.

  • fast: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions.

  • wire: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions.

  • instant: Instant way to transfer funds in SEPA countries ⧉.

  • crossBorder: High-value transfer to a recipient in a different country.

  • internal: Transfer to an Adyen-issued business bank account (by bank account number/IBAN).

Set category to bank. For more details, see optional priorities setup ⧉.

reason class-attribute instance-attribute
reason = None

The reason for disabling the sweep.

schedule instance-attribute
schedule

The schedule when the triggerAmount is evaluated. If the balance meets the threshold, funds are pushed out of or pulled in to the balance account.

status class-attribute instance-attribute
status = None

The status of the sweep. If not provided, by default, this is set to active.

Possible values:

  • active: the sweep is enabled and funds will be pulled in or pushed out based on the defined configuration.

  • inactive: the sweep is disabled and cannot be triggered.

sweepAmount class-attribute instance-attribute
sweepAmount = None

The amount that must be pushed out or pulled in. You can configure either sweepAmount or targetAmount, not both.

targetAmount class-attribute instance-attribute
targetAmount = None

The amount that must be available in the balance account after the sweep. You can configure either sweepAmount or targetAmount, not both.

triggerAmount class-attribute instance-attribute
triggerAmount = None

The threshold amount that triggers the sweep. If not provided, by default, the amount is set to zero. The triggerAmount is evaluated according to the specified schedule.type.

  • For type pull, if the balance is less than or equal to the triggerAmount, funds are pulled in to the balance account.

  • For type push, if the balance is more than or equal to the triggerAmount, funds are pushed out of the balance account.

type class-attribute instance-attribute
type = 'push'

The direction of sweep, whether pushing out or pulling in funds to the balance account. If not provided, by default, this is set to push.

Possible values:

  • push: push out funds to a destination balance account or transfer instrument.

  • pull: pull in funds from a source merchant account, transfer instrument, or balance account.

DKLocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The 4-10 digits bank account number (Kontonummer) (without separators or whitespace).

bankCode instance-attribute
bankCode

The 4-digit bank code (Registreringsnummer) (without separators or whitespace).

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

dkLocal

DayOfWeekRestriction

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
operation instance-attribute
operation

Defines how the condition must be evaluated.

value class-attribute instance-attribute
value = None

List of days of the week.

Possible values: monday, tuesday, wednesday, thursday, friday, saturday, sunday.

DeliveryAddress

Bases: BaseModel

city class-attribute instance-attribute
city = None

The name of the city.

country instance-attribute
country

The two-character ISO-3166-1 alpha-2 country code. For example, US.

If you don't know the country or are not collecting the country from the shopper, provide country as ZZ.

line1 class-attribute instance-attribute
line1 = None

The street name. For example, if the address is "Rokin 49", provide "Rokin".

line2 class-attribute instance-attribute
line2 = None

The house number or name. For example, if the address is "Rokin 49", provide "49".

line3 class-attribute instance-attribute
line3 = None

Optional information about the address.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
postalCode class-attribute instance-attribute
postalCode = None

The postal code. Maximum length: * 5 digits for an address in the US. * 10 characters for an address in all other countries.

stateOrProvince class-attribute instance-attribute
stateOrProvince = None

The two-letterISO 3166-2 state or province code. For example, CA in the US or ON in Canada.

Required for the US and Canada.

DeliveryContact

Bases: BaseModel

address instance-attribute
address

The address of the contact.

email class-attribute instance-attribute
email = None

The email address of the contact.

fullPhoneNumber class-attribute instance-attribute
fullPhoneNumber = None

The full phone number of the contact provided as a single string. It will be handled as a landline phone. Examples: "0031 6 11 22 33 44", "+316/1122-3344", "(0031) 611223344"

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name instance-attribute
name

The name of the contact.

phoneNumber class-attribute instance-attribute
phoneNumber = None

The phone number of the contact.

webAddress class-attribute instance-attribute
webAddress = None

The URL of the contact's website.

DeviceInfo

Bases: BaseModel

cardCaptureTechnology class-attribute instance-attribute
cardCaptureTechnology = None

The technology used to capture the card details.

deviceName class-attribute instance-attribute
deviceName = None

The name of the device.

formFactor class-attribute instance-attribute
formFactor = None

The form factor of the device to be provisioned.

imei class-attribute instance-attribute
imei = None

The IMEI number of the device being provisioned.

isoDeviceType class-attribute instance-attribute
isoDeviceType = None

The 2-digit device type provided on the ISO messages that the token is being provisioned to.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
msisdn class-attribute instance-attribute
msisdn = None

The MSISDN of the device being provisioned.

osName class-attribute instance-attribute
osName = None

The name of the device operating system.

osVersion class-attribute instance-attribute
osVersion = None

The version of the device operating system.

paymentTypes class-attribute instance-attribute
paymentTypes = None

Different types of payments supported for the network token.

serialNumber class-attribute instance-attribute
serialNumber = None

The serial number of the device.

storageTechnology class-attribute instance-attribute
storageTechnology = None

The architecture or technology used for network token storage.

DifferentCurrenciesRestriction

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
operation instance-attribute
operation

Defines how the condition must be evaluated.

value class-attribute instance-attribute
value = None

Checks the currency of the payment against the currency of the payment instrument.

Possible values:

  • true: The currency of the payment is different from the currency of the payment instrument.

  • false: The currencies are the same.

Duration

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
unit class-attribute instance-attribute
unit = None

The unit of time. You can only use minutes and hours if the interval.type is sliding.

Possible values: minutes, hours, days, weeks, or months

value class-attribute instance-attribute
value = None

The length of time by the unit. For example, 5 days.

The maximum duration is 90 days or an equivalent in other units. For example, 3 months.

EntryModesRestriction

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
operation instance-attribute
operation

Defines how the condition must be evaluated.

value class-attribute instance-attribute
value = None

List of point-of-sale entry modes.

Possible values: barcode, chip, cof, contactless, magstripe, manual, ocr, server.

Expiry

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
month class-attribute instance-attribute
month = None

The month in which the card will expire.

year class-attribute instance-attribute
year = None

The year in which the card will expire.

Fee

Bases: BaseModel

amount instance-attribute
amount

An object containing the fee amount.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

GetNetworkTokenResponse

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
token instance-attribute
token

The details of the network token.

GetTaxFormResponse

Bases: BaseModel

content instance-attribute
content

The content of the tax form in Base64 format.

contentType class-attribute instance-attribute
contentType = None

The content type of the tax form.

Possible values: * application/pdf

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

GrantLimit

Bases: BaseModel

amount class-attribute instance-attribute
amount = None

The amount available on the grant account.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

GrantOffer

Bases: BaseModel

accountHolderId instance-attribute
accountHolderId

The identifier of the account holder to which the grant is offered.

amount class-attribute instance-attribute
amount = None

The principal amount of the grant.

contractType class-attribute instance-attribute
contractType = None

The contract type of the grant offer. Possible value: cashAdvance, loan.

expiresAt class-attribute instance-attribute
expiresAt = None

The end date of the grant offer validity period.

fee class-attribute instance-attribute
fee = None

Details of the fee configuration.

id class-attribute instance-attribute
id = None

The unique identifier of the grant offer.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
repayment class-attribute instance-attribute
repayment = None

Details of the repayment configuration.

startsAt class-attribute instance-attribute
startsAt = None

The starting date of the grant offer validity period.

GrantOffers

Bases: BaseModel

grantOffers instance-attribute
grantOffers

A list of available grant offers.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

HKLocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The 9- to 15-character bank account number (alphanumeric), without separators or whitespace. Starts with the 3-digit branch code.

clearingCode instance-attribute
clearingCode

The 3-digit clearing code, without separators or whitespace.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

hkLocal

HULocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The 24-digit bank account number, without separators or whitespace.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

huLocal

IbanAccountIdentification

Bases: BaseModel

iban instance-attribute
iban

The international bank account number as defined in the ISO-13616 ⧉ standard.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

iban

InternationalTransactionRestriction

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
operation instance-attribute
operation

Defines how the condition must be evaluated.

value class-attribute instance-attribute
value = None

Boolean indicating whether transaction is an international transaction.

Possible values:

  • true: The transaction is an international transaction.

  • false: The transaction is a domestic transaction.

InvalidField

Bases: BaseModel

message instance-attribute
message

Description of the validation error.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name instance-attribute
name

The field that has an invalid value.

value instance-attribute
value

The invalid value.

JSONObject

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

ListNetworkTokensResponse

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
networkTokens class-attribute instance-attribute
networkTokens = None

List of network tokens.

LocalDateTime

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

MatchingTransactionsRestriction

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
operation instance-attribute
operation

Defines how the condition must be evaluated.

value class-attribute instance-attribute
value = None

The number of transactions.

MccsRestriction

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
operation instance-attribute
operation

Defines how the condition must be evaluated.

value class-attribute instance-attribute
value = None

List of merchant category codes (MCCs).

MerchantAcquirerPair

Bases: BaseModel

acquirerId class-attribute instance-attribute
acquirerId = None

The acquirer ID.

merchantId class-attribute instance-attribute
merchantId = None

The merchant identification number (MID).

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

MerchantNamesRestriction

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
operation instance-attribute
operation

Defines how the condition must be evaluated.

value class-attribute instance-attribute
value = None

MerchantsRestriction

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
operation instance-attribute
operation

Defines how the condition must be evaluated.

value class-attribute instance-attribute
value = None

List of merchant ID and acquirer ID pairs.

NOLocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The 11-digit bank account number, without separators or whitespace.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

noLocal

NZLocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The 15-16 digit bank account number. The first 2 digits are the bank number, the next 4 digits are the branch number, the next 7 digits are the account number, and the final 2-3 digits are the suffix.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

nzLocal

Name

Bases: BaseModel

firstName instance-attribute
firstName

The first name.

lastName instance-attribute
lastName

The last name.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

NetworkToken

Bases: BaseModel

brandVariant class-attribute instance-attribute
brandVariant = None

The card brand variant of the payment instrument associated with the network token. For example, mc_prepaid_mrw.

creationDate class-attribute instance-attribute
creationDate = None

Date and time when the network token was created, in ISO 8601 ⧉ extended format. For example, 2020-12-18T10:15:30+01:00..

device class-attribute instance-attribute
device = None

Device details.

id class-attribute instance-attribute
id = None

The unique identifier of the network token.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentInstrumentId class-attribute instance-attribute
paymentInstrumentId = None

The unique identifier of the payment instrument to which this network token belongs to.

status class-attribute instance-attribute
status = None

The status of the network token. Possible values: active, inactive, suspended, closed.

tokenLastFour class-attribute instance-attribute
tokenLastFour = None

The last four digits of the network token id.

type class-attribute instance-attribute
type = None

The type of wallet the network token is associated with. For example, applePay.

NumberAndBicAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The bank account number, without separators or whitespace. The length and format depends on the bank or country.

additionalBankIdentification class-attribute instance-attribute
additionalBankIdentification = None

Additional identification codes of the bank. Some banks may require these identifiers for cross-border transfers.

bic instance-attribute
bic

The bank's 8- or 11-character BIC or SWIFT code.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

numberAndBic

PLLocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The 26-digit bank account number (Numer rachunku ⧉), without separators or whitespace.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

plLocal

PaginatedAccountHoldersResponse

Bases: BaseModel

accountHolders instance-attribute
accountHolders

List of account holders.

hasNext instance-attribute
hasNext

Indicates whether there are more items on the next page.

hasPrevious instance-attribute
hasPrevious

Indicates whether there are more items on the previous page.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

PaginatedBalanceAccountsResponse

Bases: BaseModel

balanceAccounts instance-attribute
balanceAccounts

List of balance accounts.

hasNext instance-attribute
hasNext

Indicates whether there are more items on the next page.

hasPrevious instance-attribute
hasPrevious

Indicates whether there are more items on the previous page.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

PaginatedPaymentInstrumentsResponse

Bases: BaseModel

hasNext instance-attribute
hasNext

Indicates whether there are more items on the next page.

hasPrevious instance-attribute
hasPrevious

Indicates whether there are more items on the previous page.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentInstruments instance-attribute
paymentInstruments

List of payment instruments associated with the balance account.

PaymentInstrument

Bases: BaseModel

balanceAccountId instance-attribute
balanceAccountId

The unique identifier of the balance account ⧉ associated with the payment instrument.

bankAccount class-attribute instance-attribute
bankAccount = None

Contains the business account details. Returned when you create a payment instrument with type bankAccount.

card class-attribute instance-attribute
card = None

Contains information about the card payment instrument. Returned when you create a payment instrument with type card.

description class-attribute instance-attribute
description = None

Your description for the payment instrument, maximum 300 characters.

id instance-attribute
id

The unique identifier of the payment instrument.

issuingCountryCode instance-attribute
issuingCountryCode

The two-character ISO 3166-1 alpha-2 ⧉ country code where the payment instrument is issued. For example, NL or US.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentInstrumentGroupId class-attribute instance-attribute
paymentInstrumentGroupId = None

The unique identifier of the payment instrument group ⧉ to which the payment instrument belongs.

reference class-attribute instance-attribute
reference = None

Your reference for the payment instrument, maximum 150 characters.

status class-attribute instance-attribute
status = None

The status of the payment instrument. If a status is not specified when creating a payment instrument, it is set to active by default. However, there can be exceptions for cards based on the card.formFactor and the issuingCountryCode. For example, when issuing physical cards in the US, the default status is inactive.

Possible values:

  • active: The payment instrument is active and can be used to make payments.

  • inactive: The payment instrument is inactive and cannot be used to make payments.

  • suspended: The payment instrument is suspended, either because it was stolen or lost.

  • closed: The payment instrument is permanently closed. This action cannot be undone.

statusReason class-attribute instance-attribute
statusReason = None

The reason for the status of the payment instrument.

Possible values: accountClosure, damaged, endOfLife, expired, lost, stolen, suspectedFraud, transactionRule, other. If the reason is other, you must also send the statusComment parameter describing the status change.

type instance-attribute
type

Type of payment instrument.

Possible value: card, bankAccount.

PaymentInstrumentGroup

Bases: BaseModel

balancePlatform instance-attribute
balancePlatform

The unique identifier of the balance platform ⧉ to which the payment instrument group belongs.

description class-attribute instance-attribute
description = None

Your description for the payment instrument group, maximum 300 characters.

id class-attribute instance-attribute
id = None

The unique identifier of the payment instrument group.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
properties class-attribute instance-attribute
properties = None

Properties of the payment instrument group.

reference class-attribute instance-attribute
reference = None

Your reference for the payment instrument group, maximum 150 characters.

txVariant instance-attribute
txVariant

The tx variant of the payment instrument group.

PaymentInstrumentGroupInfo

Bases: BaseModel

balancePlatform instance-attribute
balancePlatform

The unique identifier of the balance platform ⧉ to which the payment instrument group belongs.

description class-attribute instance-attribute
description = None

Your description for the payment instrument group, maximum 300 characters.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
properties class-attribute instance-attribute
properties = None

Properties of the payment instrument group.

reference class-attribute instance-attribute
reference = None

Your reference for the payment instrument group, maximum 150 characters.

txVariant instance-attribute
txVariant

The tx variant of the payment instrument group.

PaymentInstrumentInfo

Bases: BaseModel

balanceAccountId instance-attribute
balanceAccountId

The unique identifier of the balance account ⧉ associated with the payment instrument.

card class-attribute instance-attribute
card = None

Contains information about the card. Required when you create a payment instrument of type card.

description class-attribute instance-attribute
description = None

Your description for the payment instrument, maximum 300 characters.

issuingCountryCode instance-attribute
issuingCountryCode

The two-character ISO 3166-1 alpha-2 ⧉ country code where the payment instrument is issued. For example, NL or US.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentInstrumentGroupId class-attribute instance-attribute
paymentInstrumentGroupId = None

The unique identifier of the payment instrument group ⧉ to which the payment instrument belongs.

reference class-attribute instance-attribute
reference = None

Your reference for the payment instrument, maximum 150 characters.

status class-attribute instance-attribute
status = None

The status of the payment instrument. If a status is not specified when creating a payment instrument, it is set to active by default. However, there can be exceptions for cards based on the card.formFactor and the issuingCountryCode. For example, when issuing physical cards in the US, the default status is inactive.

Possible values:

  • active: The payment instrument is active and can be used to make payments.

  • inactive: The payment instrument is inactive and cannot be used to make payments.

  • suspended: The payment instrument is suspended, either because it was stolen or lost.

  • closed: The payment instrument is permanently closed. This action cannot be undone.

statusReason class-attribute instance-attribute
statusReason = None

The reason for the status of the payment instrument.

Possible values: accountClosure, damaged, endOfLife, expired, lost, stolen, suspectedFraud, transactionRule, other. If the reason is other, you must also send the statusComment parameter describing the status change.

type instance-attribute
type

Type of payment instrument.

Possible value: card, bankAccount.

PaymentInstrumentRequirement

Bases: BaseModel

description class-attribute instance-attribute
description = None

Specifies the requirements for the payment instrument that need to be included in the request for a particular route.

issuingCountryCode class-attribute instance-attribute
issuingCountryCode = None

The two-character ISO-3166-1 alpha-2 country code of the counterparty. For example, US or NL.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
onlyForCrossBalancePlatform class-attribute instance-attribute
onlyForCrossBalancePlatform = None

Specifies if the requirement only applies to transfers to another balance platform.

paymentInstrumentType class-attribute instance-attribute
paymentInstrumentType = None

The type of the payment instrument. For example, "BankAccount" or "Card".

type instance-attribute
type

paymentInstrumentRequirement

PaymentInstrumentRevealInfo

Bases: BaseModel

cvc instance-attribute
cvc

The CVC2 value of the card.

expiration instance-attribute
expiration

The expiration date of the card.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
pan instance-attribute
pan

The primary account number (PAN) of the card.

PaymentInstrumentUpdateRequest

Bases: BaseModel

balanceAccountId class-attribute instance-attribute
balanceAccountId = None

The unique identifier of the balance account associated with this payment instrument.

You can only change the balance account ID if the payment instrument has inactive status.

card class-attribute instance-attribute
card = None

Object that contains information about the card payment instrument.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
status class-attribute instance-attribute
status = None

The status of the payment instrument. If a status is not specified when creating a payment instrument, it is set to active by default. However, there can be exceptions for cards based on the card.formFactor and the issuingCountryCode. For example, when issuing physical cards in the US, the default status is inactive.

Possible values:

  • active: The payment instrument is active and can be used to make payments.

  • inactive: The payment instrument is inactive and cannot be used to make payments.

  • suspended: The payment instrument is suspended, either because it was stolen or lost.

  • closed: The payment instrument is permanently closed. This action cannot be undone.

statusComment class-attribute instance-attribute
statusComment = None

Comment for the status of the payment instrument.

Required if statusReason is other.

statusReason class-attribute instance-attribute
statusReason = None

The reason for updating the status of the payment instrument.

Possible values: lost, stolen, damaged, suspectedFraud, expired, endOfLife, accountClosure, other. If the reason is other, you must also send the statusComment parameter describing the status change.

Phone

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
number instance-attribute
number

The full phone number provided as a single string. For example, "0031 6 11 22 33 44", "+316/1122-3344",

or "(0031) 611223344".

type instance-attribute
type

Type of phone number. Possible values: Landline, Mobile.

PhoneNumber

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
phoneCountryCode class-attribute instance-attribute
phoneCountryCode = None

The two-character ISO-3166-1 alpha-2 country code of the phone number. For example, US or NL.

phoneNumber class-attribute instance-attribute
phoneNumber = None

The phone number. The inclusion of the phone number country code is not necessary.

phoneType class-attribute instance-attribute
phoneType = None

The type of the phone number. Possible values: Landline, Mobile, SIP, Fax.

PlatformPaymentConfiguration

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
salesDayClosingTime class-attribute instance-attribute
salesDayClosingTime = None

Specifies at what time a sales day ⧉ ends.

Possible values: Time in "HH:MM" format. HH ranges from 00 to 07. MM must be 00.

Default value: "00:00".

settlementDelayDays class-attribute instance-attribute
settlementDelayDays = None

Specifies after how many business days the funds in a settlement batch ⧉ are made available.

Possible values: 0 to 10, or null. * Setting this value to an integer enables Sales day settlement ⧉. * Setting this value to null enables Pass-through settlement ⧉.

Default value: null.

ProcessingTypesRestriction

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
operation instance-attribute
operation

Defines how the condition must be evaluated.

value class-attribute instance-attribute
value = None

List of processing types.

Possible values: atmWithdraw, balanceInquiry, ecommerce, moto, pos, recurring, token.

RemediatingAction

Bases: BaseModel

code class-attribute instance-attribute
code = None

The remediating action code.

message class-attribute instance-attribute
message = None

A description of how you can resolve the verification error.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

Repayment

Bases: BaseModel

basisPoints instance-attribute
basisPoints

The repayment that is deducted daily from incoming net volume, in basis points ⧉.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
term class-attribute instance-attribute
term = None

An object containing the details of the configuration for repayment term.

threshold class-attribute instance-attribute
threshold = None

An object containing the details of the 30-day repayment threshold.

RepaymentTerm

Bases: BaseModel

estimatedDays instance-attribute
estimatedDays

The estimated term for repaying the grant, in days.

maximumDays class-attribute instance-attribute
maximumDays = None

The maximum term for repaying the grant, in days. Only applies when contractType is loan.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

RestServiceError

Bases: BaseModel

detail instance-attribute
detail

A human-readable explanation specific to this occurrence of the problem.

errorCode instance-attribute
errorCode

A code that identifies the problem type.

instance class-attribute instance-attribute
instance = None

A unique URI that identifies the specific occurrence of the problem.

invalidFields class-attribute instance-attribute
invalidFields = None

Detailed explanation of each validation error, when applicable.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
requestId class-attribute instance-attribute
requestId = None

A unique reference for the request, essentially the same as pspReference.

response class-attribute instance-attribute
response = None

JSON response payload.

status instance-attribute
status

The HTTP status code.

title instance-attribute
title

A short, human-readable summary of the problem type.

type instance-attribute
type

A URI that identifies the problem type, pointing to human-readable documentation on this problem type.

SELocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The 7- to 10-digit bank account number (Bankkontonummer ⧉), without the clearing number, separators, or whitespace.

clearingNumber instance-attribute
clearingNumber

The 4- to 5-digit clearing number (Clearingnummer ⧉), without separators or whitespace.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

seLocal

SGLocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The 4- to 19-digit bank account number, without separators or whitespace.

bic instance-attribute
bic

The bank's 8- or 11-character BIC or SWIFT code.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type class-attribute instance-attribute
type = 'sgLocal'

sgLocal

SameAmountRestriction

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
operation instance-attribute
operation

Defines how the condition must be evaluated.

value class-attribute instance-attribute
value = None

SameCounterpartyRestriction

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
operation instance-attribute
operation

Defines how the condition must be evaluated.

value class-attribute instance-attribute
value = None

StringMatch

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
operation class-attribute instance-attribute
operation = None

The type of string matching operation. Possible values: startsWith, endsWith, isEqualTo, contains,

value class-attribute instance-attribute
value = None

The string to be matched.

SweepConfigurationV2

Bases: BaseModel

category class-attribute instance-attribute
category = None

The type of transfer that results from the sweep.

Possible values:

Required when setting priorities.

counterparty instance-attribute
counterparty

The destination or the source of the funds, depending on the sweep type.

Either a balanceAccountId, transferInstrumentId, or merchantAccount is required.

currency instance-attribute
currency

The three-character ISO currency code ⧉ in uppercase. For example, EUR.

The sweep currency must match any of the balances currencies ⧉.

description class-attribute instance-attribute
description = None

The message that will be used in the sweep transfer's description body with a maximum length of 140 characters.

If the message is longer after replacing placeholders, the message will be cut off at 140 characters.

id instance-attribute
id

The unique identifier of the sweep.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
priorities class-attribute instance-attribute
priorities = None

The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority listed first, and if that's not possible, it moves on to the next option in the order of provided priorities.

Possible values:

  • regular: For normal, low-value transactions.

  • fast: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions.

  • wire: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions.

  • instant: Instant way to transfer funds in SEPA countries ⧉.

  • crossBorder: High-value transfer to a recipient in a different country.

  • internal: Transfer to an Adyen-issued business bank account (by bank account number/IBAN).

Set category to bank. For more details, see optional priorities setup ⧉.

reason class-attribute instance-attribute
reason = None

The reason for disabling the sweep.

schedule instance-attribute
schedule

The schedule when the triggerAmount is evaluated. If the balance meets the threshold, funds are pushed out of or pulled in to the balance account.

status class-attribute instance-attribute
status = None

The status of the sweep. If not provided, by default, this is set to active.

Possible values:

  • active: the sweep is enabled and funds will be pulled in or pushed out based on the defined configuration.

  • inactive: the sweep is disabled and cannot be triggered.

sweepAmount class-attribute instance-attribute
sweepAmount = None

The amount that must be pushed out or pulled in. You can configure either sweepAmount or targetAmount, not both.

targetAmount class-attribute instance-attribute
targetAmount = None

The amount that must be available in the balance account after the sweep. You can configure either sweepAmount or targetAmount, not both.

triggerAmount class-attribute instance-attribute
triggerAmount = None

The threshold amount that triggers the sweep. If not provided, by default, the amount is set to zero. The triggerAmount is evaluated according to the specified schedule.type.

  • For type pull, if the balance is less than or equal to the triggerAmount, funds are pulled in to the balance account.

  • For type push, if the balance is more than or equal to the triggerAmount, funds are pushed out of the balance account.

type class-attribute instance-attribute
type = 'push'

The direction of sweep, whether pushing out or pulling in funds to the balance account. If not provided, by default, this is set to push.

Possible values:

  • push: push out funds to a destination balance account or transfer instrument.

  • pull: pull in funds from a source merchant account, transfer instrument, or balance account.

SweepCounterparty

Bases: BaseModel

balanceAccountId class-attribute instance-attribute
balanceAccountId = None

The unique identifier of the destination or source balance account ⧉.

You can only use this for periodic sweep schedules such as schedule.type daily or monthly.

merchantAccount class-attribute instance-attribute
merchantAccount = None

The merchant account that will be the source of funds.

You can only use this parameter with sweeps of type pull and schedule.type balance, and if you are processing payments with Adyen.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
transferInstrumentId class-attribute instance-attribute
transferInstrumentId = None

The unique identifier of the destination or source transfer instrument ⧉ depending on the sweep type

. To set up automated top-up sweeps to balance accounts ⧉, use this parameter in combination with a merchantAccount and a sweep type of pull. Top-up sweeps start a direct debit request from the source transfer instrument. Contact Adyen Support to enable this feature.

SweepSchedule

Bases: BaseModel

cronExpression class-attribute instance-attribute
cronExpression = None

A cron expression ⧉ that is used to set the sweep schedule. The schedule uses the time zone of the balance account. For example, 30 17 * * MON schedules a sweep every Monday at 17:30.

The expression must have five values separated by a single space in the following order:

  • Minute: 0-59

  • Hour: 0-23

  • Day of the month: 1-31

  • Month: 1-12 or JAN-DEC

  • Day of the week: 0-7 (0 and 7 are Sunday) or MON-SUN.

The following non-standard characters are supported: *, L, #, W and /. See crontab guru ⧉ for more examples.

Required when type is cron.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

The schedule type.

Possible values:

  • cron: push out funds based on a cronExpression.

  • daily: push out funds daily at 07:00 AM CET.

  • weekly: push out funds every Monday at 07:00 AM CET.

  • monthly: push out funds every first of the month at 07:00 AM CET.

  • balance: pull in funds instantly if the balance is less than or equal to the triggerAmount. You can only use this for sweeps of type pull and when the source is a merchantAccount or transferInstrument. If the source is transferInstrument, merchant account identifier is still required, with which you want to process the transaction.

ThresholdRepayment

Bases: BaseModel

amount instance-attribute
amount

The amount to be repaid on a 30-day basis.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

TimeOfDay

Bases: BaseModel

endTime class-attribute instance-attribute
endTime = None

The end time in a time-only ISO-8601 extended offset format. For example: 08:00:00+02:00, 22:30:00-03:00.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
startTime class-attribute instance-attribute
startTime = None

The start time in a time-only ISO-8601 extended offset format. For example: 08:00:00+02:00, 22:30:00-03:00.

TimeOfDayRestriction

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
operation instance-attribute
operation

Defines how the condition must be evaluated.

value class-attribute instance-attribute
value = None

TotalAmountRestriction

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
operation instance-attribute
operation

Defines how the condition must be evaluated.

value class-attribute instance-attribute
value = None

The amount value and currency.

TransactionRule

Bases: BaseModel

aggregationLevel class-attribute instance-attribute
aggregationLevel = None

The level at which data must be accumulated, used in rules with type velocity or maxUsage. The level must be the same or lower in hierarchy ⧉ than the entityKey.

If not provided, by default, the rule will accumulate data at the paymentInstrument level.

Possible values: paymentInstrument, paymentInstrumentGroup, balanceAccount, accountHolder, balancePlatform.

description instance-attribute
description

Your description for the transaction rule, maximum 300 characters.

endDate class-attribute instance-attribute
endDate = None

The date when the rule will stop being evaluated, in ISO 8601 extended offset date-time format. For example, 2020-12-18T10:15:30+01:00.

If not provided, the rule will be evaluated until the rule status is set to inactive.

entityKey instance-attribute
entityKey

The type and unique identifier of the resource to which the rule applies.

id class-attribute instance-attribute
id = None

The unique identifier of the transaction rule.

interval instance-attribute
interval

The time interval ⧉ when the rule conditions apply.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
outcomeType class-attribute instance-attribute
outcomeType = None

The outcome ⧉ that will be applied when a transaction meets the conditions of the rule. If not provided, by default, this is set to hardBlock.

Possible values:

  • hardBlock: the transaction is declined.

  • scoreBased: the transaction is assigned the score you specified. Adyen calculates the total score and if it exceeds 100, the transaction is declined.

reference instance-attribute
reference

Your reference for the transaction rule, maximum 150 characters.

requestType class-attribute instance-attribute
requestType = None

Indicates the type of request to which the rule applies. If not provided, by default, this is set to authorization.

Possible values: authorization, authentication, tokenization, bankTransfer.

ruleRestrictions instance-attribute
ruleRestrictions

Contains one or more objects that define the rule conditions ⧉. Each object must have a value and an operation which determines how the values must be evaluated.

For example, a countries object can have a list of country codes ["US", "CA"] in the value field and anyMatch in the operation field.

score class-attribute instance-attribute
score = None

A positive or negative score applied to the transaction if it meets the conditions of the rule. Required when outcomeType is scoreBased. The value must be between -100 and 100.

startDate class-attribute instance-attribute
startDate = None

The date when the rule will start to be evaluated, in ISO 8601 extended offset date-time format. For example, 2020-12-18T10:15:30+01:00.

If not provided when creating a transaction rule, the startDate is set to the date when the rule status is set to active.

status class-attribute instance-attribute
status = None

The status of the transaction rule. If you provide a startDate in the request, the rule is automatically created with an active status.

Possible values: active, inactive.

type instance-attribute
type

The type of rule ⧉, which defines if a rule blocks transactions based on individual characteristics or accumulates data.

Possible values
  • blockList: decline a transaction when the conditions are met.
  • maxUsage: add the amount or number of transactions for the lifetime of a payment instrument, and then decline a transaction when the specified limits are met.
  • velocity: add the amount or number of transactions based on a specified time interval, and then decline a transaction when the specified limits are met.

TransactionRuleEntityKey

Bases: BaseModel

entityReference class-attribute instance-attribute
entityReference = None

The unique identifier of the resource.

entityType class-attribute instance-attribute
entityType = None

The type of resource.

Possible values: balancePlatform, paymentInstrumentGroup, accountHolder, balanceAccount, or paymentInstrument.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

TransactionRuleInfo

Bases: BaseModel

aggregationLevel class-attribute instance-attribute
aggregationLevel = None

The level at which data must be accumulated, used in rules with type velocity or maxUsage. The level must be the same or lower in hierarchy ⧉ than the entityKey.

If not provided, by default, the rule will accumulate data at the paymentInstrument level.

Possible values: paymentInstrument, paymentInstrumentGroup, balanceAccount, accountHolder, balancePlatform.

description instance-attribute
description

Your description for the transaction rule, maximum 300 characters.

endDate class-attribute instance-attribute
endDate = None

The date when the rule will stop being evaluated, in ISO 8601 extended offset date-time format. For example, 2020-12-18T10:15:30+01:00.

If not provided, the rule will be evaluated until the rule status is set to inactive.

entityKey instance-attribute
entityKey

The type and unique identifier of the resource to which the rule applies.

interval instance-attribute
interval

The time interval ⧉ when the rule conditions apply.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
outcomeType class-attribute instance-attribute
outcomeType = None

The outcome ⧉ that will be applied when a transaction meets the conditions of the rule. If not provided, by default, this is set to hardBlock.

Possible values:

  • hardBlock: the transaction is declined.

  • scoreBased: the transaction is assigned the score you specified. Adyen calculates the total score and if it exceeds 100, the transaction is declined.

reference instance-attribute
reference

Your reference for the transaction rule, maximum 150 characters.

requestType class-attribute instance-attribute
requestType = None

Indicates the type of request to which the rule applies. If not provided, by default, this is set to authorization.

Possible values: authorization, authentication, tokenization, bankTransfer.

ruleRestrictions instance-attribute
ruleRestrictions

Contains one or more objects that define the rule conditions ⧉. Each object must have a value and an operation which determines how the values must be evaluated.

For example, a countries object can have a list of country codes ["US", "CA"] in the value field and anyMatch in the operation field.

score class-attribute instance-attribute
score = None

A positive or negative score applied to the transaction if it meets the conditions of the rule. Required when outcomeType is scoreBased. The value must be between -100 and 100.

startDate class-attribute instance-attribute
startDate = None

The date when the rule will start to be evaluated, in ISO 8601 extended offset date-time format. For example, 2020-12-18T10:15:30+01:00.

If not provided when creating a transaction rule, the startDate is set to the date when the rule status is set to active.

status class-attribute instance-attribute
status = None

The status of the transaction rule. If you provide a startDate in the request, the rule is automatically created with an active status.

Possible values: active, inactive.

type instance-attribute
type

The type of rule ⧉, which defines if a rule blocks transactions based on individual characteristics or accumulates data.

Possible values
  • blockList: decline a transaction when the conditions are met.
  • maxUsage: add the amount or number of transactions for the lifetime of a payment instrument, and then decline a transaction when the specified limits are met.
  • velocity: add the amount or number of transactions based on a specified time interval, and then decline a transaction when the specified limits are met.

TransactionRuleInterval

Bases: BaseModel

dayOfMonth class-attribute instance-attribute
dayOfMonth = None

The day of month, used when the duration.unit is months. If not provided, by default, this is set to 1, the first day of the month.

dayOfWeek class-attribute instance-attribute
dayOfWeek = None

The day of week, used when the duration.unit is weeks. If not provided, by default, this is set to monday.

Possible values: sunday, monday, tuesday, wednesday, thursday, friday.

duration class-attribute instance-attribute
duration = None

The duration, which you can specify in hours, days, weeks, or months. The maximum duration is 90 days or an equivalent in other units. Required when the type is rolling or sliding.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
timeOfDay class-attribute instance-attribute
timeOfDay = None

The time of day, in hh:mm:ss format, used when the duration.unit is hours. If not provided, by default, this is set to 00:00:00.

timeZone class-attribute instance-attribute
timeZone = None

The time zone ⧉. For example, Europe/Amsterdam. By default, this is set to UTC.

type instance-attribute
type

The type of interval ⧉ during which the rule conditions and limits apply, and how often counters are reset.

Possible values
  • perTransaction: conditions are evaluated and the counters are reset for every transaction.
  • daily: the counters are reset daily at 00:00:00 UTC.
  • weekly: the counters are reset every Monday at 00:00:00 UTC.
  • monthly: the counters reset every first day of the month at 00:00:00 UTC.
  • lifetime: conditions are applied to the lifetime of the payment instrument.
  • rolling: conditions are applied and the counters are reset based on a duration. If the reset date and time are not provided, Adyen applies the default reset time similar to fixed intervals. For example, if the duration is every two weeks, the counter resets every third Monday at 00:00:00 UTC.
  • sliding: conditions are applied and the counters are reset based on the current time and a duration that you specify.

TransactionRuleResponse

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
transactionRule class-attribute instance-attribute
transactionRule = None

The transaction rule.

TransactionRuleRestrictions

Bases: BaseModel

activeNetworkTokens class-attribute instance-attribute
activeNetworkTokens = None

The total number of tokens that a card can have across different kinds of digital wallets on the user's phones, watches, or other wearables.

Supported operations: equals, notEquals, greaterThanOrEqualTo, greaterThan, lessThanOrEqualTo, lessThan.

brandVariants class-attribute instance-attribute
brandVariants = None

List of card brand variants and the operation.

Supported operations: anyMatch, noneMatch.

counterpartyBank class-attribute instance-attribute
counterpartyBank = None

List of counterparty Institutions and the operation. Supported operations: anyMatch, noneMatch.

countries class-attribute instance-attribute
countries = None

List of countries and the operation.

Supported operations: anyMatch, noneMatch.

dayOfWeek class-attribute instance-attribute
dayOfWeek = None

List of week days and the operation. Supported operations: anyMatch, noneMatch.

differentCurrencies class-attribute instance-attribute
differentCurrencies = None

Compares the currency of the payment against the currency of the payment instrument, and specifies the operation.

Supported operations: equals, notEquals.

entryModes class-attribute instance-attribute
entryModes = None

List of point-of-sale entry modes and the operation..

Supported operations: anyMatch, noneMatch.

internationalTransaction class-attribute instance-attribute
internationalTransaction = None

Indicates whether transaction is an international transaction and specifies the operation.

Supported operations: equals, notEquals.

matchingTransactions class-attribute instance-attribute
matchingTransactions = None

The number of transactions and the operation.

Supported operations: equals, notEquals, greaterThanOrEqualTo, greaterThan, lessThanOrEqualTo, lessThan.

mccs class-attribute instance-attribute
mccs = None

List of merchant category codes (MCCs) and the operation.

Supported operations: anyMatch, noneMatch.

merchantNames class-attribute instance-attribute
merchantNames = None

List of names that will be compared to the merchant name according to the matching type.

Supported operations: anyMatch, noneMatch.

merchants class-attribute instance-attribute
merchants = None

List of merchant ID and acquirer ID pairs, and the operation.

Supported operations: anyMatch, noneMatch.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
processingTypes class-attribute instance-attribute
processingTypes = None

List of processing types and the operation.

Supported operations: anyMatch, noneMatch.

sameAmountRestriction class-attribute instance-attribute
sameAmountRestriction = None

Checks if a user has recently sent the same amount of funds in multiple transfers.

To use this restriction, you must:

  • Set the rule type to velocity.

  • Specify a time interval.

  • Specify a number of matchingTransactions.

Supported operation: equals.

sameCounterpartyRestriction class-attribute instance-attribute
sameCounterpartyRestriction = None

Checks if a user has recently made multiple transfers to the same counterparty.

To use this restriction, you must:

  • Set the rule type to velocity.

  • Specify a time interval.

  • Specify a number of matchingTransactions.

Supported operations: equals.

timeOfDay class-attribute instance-attribute
timeOfDay = None

A start and end time in a time-only ISO-8601 extended offset format. Supported operations: equals, notEquals.

totalAmount class-attribute instance-attribute
totalAmount = None

The total amount and the operation.

Supported operations: equals, notEquals, greaterThanOrEqualTo, greaterThan, lessThanOrEqualTo, lessThan.

TransactionRulesResponse

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
transactionRules class-attribute instance-attribute
transactionRules = None

List of transaction rules.

TransferRoute

Bases: BaseModel

category class-attribute instance-attribute
category = None

The type of transfer.

Possible values:

country class-attribute instance-attribute
country = None

The two-character ISO-3166-1 alpha-2 country code of the counterparty. For example, US or NL.

currency class-attribute instance-attribute
currency = None

The three-character ISO currency code of transfer. For example, USD or EUR.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
priority class-attribute instance-attribute
priority = None

The priority for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. Possible values:

  • regular: For normal, low-value transactions.

  • fast: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions.

  • wire: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions.

  • instant: Instant way to transfer funds in SEPA countries ⧉.

  • crossBorder: High-value transfer to a recipient in a different country.

  • internal: Transfer to an Adyen-issued business bank account (by bank account number/IBAN).

requirements class-attribute instance-attribute
requirements = None

A set of rules defined by clearing houses and banking partners. Your transfer request must adhere to these rules to ensure successful initiation of transfer. Based on the priority, one or more requirements may be returned. Each requirement is defined with a type and description.

TransferRouteRequest

Bases: BaseModel

balanceAccountId class-attribute instance-attribute
balanceAccountId = None

The unique identifier of the source balance account ⧉. Required if counterparty is transferInstrumentId.

balancePlatform instance-attribute
balancePlatform

The unique identifier assigned to the balance platform associated with the account holder.

category instance-attribute
category

The type of transfer. Possible values:

counterparty class-attribute instance-attribute
counterparty = None

The recipient of the funds transfer. A bank account or a transfer instrument.

country class-attribute instance-attribute
country = None

The two-character ISO-3166-1 alpha-2 country code of the counterparty. For example, US or NL.

Either counterparty or country field must be provided in a transfer route request.

currency instance-attribute
currency

The three-character ISO currency code of transfer. For example, USD or EUR.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
priorities class-attribute instance-attribute
priorities = None

The list of priorities for the bank transfer. Priorities set the speed at which the transfer is sent and the fees that you have to pay. Multiple values can be provided. Possible values:

  • regular: For normal, low-value transactions.

  • fast: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions.

  • wire: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions.

  • instant: Instant way to transfer funds in SEPA countries ⧉.

  • crossBorder: High-value transfer to a recipient in a different country.

  • internal: Transfer to an Adyen-issued business bank account (by bank account number/IBAN).

TransferRouteResponse

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
transferRoutes class-attribute instance-attribute
transferRoutes = None

List of available priorities for a transfer, along with requirements. Use this information to initiate a transfer.

UKLocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The 8-digit bank account number, without separators or whitespace.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sortCode instance-attribute
sortCode

The 6-digit sort code ⧉, without separators or whitespace.

type instance-attribute
type

ukLocal

USLocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The bank account number, without separators or whitespace.

accountType class-attribute instance-attribute
accountType = 'checking'

The bank account type.

Possible values: checking or savings. Defaults to checking.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
routingNumber instance-attribute
routingNumber

The 9-digit routing number ⧉, without separators or whitespace.

type instance-attribute
type

usLocal

UpdateNetworkTokenRequest

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
status class-attribute instance-attribute
status = None

The new status of the network token. Possible values: active, suspended, closed. The closed status is final and cannot be changed.

UpdatePaymentInstrument

Bases: BaseModel

balanceAccountId instance-attribute
balanceAccountId

The unique identifier of the balance account ⧉ associated with the payment instrument.

bankAccount class-attribute instance-attribute
bankAccount = None

Contains the business account details. Returned when you create a payment instrument with type bankAccount.

card class-attribute instance-attribute
card = None

Contains information about the card payment instrument. Returned when you create a payment instrument with type card.

description class-attribute instance-attribute
description = None

Your description for the payment instrument, maximum 300 characters.

id instance-attribute
id

The unique identifier of the payment instrument.

issuingCountryCode instance-attribute
issuingCountryCode

The two-character ISO 3166-1 alpha-2 ⧉ country code where the payment instrument is issued. For example, NL or US.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentInstrumentGroupId class-attribute instance-attribute
paymentInstrumentGroupId = None

The unique identifier of the payment instrument group ⧉ to which the payment instrument belongs.

reference class-attribute instance-attribute
reference = None

Your reference for the payment instrument, maximum 150 characters.

status class-attribute instance-attribute
status = None

The status of the payment instrument. If a status is not specified when creating a payment instrument, it is set to active by default. However, there can be exceptions for cards based on the card.formFactor and the issuingCountryCode. For example, when issuing physical cards in the US, the default status is inactive.

Possible values:

  • active: The payment instrument is active and can be used to make payments.

  • inactive: The payment instrument is inactive and cannot be used to make payments.

  • suspended: The payment instrument is suspended, either because it was stolen or lost.

  • closed: The payment instrument is permanently closed. This action cannot be undone.

statusComment class-attribute instance-attribute
statusComment = None

Comment for the status of the payment instrument.

Required if statusReason is other.

statusReason class-attribute instance-attribute
statusReason = None

The reason for the status of the payment instrument.

Possible values: accountClosure, damaged, endOfLife, expired, lost, stolen, suspectedFraud, transactionRule, other. If the reason is other, you must also send the statusComment parameter describing the status change.

type instance-attribute
type

Type of payment instrument.

Possible value: card, bankAccount.

UpdateSweepConfigurationV2

Bases: BaseModel

category class-attribute instance-attribute
category = None

The type of transfer that results from the sweep.

Possible values:

Required when setting priorities.

counterparty class-attribute instance-attribute
counterparty = None

The destination or the source of the funds, depending on the sweep type.

Either a balanceAccountId, transferInstrumentId, or merchantAccount is required.

currency class-attribute instance-attribute
currency = None

The three-character ISO currency code ⧉ in uppercase. For example, EUR.

The sweep currency must match any of the balances currencies ⧉.

description class-attribute instance-attribute
description = None

The message that will be used in the sweep transfer's description body with a maximum length of 140 characters.

If the message is longer after replacing placeholders, the message will be cut off at 140 characters.

id class-attribute instance-attribute
id = None

The unique identifier of the sweep.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
priorities class-attribute instance-attribute
priorities = None

The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority listed first, and if that's not possible, it moves on to the next option in the order of provided priorities.

Possible values:

  • regular: For normal, low-value transactions.

  • fast: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions.

  • wire: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions.

  • instant: Instant way to transfer funds in SEPA countries ⧉.

  • crossBorder: High-value transfer to a recipient in a different country.

  • internal: Transfer to an Adyen-issued business bank account (by bank account number/IBAN).

Set category to bank. For more details, see optional priorities setup ⧉.

reason class-attribute instance-attribute
reason = None

The reason for disabling the sweep.

schedule class-attribute instance-attribute
schedule = None

The schedule when the triggerAmount is evaluated. If the balance meets the threshold, funds are pushed out of or pulled in to the balance account.

status class-attribute instance-attribute
status = None

The status of the sweep. If not provided, by default, this is set to active.

Possible values:

  • active: the sweep is enabled and funds will be pulled in or pushed out based on the defined configuration.

  • inactive: the sweep is disabled and cannot be triggered.

sweepAmount class-attribute instance-attribute
sweepAmount = None

The amount that must be pushed out or pulled in. You can configure either sweepAmount or targetAmount, not both.

targetAmount class-attribute instance-attribute
targetAmount = None

The amount that must be available in the balance account after the sweep. You can configure either sweepAmount or targetAmount, not both.

triggerAmount class-attribute instance-attribute
triggerAmount = None

The threshold amount that triggers the sweep. If not provided, by default, the amount is set to zero. The triggerAmount is evaluated according to the specified schedule.type.

  • For type pull, if the balance is less than or equal to the triggerAmount, funds are pulled in to the balance account.

  • For type push, if the balance is more than or equal to the triggerAmount, funds are pushed out of the balance account.

type class-attribute instance-attribute
type = 'push'

The direction of sweep, whether pushing out or pulling in funds to the balance account. If not provided, by default, this is set to push.

Possible values:

  • push: push out funds to a destination balance account or transfer instrument.

  • pull: pull in funds from a source merchant account, transfer instrument, or balance account.

VerificationDeadline

Bases: BaseModel

capabilities instance-attribute
capabilities

The names of the capabilities to be disallowed.

entityIds class-attribute instance-attribute
entityIds = None

The unique identifiers of the bank account(s) that the deadline applies to

expiresAt instance-attribute
expiresAt

The date that verification is due by before capabilities are disallowed.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

VerificationError

Bases: BaseModel

capabilities class-attribute instance-attribute
capabilities = None

Contains the capabilities that the verification error applies to.

code class-attribute instance-attribute
code = None

The verification error code.

message class-attribute instance-attribute
message = None

A description of the error.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
remediatingActions class-attribute instance-attribute
remediatingActions = None

Contains the actions that you can take to resolve the verification error.

subErrors class-attribute instance-attribute
subErrors = None

Contains more granular information about the verification error.

type class-attribute instance-attribute
type = None

The type of error.

Possible values: invalidInput, dataMissing.

VerificationErrorRecursive

Bases: BaseModel

capabilities class-attribute instance-attribute
capabilities = None

Contains the capabilities that the verification error applies to.

code class-attribute instance-attribute
code = None

The verification error code.

message class-attribute instance-attribute
message = None

A description of the error.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
remediatingActions class-attribute instance-attribute
remediatingActions = None

Contains the actions that you can take to resolve the verification error.

type class-attribute instance-attribute
type = None

The type of error.

Possible values: invalidInput, dataMissing.

balance_platform_transfer_notification_v4

AULocalAccountIdentification dataclass

AULocalAccountIdentification(accountNumber, bsbCode, type)

Bases: DataClassJsonMixin

accountNumber instance-attribute
accountNumber

The bank account number, without separators or whitespace.

bsbCode instance-attribute
bsbCode

The 6-digit Bank State Branch (BSB) code ⧉, without separators or whitespace.

type instance-attribute
type

auLocal

AdditionalBankIdentification dataclass

AdditionalBankIdentification(code=None, type=None)

Bases: DataClassJsonMixin

code class-attribute instance-attribute
code = None

The value of the additional bank identification.

type class-attribute instance-attribute
type = None

The type of additional bank identification, depending on the country.

Possible values:

Address dataclass

Address(
    country,
    city=None,
    line1=None,
    line2=None,
    postalCode=None,
    stateOrProvince=None,
)

Bases: DataClassJsonMixin

city class-attribute instance-attribute
city = None

The name of the city.

Supported characters: [a-z][A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \ | and Space.

Required when the category is card.

country instance-attribute
country

The two-character ISO 3166-1 alpha-2 country code. For example, US, NL, or GB.

line1 class-attribute instance-attribute
line1 = None

The first line of the street address.

Supported characters: [a-z][A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \ | and Space.

Required when the category is card.

line2 class-attribute instance-attribute
line2 = None

The second line of the street address.

Supported characters: [a-z][A-Z] [0-9] . - — / # , ’ ° ( ) : ; [ ] & \ | and Space.

Required when the category is card.

postalCode class-attribute instance-attribute
postalCode = None

The postal code. Maximum length: * 5 digits for an address in the US. * 10 characters for an address in all other countries.

Supported characters: [a-z][A-Z] [0-9] and Space.

Required for addresses in the US.

stateOrProvince class-attribute instance-attribute
stateOrProvince = None

The two-letter ISO 3166-2 state or province code. For example, CA in the US or ON in Canada.

Required for the US and Canada.

Airline dataclass

Airline(legs=None, ticketNumber=None)

Bases: DataClassJsonMixin

legs class-attribute instance-attribute
legs = None

Details about the flight legs for this ticket.

ticketNumber class-attribute instance-attribute
ticketNumber = None

The ticket's unique identifier

Amount dataclass

Amount(currency, value)

Bases: DataClassJsonMixin

currency instance-attribute
currency

The three-character ISO currency code ⧉.

value instance-attribute
value

The amount of the transaction, in minor units ⧉.

AmountAdjustment dataclass

AmountAdjustment(
    amount=None, amountAdjustmentType=None, basepoints=None
)

Bases: DataClassJsonMixin

amount class-attribute instance-attribute
amount = None

The adjustment amount.

amountAdjustmentType class-attribute instance-attribute
amountAdjustmentType = None

The type of markup that is applied to an authorised payment.

Possible values: exchange, forexMarkup, authHoldReserve, atmMarkup.

basepoints class-attribute instance-attribute
basepoints = None

The basepoints associated with the applied markup.

BRLocalAccountIdentification dataclass

BRLocalAccountIdentification(
    accountNumber, bankCode, branchNumber, type, ispb=None
)

Bases: DataClassJsonMixin

accountNumber instance-attribute
accountNumber

The bank account number, without separators or whitespace.

bankCode instance-attribute
bankCode

The 3-digit bank code, with leading zeros.

branchNumber instance-attribute
branchNumber

The bank account branch number, without separators or whitespace.

ispb class-attribute instance-attribute
ispb = None

The 8-digit ISPB, with leading zeros.

type instance-attribute
type

brLocal

BalanceMutation dataclass

BalanceMutation(
    balance=None,
    currency=None,
    received=None,
    reserved=None,
)

Bases: DataClassJsonMixin

balance class-attribute instance-attribute
balance = None

The amount in the payment's currency that is debited or credited on the balance accounting register.

currency class-attribute instance-attribute
currency = None

The three-character ISO currency code ⧉.

received class-attribute instance-attribute
received = None

The amount in the payment's currency that is debited or credited on the received accounting register.

reserved class-attribute instance-attribute
reserved = None

The amount in the payment's currency that is debited or credited on the reserved accounting register.

BalancePlatformNotificationResponse dataclass

BalancePlatformNotificationResponse(
    notificationResponse=None,
)

Bases: DataClassJsonMixin

notificationResponse class-attribute instance-attribute
notificationResponse = None

Respond with any 2xx HTTP status code to accept the webhook ⧉.

BankAccountV3 dataclass

BankAccountV3(accountHolder, accountIdentification)

Bases: DataClassJsonMixin

accountHolder instance-attribute
accountHolder

Information about the owner of the bank account.

accountIdentification instance-attribute
accountIdentification

Contains the bank account details. The fields required in this object depend on the country of the bank account and the currency of the transfer.

BankCategoryData dataclass

BankCategoryData(priority=None, type='bank')

Bases: DataClassJsonMixin

priority class-attribute instance-attribute
priority = None

The priority for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. Required for transfers with category bank.

Possible values:

  • regular: for normal, low-value transactions.

  • fast: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions.

  • wire: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions.

  • instant: for instant funds transfers within the United States and in SEPA locations ⧉.

  • crossBorder: for high-value transfers to a recipient in a different country.

  • internal: for transfers to an Adyen-issued business bank account (by bank account number/IBAN).

type class-attribute instance-attribute
type = 'bank'

bank

CALocalAccountIdentification dataclass

CALocalAccountIdentification(
    accountNumber,
    institutionNumber,
    transitNumber,
    type,
    accountType="checking",
)

Bases: DataClassJsonMixin

accountNumber instance-attribute
accountNumber

The 5- to 12-digit bank account number, without separators or whitespace.

accountType class-attribute instance-attribute
accountType = 'checking'

The bank account type.

Possible values: checking or savings. Defaults to checking.

institutionNumber instance-attribute
institutionNumber

The 3-digit institution number, without separators or whitespace.

transitNumber instance-attribute
transitNumber

The 5-digit transit number, without separators or whitespace.

type instance-attribute
type

caLocal

CZLocalAccountIdentification dataclass

CZLocalAccountIdentification(accountNumber, bankCode, type)

Bases: DataClassJsonMixin

accountNumber instance-attribute
accountNumber

The 2- to 16-digit bank account number (Číslo účtu) in the following format:

  • The optional prefix (předčíslí).

  • The required second part (základní část) which must be at least two non-zero digits.

Examples:

  • 19-123457 (with prefix)

  • 123457 (without prefix)

  • 000019-0000123457 (with prefix, normalized)

  • 000000-0000123457 (without prefix, normalized)

bankCode instance-attribute
bankCode

The 4-digit bank code (Kód banky), without separators or whitespace.

type instance-attribute
type

czLocal

Card dataclass

Card(cardHolder, cardIdentification)

Bases: DataClassJsonMixin

cardHolder instance-attribute
cardHolder

Contains information about the cardholder.

cardIdentification instance-attribute
cardIdentification

Contains the identification details of the card.

CardIdentification dataclass

CardIdentification(
    expiryMonth=None,
    expiryYear=None,
    issueNumber=None,
    number=None,
    startMonth=None,
    startYear=None,
    storedPaymentMethodId=None,
)

Bases: DataClassJsonMixin

expiryMonth class-attribute instance-attribute
expiryMonth = None

The expiry month of the card.

Format: two digits. Add a leading zero for single-digit months. For example: * 03 = March * 11 = November

expiryYear class-attribute instance-attribute
expiryYear = None

The expiry year of the card.

Format: four digits. For example: 2020

issueNumber class-attribute instance-attribute
issueNumber = None

The issue number of the card. Applies only to some UK debit cards.

number class-attribute instance-attribute
number = None

The card number without any separators.

For security, the response only includes the last four digits of the card number.

startMonth class-attribute instance-attribute
startMonth = None

The month when the card was issued. Applies only to some UK debit cards.

Format: two digits. Add a leading zero for single-digit months. For example: * 03 = March * 11 = November

startYear class-attribute instance-attribute
startYear = None

The year when the card was issued. Applies only to some UK debit cards.

Format: four digits. For example: 2020

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

The unique token created to identify the counterparty.

ConfirmationTrackingData dataclass

ConfirmationTrackingData(status, type)

Bases: DataClassJsonMixin

status instance-attribute
status

The status of the transfer.

Possible values:

  • credited: the funds are credited to your user's transfer instrument or bank account.- accepted: the request is accepted by the integration.
type instance-attribute
type

The type of the tracking event.

Possible values:

  • confirmation: the transfer passed Adyen's internal review.

CounterpartyV3 dataclass

CounterpartyV3(
    balanceAccountId=None,
    bankAccount=None,
    card=None,
    merchant=None,
    transferInstrumentId=None,
)

Bases: DataClassJsonMixin

balanceAccountId class-attribute instance-attribute
balanceAccountId = None

The unique identifier of the counterparty balance account ⧉.

bankAccount class-attribute instance-attribute
bankAccount = None

Contains information about the counterparty bank account.

card class-attribute instance-attribute
card = None

Contains information about the counterparty card.

merchant class-attribute instance-attribute
merchant = None

Contains information about the merchant.

transferInstrumentId class-attribute instance-attribute
transferInstrumentId = None

The unique identifier of the counterparty transfer instrument ⧉.

DKLocalAccountIdentification dataclass

DKLocalAccountIdentification(accountNumber, bankCode, type)

Bases: DataClassJsonMixin

accountNumber instance-attribute
accountNumber

The 4-10 digits bank account number (Kontonummer) (without separators or whitespace).

bankCode instance-attribute
bankCode

The 4-digit bank code (Registreringsnummer) (without separators or whitespace).

type instance-attribute
type

dkLocal

DirectDebitInformation dataclass

DirectDebitInformation(
    dateOfSignature=None,
    dueDate=None,
    mandateId=None,
    sequenceType=None,
)

Bases: DataClassJsonMixin

dateOfSignature class-attribute instance-attribute
dateOfSignature = None

The date when the direct debit mandate was accepted by your user, in ISO-8601 ⧉ format.

dueDate class-attribute instance-attribute
dueDate = None

The date when the funds are deducted from your user's balance account.

mandateId class-attribute instance-attribute
mandateId = None

Your unique identifier for the direct debit mandate.

sequenceType class-attribute instance-attribute
sequenceType = None

Identifies the direct debit transfer's type. Possible values: OneOff, First, Recurring, Final.

EstimationTrackingData dataclass

EstimationTrackingData(estimatedArrivalTime, type)

Bases: DataClassJsonMixin

estimatedArrivalTime instance-attribute
estimatedArrivalTime

The estimated time the beneficiary should have access to the funds.

type instance-attribute
type

The type of tracking event.

Possible values:

  • estimation: the estimated date and time of when the funds will be credited has been determined.

ExecutionDate dataclass

ExecutionDate(date=None, timezone=None)

Bases: DataClassJsonMixin

date class-attribute instance-attribute
date = None

The date when the transfer will be processed. This date must be: * Within 30 days of the current date. * In the ISO 8601 format ⧉ YYYY-MM-DD. For example: 2025-01-31

timezone class-attribute instance-attribute
timezone = None

The timezone that applies to the execution date. Use a timezone identifier from the tz database ⧉.

America/Los_Angeles.

Default value: Europe/Amsterdam.

ExternalReason dataclass

ExternalReason(code=None, description=None, namespace=None)

Bases: DataClassJsonMixin

code class-attribute instance-attribute
code = None

The reason code.

description class-attribute instance-attribute
description = None

The description of the reason code.

namespace class-attribute instance-attribute
namespace = None

The namespace for the reason code.

HKLocalAccountIdentification dataclass

HKLocalAccountIdentification(
    accountNumber, clearingCode, type
)

Bases: DataClassJsonMixin

accountNumber instance-attribute
accountNumber

The 9- to 17-digit bank account number, without separators or whitespace. Starts with the 3-digit branch code.

clearingCode instance-attribute
clearingCode

The 3-digit clearing code, without separators or whitespace.

type instance-attribute
type

hkLocal

HULocalAccountIdentification dataclass

HULocalAccountIdentification(accountNumber, type)

Bases: DataClassJsonMixin

accountNumber instance-attribute
accountNumber

The 24-digit bank account number, without separators or whitespace.

type instance-attribute
type

huLocal

IbanAccountIdentification dataclass

IbanAccountIdentification(iban, type)

Bases: DataClassJsonMixin

iban instance-attribute
iban

The international bank account number as defined in the ISO-13616 ⧉ standard.

type instance-attribute
type

iban

InternalCategoryData dataclass

InternalCategoryData(
    modificationMerchantReference=None,
    modificationPspReference=None,
    type="internal",
)

Bases: DataClassJsonMixin

modificationMerchantReference class-attribute instance-attribute
modificationMerchantReference = None

The capture's merchant reference included in the transfer.

modificationPspReference class-attribute instance-attribute
modificationPspReference = None

The capture reference included in the transfer.

type class-attribute instance-attribute
type = 'internal'

internal

InternalReviewTrackingData dataclass

InternalReviewTrackingData(status, type, reason=None)

Bases: DataClassJsonMixin

reason class-attribute instance-attribute
reason = None

The reason why the transfer failed Adyen's internal review.

Possible values:

status instance-attribute
status

The status of the transfer.

Possible values:

  • pending: the transfer is under internal review by Adyen.

  • failed: the transfer failed Adyen's internal review. For details, see reason.

type instance-attribute
type

The type of tracking event.

Possible values:

  • internalReview: the transfer was flagged because it does not comply with Adyen's risk policy.

IssuedCard dataclass

IssuedCard(
    authorisationType=None,
    panEntryMode=None,
    processingType=None,
    relayedAuthorisationData=None,
    schemeTraceId=None,
    schemeUniqueTransactionId=None,
    threeDSecure=None,
    type="issuedCard",
    validationFacts=None,
)

Bases: DataClassJsonMixin

authorisationType class-attribute instance-attribute
authorisationType = None

The authorisation type. For example, defaultAuthorisation, preAuthorisation, finalAuthorisation

panEntryMode class-attribute instance-attribute
panEntryMode = None

Indicates the method used for entering the PAN to initiate a transaction.

Possible values: manual, chip, magstripe, contactless, cof, ecommerce, token.

processingType class-attribute instance-attribute
processingType = None

Contains information about how the payment was processed. For example, ecommerce for online or pos for in-person payments.

relayedAuthorisationData class-attribute instance-attribute
relayedAuthorisationData = None

If you are using relayed authorisation, this object contains information from the relayed authorisation response from your server.

schemeTraceId class-attribute instance-attribute
schemeTraceId = None

The identifier of the original payment. This ID is provided by the scheme and can be alphanumeric or numeric, depending on the scheme. The schemeTraceID should refer to an original schemeUniqueTransactionID provided in an earlier payment (not necessarily processed by Adyen). A schemeTraceId is typically available for authorization adjustments or recurring payments.

schemeUniqueTransactionId class-attribute instance-attribute
schemeUniqueTransactionId = None

The unique identifier created by the scheme. This ID can be alphanumeric or numeric depending on the scheme.

threeDSecure class-attribute instance-attribute
threeDSecure = None

The data of the result from the 3DS authentication.

type class-attribute instance-attribute
type = 'issuedCard'

issuedCard

validationFacts class-attribute instance-attribute
validationFacts = None

The evaluation of the validation facts. See validation checks ⧉ for more information.

IssuingTransactionData dataclass

IssuingTransactionData(type, captureCycleId=None)

Bases: DataClassJsonMixin

captureCycleId class-attribute instance-attribute
captureCycleId = None

captureCycleId associated with transfer event.

type instance-attribute
type

The type of events data.

Possible values:

  • issuingTransactionData: issuing transaction data

Leg dataclass

Leg(
    arrivalAirportCode=None,
    basicFareCode=None,
    carrierCode=None,
    departureAirportCode=None,
    departureDate=None,
    flightNumber=None,
)

Bases: DataClassJsonMixin

arrivalAirportCode class-attribute instance-attribute
arrivalAirportCode = None

The IATA 3-letter airport code of the destination airport. This field is required if the airline data includes leg details.

basicFareCode class-attribute instance-attribute
basicFareCode = None

The basic fare code for this leg.

carrierCode class-attribute instance-attribute
carrierCode = None

IATA code of the carrier operating the flight.

departureAirportCode class-attribute instance-attribute
departureAirportCode = None

The IATA three-letter airport code of the departure airport. This field is required if the airline data includes leg details

departureDate class-attribute instance-attribute
departureDate = None

The flight departure date.

flightNumber class-attribute instance-attribute
flightNumber = None

The flight identifier.

Lodging dataclass

Lodging(checkInDate=None, numberOfNights=None)

Bases: DataClassJsonMixin

checkInDate class-attribute instance-attribute
checkInDate = None

The check-in date.

numberOfNights class-attribute instance-attribute
numberOfNights = None

The total number of nights the room is booked for.

MerchantData dataclass

MerchantData(
    acquirerId=None,
    mcc=None,
    merchantId=None,
    nameLocation=None,
    postalCode=None,
)

Bases: DataClassJsonMixin

acquirerId class-attribute instance-attribute
acquirerId = None

The unique identifier of the merchant's acquirer.

mcc class-attribute instance-attribute
mcc = None

The merchant category code.

merchantId class-attribute instance-attribute
merchantId = None

The unique identifier of the merchant.

nameLocation class-attribute instance-attribute
nameLocation = None

Contains the name and location of the merchant.

postalCode class-attribute instance-attribute
postalCode = None

The postal code of the merchant.

MerchantPurchaseData dataclass

MerchantPurchaseData(type, airline=None, lodging=None)

Bases: DataClassJsonMixin

airline class-attribute instance-attribute
airline = None

Airline information.

lodging class-attribute instance-attribute
lodging = None

Lodging information.

type instance-attribute
type

The type of events data.

Possible values:

  • merchantPurchaseData: merchant purchase data

Modification dataclass

Modification(
    direction=None,
    id=None,
    reference=None,
    status=None,
    type=None,
)

Bases: DataClassJsonMixin

direction class-attribute instance-attribute
direction = None

The direction of the money movement.

id class-attribute instance-attribute
id = None

Our reference for the modification.

reference class-attribute instance-attribute
reference = None

Your reference for the modification, used internally within your platform.

status class-attribute instance-attribute
status = None

The status of the transfer event.

type class-attribute instance-attribute
type = None

The type of transfer modification.

NOLocalAccountIdentification dataclass

NOLocalAccountIdentification(accountNumber, type)

Bases: DataClassJsonMixin

accountNumber instance-attribute
accountNumber

The 11-digit bank account number, without separators or whitespace.

type instance-attribute
type

noLocal

NZLocalAccountIdentification dataclass

NZLocalAccountIdentification(accountNumber, type)

Bases: DataClassJsonMixin

accountNumber instance-attribute
accountNumber

The 15-16 digit bank account number. The first 2 digits are the bank number, the next 4 digits are the branch number, the next 7 digits are the account number, and the final 2-3 digits are the suffix.

type instance-attribute
type

nzLocal

NameLocation dataclass

NameLocation(
    city=None,
    country=None,
    countryOfOrigin=None,
    name=None,
    rawData=None,
    state=None,
)

Bases: DataClassJsonMixin

city class-attribute instance-attribute
city = None

The city where the merchant is located.

country class-attribute instance-attribute
country = None

The country where the merchant is located in three-letter country code ⧉ format.

countryOfOrigin class-attribute instance-attribute
countryOfOrigin = None

The home country in three-digit country code ⧉ format, used for government-controlled merchants such as embassies.

name class-attribute instance-attribute
name = None

The name of the merchant's shop or service.

rawData class-attribute instance-attribute
rawData = None

The raw data.

state class-attribute instance-attribute
state = None

The state where the merchant is located.

NumberAndBicAccountIdentification dataclass

NumberAndBicAccountIdentification(
    accountNumber,
    bic,
    type,
    additionalBankIdentification=None,
)

Bases: DataClassJsonMixin

accountNumber instance-attribute
accountNumber

The bank account number, without separators or whitespace. The length and format depends on the bank or country.

additionalBankIdentification class-attribute instance-attribute
additionalBankIdentification = None

Additional identification codes of the bank. Some banks may require these identifiers for cross-border transfers.

bic instance-attribute
bic

The bank's 8- or 11-character BIC or SWIFT code.

type instance-attribute
type

numberAndBic

PLLocalAccountIdentification dataclass

PLLocalAccountIdentification(accountNumber, type)

Bases: DataClassJsonMixin

accountNumber instance-attribute
accountNumber

The 26-digit bank account number (Numer rachunku ⧉), without separators or whitespace.

type instance-attribute
type

plLocal

PartyIdentification dataclass

PartyIdentification(
    address=None,
    dateOfBirth=None,
    email=None,
    firstName=None,
    fullName=None,
    lastName=None,
    reference=None,
    type="unknown",
    url=None,
)

Bases: DataClassJsonMixin

address class-attribute instance-attribute
address = None

The address of the bank account or card owner.

dateOfBirth class-attribute instance-attribute
dateOfBirth = None

The date of birth of the individual in ISO-8601 ⧉ format. For example, YYYY-MM-DD.

Allowed only when type is individual.

email class-attribute instance-attribute
email = None

The email address of the organization or individual. Maximum length: 254 characters.

firstName class-attribute instance-attribute
firstName = None

The first name of the individual.

Supported characters: [a-z][A-Z] - . / — and space.

This parameter is: - Allowed only when type is individual. - Required when category is card.

fullName class-attribute instance-attribute
fullName = None

The full name of the entity that owns the bank account or card.

Supported characters: [a-z][A-Z] [0-9] , . ; : - — / \ + & ! ? @ ( ) " ' and space.

Required when category is bank.

lastName class-attribute instance-attribute
lastName = None

The last name of the individual.

Supported characters: [a-z][A-Z] - . / — and space.

This parameter is: - Allowed only when type is individual. - Required when category is card.

reference class-attribute instance-attribute
reference = None

A unique reference to identify the party or counterparty involved in the transfer. For example, your client's unique wallet or payee ID.

Required when you include cardIdentification.storedPaymentMethodId.

type class-attribute instance-attribute
type = 'unknown'

The type of entity that owns the bank account or card.

Possible values: individual, organization, or unknown.

Required when category is card. In this case, the value must be individual.

url class-attribute instance-attribute
url = None

The URL of the organization or individual. Maximum length: 255 characters.

PaymentInstrument dataclass

PaymentInstrument(
    description=None,
    id=None,
    reference=None,
    tokenType=None,
)

Bases: DataClassJsonMixin

description class-attribute instance-attribute
description = None

The description of the resource.

id class-attribute instance-attribute
id = None

The unique identifier of the resource.

reference class-attribute instance-attribute
reference = None

The reference for the resource.

tokenType class-attribute instance-attribute
tokenType = None

The type of wallet that the network token is associated with.

PlatformPayment dataclass

PlatformPayment(
    modificationMerchantReference=None,
    modificationPspReference=None,
    paymentMerchantReference=None,
    platformPaymentType=None,
    pspPaymentReference=None,
    type="platformPayment",
)

Bases: DataClassJsonMixin

modificationMerchantReference class-attribute instance-attribute
modificationMerchantReference = None

The capture's merchant reference included in the transfer.

modificationPspReference class-attribute instance-attribute
modificationPspReference = None

The capture reference included in the transfer.

paymentMerchantReference class-attribute instance-attribute
paymentMerchantReference = None

The payment's merchant reference included in the transfer.

platformPaymentType class-attribute instance-attribute
platformPaymentType = None

Specifies the nature of the transfer. This parameter helps categorize transfers so you can reconcile transactions at a later time, using the Balance Platform Accounting Report for marketplaces ⧉ or platforms ⧉.

Possible values:

  • AcquiringFees: the acquiring fee (the aggregated amount of interchange and scheme fee) incurred on a transaction.

  • AdyenCommission: the transaction fee due to Adyen under blended rates ⧉.

  • AdyenFees: all transaction fees due to Adyen. This is the aggregated amount of Adyen's commission and markup.

  • AdyenMarkup: the transaction fee due to Adyen under Interchange++ pricing ⧉.

  • BalanceAccount: the amount booked to your user after the deduction of the relevant fees.

  • Commission: your platform's or marketplace's commission on a transaction.

  • DCCPlatformCommission: the Dynamic Currency Conversion (DCC) fee on a transaction.

  • Interchange: the interchange fee (fee paid to the issuer) incurred on a transaction.

  • PaymentFee: the aggregated amount of all transaction fees.

  • Remainder: the leftover amount after currency conversion.

  • SchemeFee: the scheme fee incurred on a transaction.

  • Surcharge: the surcharge paid by the customer on a transaction.

  • Tip: the tip paid by the customer.

  • TopUp: an incoming transfer to top up your user's balance account.

  • VAT: the value-added tax charged on the payment.

pspPaymentReference class-attribute instance-attribute
pspPaymentReference = None

The payment reference included in the transfer.

type class-attribute instance-attribute
type = 'platformPayment'

platformPayment

RelayedAuthorisationData dataclass

RelayedAuthorisationData(metadata=None, reference=None)

Bases: DataClassJsonMixin

metadata class-attribute instance-attribute
metadata = None

Contains key-value pairs of your references and descriptions, for example, customId:your-own-custom-field-12345.

reference class-attribute instance-attribute
reference = None

Your reference for the relayed authorisation data.

Resource dataclass

Resource(balancePlatform=None, creationDate=None, id=None)

Bases: DataClassJsonMixin

balancePlatform class-attribute instance-attribute
balancePlatform = None

The unique identifier of the balance platform.

creationDate class-attribute instance-attribute
creationDate = None

The date and time when the event was triggered, in ISO 8601 extended format. For example, 2025-03-19T10:15:30+01:00.

id class-attribute instance-attribute
id = None

The ID of the resource.

ResourceReference dataclass

ResourceReference(
    description=None, id=None, reference=None
)

Bases: DataClassJsonMixin

description class-attribute instance-attribute
description = None

The description of the resource.

id class-attribute instance-attribute
id = None

The unique identifier of the resource.

reference class-attribute instance-attribute
reference = None

The reference for the resource.

SELocalAccountIdentification dataclass

SELocalAccountIdentification(
    accountNumber, clearingNumber, type
)

Bases: DataClassJsonMixin

accountNumber instance-attribute
accountNumber

The 7- to 10-digit bank account number (Bankkontonummer ⧉), without the clearing number, separators, or whitespace.

clearingNumber instance-attribute
clearingNumber

The 4- to 5-digit clearing number (Clearingnummer ⧉), without separators or whitespace.

type instance-attribute
type

seLocal

SGLocalAccountIdentification dataclass

SGLocalAccountIdentification(
    accountNumber, bic, type="sgLocal"
)

Bases: DataClassJsonMixin

accountNumber instance-attribute
accountNumber

The 4- to 19-digit bank account number, without separators or whitespace.

bic instance-attribute
bic

The bank's 8- or 11-character BIC or SWIFT code.

type class-attribute instance-attribute
type = 'sgLocal'

sgLocal

ThreeDSecure dataclass

ThreeDSecure(acsTransactionId=None)

Bases: DataClassJsonMixin

acsTransactionId class-attribute instance-attribute
acsTransactionId = None

The transaction identifier for the Access Control Server

TransactionEventViolation dataclass

TransactionEventViolation(
    reason=None,
    transactionRule=None,
    transactionRuleSource=None,
)

Bases: DataClassJsonMixin

reason class-attribute instance-attribute
reason = None

An explanation about why the transaction rule failed.

transactionRule class-attribute instance-attribute
transactionRule = None

Contains information about the transaction rule.

transactionRuleSource class-attribute instance-attribute
transactionRuleSource = None

Contains information about the resource to which the transaction rule applies.

TransactionRuleReference dataclass

TransactionRuleReference(
    description=None,
    id=None,
    outcomeType=None,
    reference=None,
    score=None,
)

Bases: DataClassJsonMixin

description class-attribute instance-attribute
description = None

The description of the resource.

id class-attribute instance-attribute
id = None

The unique identifier of the resource.

outcomeType class-attribute instance-attribute
outcomeType = None

The outcome type of the rule.

reference class-attribute instance-attribute
reference = None

The reference for the resource.

score class-attribute instance-attribute
score = None

The transaction score determined by the rule. Returned only when outcomeType is scoreBased.

TransactionRuleSource dataclass

TransactionRuleSource(id=None, type=None)

Bases: DataClassJsonMixin

id class-attribute instance-attribute
id = None

ID of the resource, when applicable.

type class-attribute instance-attribute
type = None

Indicates the type of resource for which the transaction rule is defined.

Possible values:

  • PaymentInstrumentGroup

  • PaymentInstrument

  • BalancePlatform

  • EntityUsageConfiguration

  • PlatformRule: The transaction rule is a platform-wide rule imposed by Adyen.

TransactionRulesResult dataclass

TransactionRulesResult(
    advice=None,
    allHardBlockRulesPassed=None,
    score=None,
    triggeredTransactionRules=None,
)

Bases: DataClassJsonMixin

advice class-attribute instance-attribute
advice = None

The advice given by the Risk analysis.

allHardBlockRulesPassed class-attribute instance-attribute
allHardBlockRulesPassed = None

Indicates whether the transaction passed the evaluation for all hardblock rules

score class-attribute instance-attribute
score = None

The score of the Risk analysis.

triggeredTransactionRules class-attribute instance-attribute
triggeredTransactionRules = None

Array containing all the transaction rules that the transaction triggered.

TransferData dataclass

TransferData(
    amount,
    category,
    status,
    accountHolder=None,
    balanceAccount=None,
    balancePlatform=None,
    balances=None,
    categoryData=None,
    counterparty=None,
    createdAt=None,
    creationDate=None,
    description=None,
    directDebitInformation=None,
    direction=None,
    eventId=None,
    events=None,
    executionDate=None,
    externalReason=None,
    id=None,
    paymentInstrument=None,
    reason=None,
    reference=None,
    referenceForBeneficiary=None,
    review=None,
    sequenceNumber=None,
    tracking=None,
    transactionRulesResult=None,
    type=None,
    updatedAt=None,
)

Bases: DataClassJsonMixin

accountHolder class-attribute instance-attribute
accountHolder = None

The account holder associated with the balance account involved in the transfer.

amount instance-attribute
amount

The amount of the transfer.

balanceAccount class-attribute instance-attribute
balanceAccount = None

Contains information about the balance account involved in the transfer.

balancePlatform class-attribute instance-attribute
balancePlatform = None

The unique identifier of the balance platform.

balances class-attribute instance-attribute
balances = None

The list of the latest balance statuses in the transfer.

category instance-attribute
category

The category of the transfer.

Possible values:

  • bank: a transfer involving a transfer instrument ⧉ or a bank account.

  • card: a transfer involving a third-party card.

  • internal: a transfer between balance accounts ⧉ within your platform.

  • issuedCard: a transfer initiated by an Adyen-issued card.

  • platformPayment: funds movements related to payments that are acquired for your users.

  • topUp: an incoming transfer initiated by your user to top up their balance account.

categoryData class-attribute instance-attribute
categoryData = None

The relevant data according to the transfer category.

counterparty class-attribute instance-attribute
counterparty = None

The other party in the transfer.

createdAt class-attribute instance-attribute
createdAt = None

The date and time when the transfer was created, in ISO 8601 extended format. For example, 2020-12-18T10:15:30+01:00.

creationDate class-attribute instance-attribute
creationDate = None

The date and time when the event was triggered, in ISO 8601 extended format. For example, 2020-12-18T10:15:30+01:00.

description class-attribute instance-attribute
description = None

Your description for the transfer. It is used by most banks as the transfer description. We recommend sending a maximum of 140 characters, otherwise the description may be truncated.

Supported characters: [a-z][A-Z] [0-9] / - ? : ( ) . , ' + Space

Supported characters for regular and fast transfers to a US counterparty: [a-z][A-Z] [0-9] & $ % # @ ~ = + - _ ' " ! ?

directDebitInformation class-attribute instance-attribute
directDebitInformation = None

The details of the direct debit.

direction class-attribute instance-attribute
direction = None

The direction of the transfer.

Possible values: incoming, outgoing.

eventId class-attribute instance-attribute
eventId = None

The unique identifier of the latest transfer event. Included only when the category is issuedCard.

events class-attribute instance-attribute
events = None

The list of events leading up to the current status of the transfer.

executionDate class-attribute instance-attribute
executionDate = None

Contains information about the date when the transfer will be processed. The execution date must be within 30 days of the current date.

Until the execution date: - The status of the transfer remains as received. - The reason of the transfer remains as pending.

externalReason class-attribute instance-attribute
externalReason = None

The external reason of this transfer.

id class-attribute instance-attribute
id = None

The ID of the resource.

paymentInstrument class-attribute instance-attribute
paymentInstrument = None

Contains information about the payment instrument used in the transfer.

reason class-attribute instance-attribute
reason = None

Additional information about the status of the transfer.

reference class-attribute instance-attribute
reference = None

Your reference for the transfer, used internally within your platform. If you don't provide this in the request, Adyen generates a unique reference.

referenceForBeneficiary class-attribute instance-attribute
referenceForBeneficiary = None

A reference that is sent to the recipient. This reference is also sent in all webhooks related to the transfer, so you can use it to track statuses for both the source and recipient of funds.

Supported characters: a-z, A-Z, 0-9.The maximum length depends on the category.

  • internal: 80 characters

  • bank: 35 characters when transferring to an IBAN, 15 characters for others.

review class-attribute instance-attribute
review = None

Contains status updates related to additional reviews.

sequenceNumber class-attribute instance-attribute
sequenceNumber = None

The sequence number of the transfer webhook. The numbers start from 1 and increase with each new webhook for a specific transfer.

The sequence number can help you restore the correct sequence of events even if they arrive out of order.

status instance-attribute
status

The result of the transfer.

For example:

  • received: an outgoing transfer request is created.
  • authorised: the transfer request is authorized and the funds are reserved.
  • booked: the funds are deducted from your user's balance account.
  • failed: the transfer is rejected by the counterparty's bank.
  • returned: the transfer is returned by the counterparty's bank.
tracking class-attribute instance-attribute
tracking = None

The latest tracking information of the transfer.

transactionRulesResult class-attribute instance-attribute
transactionRulesResult = None

Contains the results of the evaluation of the transaction rules.

type class-attribute instance-attribute
type = None

The type of transfer or transaction. For example, refund, payment, internalTransfer, bankTransfer.

updatedAt class-attribute instance-attribute
updatedAt = None

The date and time when the event was triggered, in ISO 8601 extended format. For example, 2020-12-18T10:15:30+01:00.

TransferEvent dataclass

TransferEvent(
    amount=None,
    amountAdjustments=None,
    arn=None,
    bookingDate=None,
    estimatedArrivalTime=None,
    eventsData=None,
    externalReason=None,
    id=None,
    modification=None,
    mutations=None,
    originalAmount=None,
    reason=None,
    status=None,
    trackingData=None,
    transactionId=None,
    type=None,
    updateDate=None,
    valueDate=None,
)

Bases: DataClassJsonMixin

amount class-attribute instance-attribute
amount = None

The original journal amount. Only applicable for issuing ⧉ integrations.

amountAdjustments class-attribute instance-attribute
amountAdjustments = None

The amount adjustments in this transfer. Only applicable for issuing ⧉ integrations.

arn class-attribute instance-attribute
arn = None

Scheme unique arn identifier useful for tracing captures, chargebacks, refunds, etc.

bookingDate class-attribute instance-attribute
bookingDate = None

The date when the transfer request was sent.

estimatedArrivalTime class-attribute instance-attribute
estimatedArrivalTime = None

The estimated time when the beneficiary should have access to the funds.

eventsData class-attribute instance-attribute
eventsData = None

A list of event data.

externalReason class-attribute instance-attribute
externalReason = None

The external reason for the transfer status.

id class-attribute instance-attribute
id = None

The unique identifier of the transfer event.

modification class-attribute instance-attribute
modification = None

The payment modification. Only applicable for returned internal transfers ⧉.

mutations class-attribute instance-attribute
mutations = None

The list of balance mutations per event.

originalAmount class-attribute instance-attribute
originalAmount = None

The amount in the original currency. Only applicable for issuing ⧉ integrations.

reason class-attribute instance-attribute
reason = None

The reason for the transfer status.

status class-attribute instance-attribute
status = None

The status of the transfer event.

trackingData class-attribute instance-attribute
trackingData = None

Additional information for the tracking event.

transactionId class-attribute instance-attribute
transactionId = None

The id of the transaction that is related to this accounting event. Only sent for events of type accounting where the balance changes.

type class-attribute instance-attribute
type = None

The type of the transfer event. Possible values: accounting, tracking.

updateDate class-attribute instance-attribute
updateDate = None

The date when the tracking status was updated.

valueDate class-attribute instance-attribute
valueDate = None

The date when the funds are expected to be deducted from or credited to the balance account. This date can be in either the past or future.

TransferNotificationCounterParty dataclass

TransferNotificationCounterParty(
    balanceAccountId=None,
    bankAccount=None,
    card=None,
    merchant=None,
    transferInstrumentId=None,
)

Bases: DataClassJsonMixin

balanceAccountId class-attribute instance-attribute
balanceAccountId = None

The unique identifier of the counterparty balance account ⧉.

bankAccount class-attribute instance-attribute
bankAccount = None

Contains information about the counterparty bank account.

card class-attribute instance-attribute
card = None

Contains information about the counterparty card.

merchant class-attribute instance-attribute
merchant = None

Contains information about the merchant.

transferInstrumentId class-attribute instance-attribute
transferInstrumentId = None

The unique identifier of the counterparty transfer instrument ⧉.

TransferNotificationMerchantData dataclass

TransferNotificationMerchantData(
    acquirerId=None,
    city=None,
    country=None,
    mcc=None,
    merchantId=None,
    name=None,
    postalCode=None,
)

Bases: DataClassJsonMixin

acquirerId class-attribute instance-attribute
acquirerId = None

The unique identifier of the merchant's acquirer.

city class-attribute instance-attribute
city = None

The city where the merchant is located.

country class-attribute instance-attribute
country = None

The country where the merchant is located.

mcc class-attribute instance-attribute
mcc = None

The merchant category code.

merchantId class-attribute instance-attribute
merchantId = None

The unique identifier of the merchant.

name class-attribute instance-attribute
name = None

The name of the merchant's shop or service.

postalCode class-attribute instance-attribute
postalCode = None

The postal code of the merchant.

TransferNotificationRequest dataclass

TransferNotificationRequest(
    data, environment, timestamp=None, type=None
)

Bases: DataClassJsonMixin

data instance-attribute
data

Contains details about the event.

environment instance-attribute
environment

The environment from which the webhook originated.

Possible values: test, live.

timestamp class-attribute instance-attribute
timestamp = None

When the event was queued.

type class-attribute instance-attribute
type = None

The type of webhook.

TransferNotificationValidationFact dataclass

TransferNotificationValidationFact(result=None, type=None)

Bases: DataClassJsonMixin

result class-attribute instance-attribute
result = None

The evaluation result of the validation fact.

type class-attribute instance-attribute
type = None

The type of the validation fact.

TransferReview dataclass

TransferReview(
    numberOfApprovalsRequired=None, scaOnApproval=None
)

Bases: DataClassJsonMixin

numberOfApprovalsRequired class-attribute instance-attribute
numberOfApprovalsRequired = None

Shows the number of approvals ⧉ required to process the transfer.

scaOnApproval class-attribute instance-attribute
scaOnApproval = None

Shows the status of the Strong Customer Authentication (SCA) process.

Possible values: required, notApplicable.

UKLocalAccountIdentification dataclass

UKLocalAccountIdentification(accountNumber, sortCode, type)

Bases: DataClassJsonMixin

accountNumber instance-attribute
accountNumber

The 8-digit bank account number, without separators or whitespace.

sortCode instance-attribute
sortCode

The 6-digit sort code ⧉, without separators or whitespace.

type instance-attribute
type

ukLocal

USLocalAccountIdentification dataclass

USLocalAccountIdentification(
    accountNumber,
    routingNumber,
    type,
    accountType="checking",
)

Bases: DataClassJsonMixin

accountNumber instance-attribute
accountNumber

The bank account number, without separators or whitespace.

accountType class-attribute instance-attribute
accountType = 'checking'

The bank account type.

Possible values: checking or savings. Defaults to checking.

routingNumber instance-attribute
routingNumber

The 9-digit routing number ⧉, without separators or whitespace.

type instance-attribute
type

usLocal

checkout_service_v71

AccountInfo

Bases: BaseModel

accountAgeIndicator class-attribute instance-attribute
accountAgeIndicator = None

Indicator for the length of time since this shopper account was created in the merchant's environment. Allowed values: * notApplicable * thisTransaction * lessThan30Days * from30To60Days * moreThan60Days

accountChangeDate class-attribute instance-attribute
accountChangeDate = None

Date when the shopper's account was last changed.

accountChangeIndicator class-attribute instance-attribute
accountChangeIndicator = None

Indicator for the length of time since the shopper's account was last updated. Allowed values: * thisTransaction * lessThan30Days * from30To60Days * moreThan60Days

accountCreationDate class-attribute instance-attribute
accountCreationDate = None

Date when the shopper's account was created.

accountType class-attribute instance-attribute
accountType = None

Indicates the type of account. For example, for a multi-account card product. Allowed values: * notApplicable * credit * debit

addCardAttemptsDay class-attribute instance-attribute
addCardAttemptsDay = None

Number of attempts the shopper tried to add a card to their account in the last day.

deliveryAddressUsageDate class-attribute instance-attribute
deliveryAddressUsageDate = None

Date the selected delivery address was first used.

deliveryAddressUsageIndicator class-attribute instance-attribute
deliveryAddressUsageIndicator = None

Indicator for the length of time since this delivery address was first used. Allowed values: * thisTransaction * lessThan30Days * from30To60Days * moreThan60Days

homePhone class-attribute instance-attribute
homePhone = None

Shopper's home phone number (including the country code).

mobilePhone class-attribute instance-attribute
mobilePhone = None

Shopper's mobile phone number (including the country code).

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
passwordChangeDate class-attribute instance-attribute
passwordChangeDate = None

Date when the shopper last changed their password.

passwordChangeIndicator class-attribute instance-attribute
passwordChangeIndicator = None

Indicator when the shopper has changed their password. Allowed values: * notApplicable * thisTransaction * lessThan30Days * from30To60Days * moreThan60Days

pastTransactionsDay class-attribute instance-attribute
pastTransactionsDay = None

Number of all transactions (successful and abandoned) from this shopper in the past 24 hours.

pastTransactionsYear class-attribute instance-attribute
pastTransactionsYear = None

Number of all transactions (successful and abandoned) from this shopper in the past year.

paymentAccountAge class-attribute instance-attribute
paymentAccountAge = None

Date this payment method was added to the shopper's account.

paymentAccountIndicator class-attribute instance-attribute
paymentAccountIndicator = None

Indicator for the length of time since this payment method was added to this shopper's account. Allowed values: * notApplicable * thisTransaction * lessThan30Days * from30To60Days * moreThan60Days

purchasesLast6Months class-attribute instance-attribute
purchasesLast6Months = None

Number of successful purchases in the last six months.

suspiciousActivity class-attribute instance-attribute
suspiciousActivity = None

Whether suspicious activity was recorded on this account.

workPhone class-attribute instance-attribute
workPhone = None

Shopper's work phone number (including the country code).

AcctInfo

Bases: BaseModel

chAccAgeInd class-attribute instance-attribute
chAccAgeInd = None

Length of time that the cardholder has had the account with the 3DS Requestor. Allowed values: * 01 — No account * 02 — Created during this transaction * 03 — Less than 30 days * 04 — 30–60 days * 05 — More than 60 days

chAccChange class-attribute instance-attribute
chAccChange = None

Date that the cardholder’s account with the 3DS Requestor was last changed, including Billing or Shipping address, new payment account, or new user(s) added. Format: YYYYMMDD

chAccChangeInd class-attribute instance-attribute
chAccChangeInd = None

Length of time since the cardholder’s account information with the 3DS Requestor was last changed, including Billing or Shipping address, new payment account, or new user(s) added. Allowed values: * 01 — Changed during this transaction * 02 — Less than 30 days * 03 — 30–60 days * 04 — More than 60 days

chAccPwChange class-attribute instance-attribute
chAccPwChange = None

Date that cardholder’s account with the 3DS Requestor had a password change or account reset. Format: YYYYMMDD

chAccPwChangeInd class-attribute instance-attribute
chAccPwChangeInd = None

Indicates the length of time since the cardholder’s account with the 3DS Requestor had a password change or account reset. Allowed values: * 01 — No change * 02 — Changed during this transaction * 03 — Less than 30 days * 04 — 30–60 days * 05 — More than 60 days

chAccString class-attribute instance-attribute
chAccString = None

Date that the cardholder opened the account with the 3DS Requestor. Format: YYYYMMDD

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
nbPurchaseAccount class-attribute instance-attribute
nbPurchaseAccount = None

Number of purchases with this cardholder account during the previous six months. Max length: 4 characters.

paymentAccAge class-attribute instance-attribute
paymentAccAge = None

String that the payment account was enrolled in the cardholder’s account with the 3DS Requestor. Format: YYYYMMDD

paymentAccInd class-attribute instance-attribute
paymentAccInd = None

Indicates the length of time that the payment account was enrolled in the cardholder’s account with the 3DS Requestor. Allowed values: * 01 — No account (guest checkout) * 02 — During this transaction * 03 — Less than 30 days * 04 — 30–60 days * 05 — More than 60 days

provisionAttemptsDay class-attribute instance-attribute
provisionAttemptsDay = None

Number of Add Card attempts in the last 24 hours. Max length: 3 characters.

shipAddressUsage class-attribute instance-attribute
shipAddressUsage = None

String when the shipping address used for this transaction was first used with the 3DS Requestor. Format: YYYYMMDD

shipAddressUsageInd class-attribute instance-attribute
shipAddressUsageInd = None

Indicates when the shipping address used for this transaction was first used with the 3DS Requestor. Allowed values: * 01 — This transaction * 02 — Less than 30 days * 03 — 30–60 days * 04 — More than 60 days

shipNameIndicator class-attribute instance-attribute
shipNameIndicator = None

Indicates if the Cardholder Name on the account is identical to the shipping Name used for this transaction. Allowed values: * 01 — Account Name identical to shipping Name * 02 — Account Name different to shipping Name

suspiciousAccActivity class-attribute instance-attribute
suspiciousAccActivity = None

Indicates whether the 3DS Requestor has experienced suspicious activity (including previous fraud) on the cardholder account. Allowed values: * 01 — No suspicious activity has been observed * 02 — Suspicious activity has been observed

txnActivityDay class-attribute instance-attribute
txnActivityDay = None

Number of transactions (successful and abandoned) for this cardholder account with the 3DS Requestor across all payment accounts in the previous 24 hours. Max length: 3 characters.

txnActivityYear class-attribute instance-attribute
txnActivityYear = None

Number of transactions (successful and abandoned) for this cardholder account with the 3DS Requestor across all payment accounts in the previous year. Max length: 3 characters.

AchDetails

Bases: BaseModel

accountHolderType class-attribute instance-attribute
accountHolderType = None

The account holder type (personal or business).

bankAccountNumber class-attribute instance-attribute
bankAccountNumber = None

The bank account number (without separators).

bankAccountType class-attribute instance-attribute
bankAccountType = None

The bank account type (checking, savings...).

bankLocationId class-attribute instance-attribute
bankLocationId = None

The bank routing number of the account. The field value is nil in most cases.

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

encryptedBankAccountNumber class-attribute instance-attribute
encryptedBankAccountNumber = None

Encrypted bank account number. The bank account number (without separators).

encryptedBankLocationId class-attribute instance-attribute
encryptedBankLocationId = None

Encrypted location id. The bank routing number of the account. The field value is nil in most cases.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
ownerName class-attribute instance-attribute
ownerName = None

The name of the bank account holder. If you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example: * χ12 is converted to ch12. * üA is converted to euA. * Peter Møller is converted to Peter Mller, because banks don't accept 'ø'. After replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example: * John17 - allowed. * J17 - allowed. * 171 - not allowed. * John-7 - allowed.

If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.

recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

transferInstrumentId class-attribute instance-attribute
transferInstrumentId = None

The unique identifier of your user's verified transfer instrument, which you can use to top up their balance accounts.

type class-attribute instance-attribute
type = 'ach'

ach

AdditionalData3DSecure

Bases: BaseModel

allow3DS2 class-attribute instance-attribute
allow3DS2 = None

Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using /payments endpoint with any of our native 3D Secure 2 solutions ⧉.

This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you want to perform 3D Secure, use Dynamic 3D Secure or send the executeThreeD parameter.

Possible values: * true - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen selects redirect or native authentication based on your configuration to optimize authorization rates and improve the shopper's experience. * false – Not ready to support native 3D Secure 2 authentication. Adyen offers redirect 3D Secure 2 authentication instead, based on your configuration.

challengeWindowSize class-attribute instance-attribute
challengeWindowSize = None

Dimensions of the 3DS2 challenge window to be displayed to the cardholder.

Possible values:

  • 01 - size of 250x400
  • 02 - size of 390x400
  • 03 - size of 500x600
  • 04 - size of 600x400
  • 05 - Fullscreen
executeThreeD class-attribute instance-attribute
executeThreeD = None

Indicates if you want to perform 3D Secure authentication on a transaction.

Alternatively, you can use Dynamic 3D Secure to configure rules for applying 3D Secure.

Possible values: * true – Perform 3D Secure authentication. * false – Don't perform 3D Secure authentication. Note that this setting results in refusals if the issuer mandates 3D Secure because of the PSD2 directive or other, national regulations.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
mpiImplementationType class-attribute instance-attribute
mpiImplementationType = None

In case of Secure+, this field must be set to CUPSecurePlus.

scaExemption class-attribute instance-attribute
scaExemption = None

Indicates the exemption type ⧉ that you want to request for the transaction.

Possible values: * lowValue * secureCorporate * trustedBeneficiary * transactionRiskAnalysis

threeDSVersion class-attribute instance-attribute
threeDSVersion = None

Indicates your preference for the 3D Secure version.

If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.

Possible values: * 2.1.0: Apply 3D Secure version 2.1.0. * 2.2.0: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.

The following rules apply: * If you prefer 2.1.0 or 2.2.0 but we receive a negative transStatus in the ARes, we will apply the fallback policy configured in your account. * If you the BIN is not enrolled, you will receive an error.

AdditionalDataAirline

Bases: BaseModel

airline_agency_invoice_number class-attribute instance-attribute
airline_agency_invoice_number = None

The reference number for the invoice, issued by the agency. * Encoding: ASCII * minLength: 1 character * maxLength: 6 characters

airline_agency_plan_name class-attribute instance-attribute
airline_agency_plan_name = None

The two-letter agency plan identifier. * Encoding: ASCII * minLength: 2 characters * maxLength: 2 characters

airline_airline_code class-attribute instance-attribute
airline_airline_code = None

The IATA ⧉ 3-digit accounting code (PAX) that identifies the carrier. * Format: IATA 3-digit accounting code (PAX) * Example: KLM = 074 * minLength: 3 characters * maxLength: 3 characters * Must not be all spaces * Must not be all zeros.

airline_airline_designator_code class-attribute instance-attribute
airline_airline_designator_code = None

The IATA ⧉ 2-letter accounting code (PAX) that identifies the carrier. * Encoding: ASCII * Example: KLM = KL * minLength: 2 characters * maxLength: 2 characters * Must not be all spaces * Must not be all zeros.

airline_boarding_fee class-attribute instance-attribute
airline_boarding_fee = None

The amount charged for boarding the plane, in minor units ⧉. * Encoding: Numeric * minLength: 1 character * maxLength: 18 characters

airline_computerized_reservation_system class-attribute instance-attribute
airline_computerized_reservation_system = None

The CRS ⧉ used to make the reservation and purchase the ticket. * Encoding: ASCII * minLength: 4 characters * maxLength: 4 characters

airline_customer_reference_number class-attribute instance-attribute
airline_customer_reference_number = None

The alphanumeric customer reference number. * Encoding: ASCII * maxLength: 20 characters * If you send more than 20 characters, the customer reference number is truncated * Must not be all spaces

airline_document_type class-attribute instance-attribute
airline_document_type = None

A code that identifies the type of item bought. The description of the code can appear on credit card statements. * Encoding: ASCII * Example: Passenger ticket = 01 * minLength: 2 characters * maxLength: 2 characters

airline_flight_date class-attribute instance-attribute
airline_flight_date = None

The flight departure date. Local time (HH:mm) is optional. * Date format: yyyy-MM-dd * Date and time format: yyyy-MM-dd HH:mm * minLength: 10 characters * maxLength: 16 characters

airline_issue_date class-attribute instance-attribute
airline_issue_date = None

The date that the ticket was issued to the passenger. * minLength: 6 characters * maxLength: 6 characters * Date format: YYMMDD

airline_leg_carrier_code class-attribute instance-attribute
airline_leg_carrier_code = None

The IATA ⧉ 2-letter accounting code (PAX) that identifies the carrier. This field is required if the airline data includes leg details. * Example: KLM = KL * minLength: 2 characters * maxLength: 2 characters * Must not be all spaces * Must not be all zeros.

airline_leg_class_of_travel class-attribute instance-attribute
airline_leg_class_of_travel = None

A one-letter travel class identifier. The following are common: * F: first class * J: business class * Y: economy class * W: premium economy

  • Encoding: ASCII
  • minLength: 1 character
  • maxLength: 1 character
  • Must not be all spaces
  • Must not be all zeros.
airline_leg_date_of_travel class-attribute instance-attribute
airline_leg_date_of_travel = None

Date and time of travel in ISO 8601 ⧉ format yyyy-MM-dd HH:mm. * Encoding: ASCII * minLength: 16 characters * maxLength: 16 characters

airline_leg_depart_airport class-attribute instance-attribute
airline_leg_depart_airport = None

The IATA ⧉ three-letter airport code of the departure airport. This field is required if the airline data includes leg details.

  • Encoding: ASCII
  • Example: Amsterdam = AMS
  • minLength: 3 characters
  • maxLength: 3 characters
  • Must not be all spaces
  • Must not be all zeros.
airline_leg_depart_tax class-attribute instance-attribute
airline_leg_depart_tax = None

The amount of departure tax ⧉ charged, in minor units ⧉. * Encoding: Numeric * minLength: 1 * maxLength: 12 * Must not be all zeros.

airline_leg_destination_code class-attribute instance-attribute
airline_leg_destination_code = None

The IATA ⧉ 3-letter airport code of the destination airport. This field is required if the airline data includes leg details. * Example: Amsterdam = AMS * Encoding: ASCII * minLength: 3 characters * maxLength: 3 characters * Must not be all spaces * Must not be all zeros.

airline_leg_fare_base_code class-attribute instance-attribute
airline_leg_fare_base_code = None

The fare basis code ⧉, alphanumeric. * minLength: 1 character * maxLength: 15 characters * Must not be all spaces * Must not be all zeros.

airline_leg_flight_number class-attribute instance-attribute
airline_leg_flight_number = None

The flight identifier. * minLength: 1 character * maxLength: 5 characters * Must not be all spaces * Must not be all zeros.

airline_leg_stop_over_code class-attribute instance-attribute
airline_leg_stop_over_code = None

A one-letter code that indicates whether the passenger is entitled to make a stopover. Can be a space, O if the passenger is entitled to make a stopover, or X if they are not. * Encoding: ASCII * minLength: 1 character * maxLength: 1 character

airline_passenger_date_of_birth class-attribute instance-attribute
airline_passenger_date_of_birth = None

The passenger's date of birth.

Date format: yyyy-MM-dd * minLength: 10 * maxLength: 10

airline_passenger_first_name class-attribute instance-attribute
airline_passenger_first_name = None

The passenger's first name.

This field is required if the airline data includes passenger details or leg details. * Encoding: ASCII

airline_passenger_last_name class-attribute instance-attribute
airline_passenger_last_name = None

The passenger's last name.

This field is required if the airline data includes passenger details or leg details. * Encoding: ASCII

airline_passenger_name instance-attribute
airline_passenger_name

The passenger's name, initials, and title. * Format: last name + first name or initials + title * Example: FLYER / MARY MS * minLength: 1 character * maxLength: 20 characters * If you send more than 20 characters, the name is truncated * Must not be all spaces * Must not be all zeros.

airline_passenger_phone_number class-attribute instance-attribute
airline_passenger_phone_number = None

The passenger's phone number, including country code. This is an alphanumeric field that can include the '+' and '-' signs. * Encoding: ASCII * minLength: 3 characters * maxLength: 30 characters

airline_passenger_traveller_type class-attribute instance-attribute
airline_passenger_traveller_type = None

The IATA passenger type code (PTC). * Encoding: ASCII * minLength: 3 characters * maxLength: 6 characters

airline_ticket_issue_address class-attribute instance-attribute
airline_ticket_issue_address = None

The address of the organization that issued the ticket. * minLength: 0 characters * maxLength: 16 characters

airline_ticket_number class-attribute instance-attribute
airline_ticket_number = None

The ticket's unique identifier. * minLength: 1 character * maxLength: 15 characters * Must not be all spaces * Must not be all zeros.

airline_travel_agency_code class-attribute instance-attribute
airline_travel_agency_code = None

The unique identifier from IATA or ARC for the travel agency that issues the ticket. * Encoding: ASCII * minLength: 1 character * maxLength: 8 characters * Must not be all spaces * Must not be all zeros.

airline_travel_agency_name class-attribute instance-attribute
airline_travel_agency_name = None

The name of the travel agency.

  • Encoding: ASCII
  • minLength: 1 character
  • maxLength: 25 characters
  • Must not be all spaces
  • Must not be all zeros.
model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

AdditionalDataCarRental

Bases: BaseModel

carRental_checkOutDate class-attribute instance-attribute
carRental_checkOutDate = None

The pick-up date. * Date format: yyyyMMdd

carRental_customerServiceTollFreeNumber class-attribute instance-attribute
carRental_customerServiceTollFreeNumber = None

The customer service phone number of the car rental company. * Format: Alphanumeric * maxLength: 17 * For US and CA numbers must be 10 characters in length * Must not start with a space * Must not contain any special characters such as + or - *Must not be all zeros.

carRental_daysRented class-attribute instance-attribute
carRental_daysRented = None

Number of days for which the car is being rented. * Format: Numeric * maxLength: 4 * Must not be all spaces

carRental_fuelCharges class-attribute instance-attribute
carRental_fuelCharges = None

Any fuel charges associated with the rental, in minor units ⧉. * Format: Numeric * maxLength: 12

carRental_insuranceCharges class-attribute instance-attribute
carRental_insuranceCharges = None

Any insurance charges associated with the rental, in minor units ⧉. * Format: Numeric * maxLength: 12 * Must not be all spaces *Must not be all zeros.

carRental_locationCity class-attribute instance-attribute
carRental_locationCity = None

The city where the car is rented. * Format: Alphanumeric * maxLength: 18 * Must not start with a space or be all spaces *Must not be all zeros.

carRental_locationCountry class-attribute instance-attribute
carRental_locationCountry = None

The country where the car is rented, in ISO 3166-1 alpha-2 ⧉ format. * Format: Alphanumeric * maxLength: 2

carRental_locationStateProvince class-attribute instance-attribute
carRental_locationStateProvince = None

The state or province where the car is rented. * Format: Alphanumeric * maxLength: 2 * Must not start with a space or be all spaces *Must not be all zeros.

carRental_noShowIndicator class-attribute instance-attribute
carRental_noShowIndicator = None

Indicates if the customer didn't pick up their rental car. * Y - Customer did not pick up their car * N - Not applicable

carRental_oneWayDropOffCharges class-attribute instance-attribute
carRental_oneWayDropOffCharges = None

The charge for not returning a car to the original rental location, in minor units ⧉. * maxLength: 12

carRental_rate class-attribute instance-attribute
carRental_rate = None

The daily rental rate, in minor units ⧉. * Format: Alphanumeric * maxLength: 12

carRental_rateIndicator class-attribute instance-attribute
carRental_rateIndicator = None

Specifies whether the given rate is applied daily or weekly. * D - Daily rate * W - Weekly rate

carRental_rentalAgreementNumber class-attribute instance-attribute
carRental_rentalAgreementNumber = None

The rental agreement number for the car rental. * Format: Alphanumeric * maxLength: 9 * Must not start with a space or be all spaces *Must not be all zeros.

carRental_rentalClassId class-attribute instance-attribute
carRental_rentalClassId = None

The classification of the rental car. * Format: Alphanumeric * maxLength: 4 * Must not start with a space or be all spaces *Must not be all zeros.

carRental_renterName class-attribute instance-attribute
carRental_renterName = None

The name of the person renting the car. * Format: Alphanumeric * maxLength: 26 * If you send more than 26 characters, the name is truncated * Must not start with a space or be all spaces *Must not be all zeros.

carRental_returnCity class-attribute instance-attribute
carRental_returnCity = None

The city where the car must be returned. * Format: Alphanumeric * maxLength: 18 * Must not start with a space or be all spaces *Must not be all zeros.

carRental_returnCountry class-attribute instance-attribute
carRental_returnCountry = None

The country where the car must be returned, in ISO 3166-1 alpha-2 ⧉ format. * Format: Alphanumeric * maxLength: 2

carRental_returnDate class-attribute instance-attribute
carRental_returnDate = None

The last date to return the car by. * Date format: yyyyMMdd * maxLength: 8

carRental_returnLocationId class-attribute instance-attribute
carRental_returnLocationId = None

The agency code, phone number, or address abbreviation * Format: Alphanumeric * maxLength: 10 * Must not start with a space or be all spaces *Must not be all zeros.

carRental_returnStateProvince class-attribute instance-attribute
carRental_returnStateProvince = None

The state or province where the car must be returned. * Format: Alphanumeric * maxLength: 3 * Must not start with a space or be all spaces *Must not be all zeros.

carRental_taxExemptIndicator class-attribute instance-attribute
carRental_taxExemptIndicator = None

Indicates if the goods or services were tax-exempt, or if tax was not paid on them.

Values: * Y - Goods or services were tax exempt * N - Tax was not collected

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
travelEntertainmentAuthData_duration class-attribute instance-attribute
travelEntertainmentAuthData_duration = None

Number of days the car is rented for. This should be included in the auth message. * Format: Numeric * maxLength: 4

travelEntertainmentAuthData_market class-attribute instance-attribute
travelEntertainmentAuthData_market = None

Indicates what market-specific dataset will be submitted or is being submitted. Value should be 'A' for car rental. This should be included in the auth message. * Format: Alphanumeric * maxLength: 1

AdditionalDataCommon

Bases: BaseModel

RequestedTestAcquirerResponseCode class-attribute instance-attribute
RequestedTestAcquirerResponseCode = None

Triggers test scenarios that allow to replicate certain acquirer response codes. See Testing result codes and refusal reasons ⧉ to learn about the possible values, and the refusalReason values you can trigger.

RequestedTestErrorResponseCode class-attribute instance-attribute
RequestedTestErrorResponseCode = None

Triggers test scenarios that allow to replicate certain communication errors.

Allowed values: * NO_CONNECTION_AVAILABLE – There wasn't a connection available to service the outgoing communication. This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. * IOEXCEPTION_RECEIVED – Something went wrong during transmission of the message or receiving the response. This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.

allowPartialAuth class-attribute instance-attribute
allowPartialAuth = None

Set to true to authorise a part of the requested amount in case the cardholder does not have enough funds on their account. If a payment was partially authorised, the response includes resultCode: PartiallyAuthorised and the authorised amount in additionalData.authorisedAmountValue. To enable this functionality, contact our Support Team.

authorisationType class-attribute instance-attribute
authorisationType = None

Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to Authorisation types ⧉.

Allowed values: * PreAuth – flags the payment request to be handled as a pre-authorisation. * FinalAuth – flags the payment request to be handled as a final authorisation.

autoRescue class-attribute instance-attribute
autoRescue = None

Set to true to enable Auto Rescue ⧉ for a transaction. Use the maxDaysToRescue to specify a rescue window.

customRoutingFlag class-attribute instance-attribute
customRoutingFlag = None

Allows you to determine or override the acquirer account that should be used for the transaction.

If you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.

To enable this functionality, contact Support ⧉.

industryUsage class-attribute instance-attribute
industryUsage = None

In case of asynchronous authorisation adjustment ⧉, this field denotes why the additional payment is made.

Possible values:

  • NoShow: An incremental charge is carried out because of a no-show for a guaranteed reservation.

  • DelayedCharge: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.

manualCapture class-attribute instance-attribute
manualCapture = None

Set to true to require manual capture ⧉ for the transaction.

maxDaysToRescue class-attribute instance-attribute
maxDaysToRescue = None

The rescue window for a transaction, in days, when autoRescue is set to true. You can specify a value between 1 and 48.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
networkTxReference class-attribute instance-attribute
networkTxReference = None

Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.

Transaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.

Submit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.

Make sure you are sending shopperInteraction ContAuth and recurringProcessingModel Subscription or UnscheduledCardOnFile to ensure that the transaction is classified as MIT.

overwriteBrand class-attribute instance-attribute
overwriteBrand = None

Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the selectedBrand value to specify how to process the transaction.

subMerchantCity class-attribute instance-attribute
subMerchantCity = None

This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address. * Format: alpha-numeric. * Maximum length: 13 characters.

subMerchantCountry class-attribute instance-attribute
subMerchantCountry = None

This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address. * Format: alpha-numeric. * Fixed length: 3 characters.

subMerchantEmail class-attribute instance-attribute
subMerchantEmail = None

This field is required for transactions performed by registered payment facilitators. This field contains the email address of the sub-merchant. * Format: Alphanumeric * Maximum length: 40 characters

subMerchantID class-attribute instance-attribute
subMerchantID = None

This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID.

A unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator. * Format: alpha-numeric. * Fixed length: 15 characters.

subMerchantName class-attribute instance-attribute
subMerchantName = None

This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant. * Format: alpha-numeric. * Maximum length: 22 characters.

subMerchantPhoneNumber class-attribute instance-attribute
subMerchantPhoneNumber = None

This field is required for transactions performed by registered payment facilitators. This field contains the phone number of the sub-merchant.* Format: Alphanumeric * Maximum length: 20 characters

subMerchantPostalCode class-attribute instance-attribute
subMerchantPostalCode = None

This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address. * Format: alpha-numeric. * Maximum length: 10 characters.

subMerchantState class-attribute instance-attribute
subMerchantState = None

This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address. * Format: alpha-numeric. * Maximum length: 3 characters.

subMerchantStreet class-attribute instance-attribute
subMerchantStreet = None

This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address. * Format: alpha-numeric. * Maximum length: 60 characters.

subMerchantTaxId class-attribute instance-attribute
subMerchantTaxId = None

This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant. * Format: alpha-numeric. * Fixed length: 11 or 14 characters.

AdditionalDataLevel23

Bases: BaseModel

enhancedSchemeData_customerReference class-attribute instance-attribute
enhancedSchemeData_customerReference = None

The reference number to identify the customer and their order. * Encoding: ASCII * Max length: 25 characters * Must not start with a space or be all spaces. * Must not be all zeros.

enhancedSchemeData_destinationCountryCode class-attribute instance-attribute
enhancedSchemeData_destinationCountryCode = None

The three-letter ISO 3166-1 alpha-3 country code ⧉ for the destination address. * Encoding: ASCII * Fixed length: 3 characters

enhancedSchemeData_destinationPostalCode class-attribute instance-attribute
enhancedSchemeData_destinationPostalCode = None

The postal code of the destination address. * Encoding: ASCII * Max length: 10 characters * Must not start with a space. * For the US, it must be in five or nine digits format. For example, 10001 or 10001-0000. * For Canada, it must be in 6 digits format. For example, M4B 1G5.

enhancedSchemeData_destinationStateProvinceCode class-attribute instance-attribute
enhancedSchemeData_destinationStateProvinceCode = None

The state or province code of the destination address. * Encoding: ASCII * Max length: 3 characters * Must not start with a space.

enhancedSchemeData_dutyAmount class-attribute instance-attribute
enhancedSchemeData_dutyAmount = None

The duty tax amount, in minor units ⧉. * For example, 2000 means USD 20.00. * Encoding: Numeric * Max length: 12 characters

enhancedSchemeData_freightAmount class-attribute instance-attribute
enhancedSchemeData_freightAmount = None

The shipping amount, in minor units ⧉. * For example, 2000 means USD 20.00. * Encoding: Numeric * Max length: 12 characters

enhancedSchemeData_itemDetailLine_itemNr__commodityCode class-attribute instance-attribute
enhancedSchemeData_itemDetailLine_itemNr__commodityCode = (
    None
)

The code that identifies the item in a standardized commodity coding scheme. There are different commodity coding schemes: * UNSPSC commodity codes ⧉ * HS commodity codes ⧉ * NAICS commodity codes ⧉ * NAPCS commodity codes ⧉

  • Encoding: ASCII
  • Max length: 12 characters
  • Must not start with a space or be all spaces.
  • Must not be all zeros.
enhancedSchemeData_itemDetailLine_itemNr__description class-attribute instance-attribute
enhancedSchemeData_itemDetailLine_itemNr__description = None

A description of the item, that provides details about the purchase.

For Visa transactions with level 3 ESD, the description must not be the same or very similar to your merchant name, or, consist only of common words like "product", or "service". * Encoding: ASCII * Max length: 26 characters * Must not be a single character. * Must not be blank. * Must not be all special characters. * Must not be blank. * Must not start with a space or be all spaces. * Must not be all zeros.

enhancedSchemeData_itemDetailLine_itemNr__discountAmount class-attribute instance-attribute
enhancedSchemeData_itemDetailLine_itemNr__discountAmount = (
    None
)

The discount amount, in minor units ⧉. * For example, 2000 means USD 20.00. * Encoding: Numeric * Max length: 12 characters

enhancedSchemeData_itemDetailLine_itemNr__productCode class-attribute instance-attribute
enhancedSchemeData_itemDetailLine_itemNr__productCode = None

The product code. Must be a unique product code associated with the item or service. This can be your unique code for the item, or the manufacturer's product code. * Encoding: ASCII. * Max length: 12 characters * Must not start with a space or be all spaces. * Must not be all zeros.

enhancedSchemeData_itemDetailLine_itemNr__quantity class-attribute instance-attribute
enhancedSchemeData_itemDetailLine_itemNr__quantity = None

The number of items. Must be an integer greater than zero. * Encoding: Numeric * Max length: 12 characters * Must not start with a space or be all spaces.

enhancedSchemeData_itemDetailLine_itemNr__totalAmount class-attribute instance-attribute
enhancedSchemeData_itemDetailLine_itemNr__totalAmount = None

The total amount for the line item, in minor units ⧉. See Amount requirements for level 2/3 ESD ⧉ to learn more about how to calculate the line item total. * For example, 2000 means USD 20.00. * Max length: 12 characters * Must not start with a space or be all spaces. * Must not be all zeros.

enhancedSchemeData_itemDetailLine_itemNr__unitOfMeasure class-attribute instance-attribute
enhancedSchemeData_itemDetailLine_itemNr__unitOfMeasure = (
    None
)

The unit of measurement for an item. * Encoding: ASCII * Max length: 3 characters * Must not start with a space or be all spaces. * Must not be all zeros.

enhancedSchemeData_itemDetailLine_itemNr__unitPrice class-attribute instance-attribute
enhancedSchemeData_itemDetailLine_itemNr__unitPrice = None

The unit price in minor units ⧉. * For example, 2000 means USD 20.00. * Encoding: Numeric * Max length: 12 characters * Must not be all zeros.

enhancedSchemeData_orderDate class-attribute instance-attribute
enhancedSchemeData_orderDate = None

The order date. * Format: ddMMyy * Encoding: ASCII * Max length: 6 characters

enhancedSchemeData_shipFromPostalCode class-attribute instance-attribute
enhancedSchemeData_shipFromPostalCode = None

The postal code of the address where the item is shipped from. * Encoding: ASCII * Max length: 10 characters * Must not start with a space or be all spaces. * Must not be all zeros.For the US, it must be in five or nine digits format. For example, 10001 or 10001-0000. * For Canada, it must be in 6 digits format. For example, M4B 1G5.

enhancedSchemeData_totalTaxAmount class-attribute instance-attribute
enhancedSchemeData_totalTaxAmount = None

The amount of state or provincial tax included in the total transaction amount ⧉, in minor units ⧉. * For example, 2000 means USD 20.00. * Encoding: Numeric * Max length: 12 characters * For L2 data: must not be all zeroes. * For L3 data: can be zero.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

AdditionalDataLodging

Bases: BaseModel

lodging_SpecialProgramCode class-attribute instance-attribute
lodging_SpecialProgramCode = None

A code that corresponds to the category of lodging charges for the payment. Possible values: * 1: Lodging * 2: No show reservation * 3: Advanced deposit

lodging_checkInDate class-attribute instance-attribute
lodging_checkInDate = None

The arrival date. * Date format: yyyyMmDd. For example, for 2023 April 22, 20230422.

lodging_checkOutDate class-attribute instance-attribute
lodging_checkOutDate = None

The departure date. * Date format: yyyyMmDd. For example, for 2023 April 22, 20230422.

lodging_customerServiceTollFreeNumber class-attribute instance-attribute
lodging_customerServiceTollFreeNumber = None

The toll-free phone number for the lodging. * Format: numeric * Max length: 17 characters. * For US and CA numbers must be 10 characters in length * Must not start with a space * Must not contain any special characters such as + or - * Must not be all zeros.

lodging_fireSafetyActIndicator class-attribute instance-attribute
lodging_fireSafetyActIndicator = None

Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Must be 'Y' or 'N'. * Format: alphabetic * Max length: 1 character

lodging_folioCashAdvances class-attribute instance-attribute
lodging_folioCashAdvances = None

The folio cash advances, in minor units ⧉. * Format: numeric * Max length: 12 characters

lodging_folioNumber class-attribute instance-attribute
lodging_folioNumber = None

The card acceptor’s internal invoice or billing ID reference number. * Max length: 25 characters * Must not start with a space * Must not contain any special characters * Must not be all zeros.

lodging_foodBeverageCharges class-attribute instance-attribute
lodging_foodBeverageCharges = None

Any charges for food and beverages associated with the booking, in minor units ⧉. * Format: numeric * Max length: 12 characters

lodging_noShowIndicator class-attribute instance-attribute
lodging_noShowIndicator = None

Indicates if the customer didn't check in for their booking. Possible values: * Y: the customer didn't check in * N: the customer checked in

lodging_prepaidExpenses class-attribute instance-attribute
lodging_prepaidExpenses = None

The prepaid expenses for the booking. * Format: numeric * Max length: 12 characters

lodging_propertyPhoneNumber class-attribute instance-attribute
lodging_propertyPhoneNumber = None

The lodging property location's phone number. * Format: numeric * Min length: 10 characters * Max length: 17 characters * For US and CA numbers must be 10 characters in length * Must not start with a space * Must not contain any special characters such as + or - * Must not be all zeros.

lodging_room1_numberOfNights class-attribute instance-attribute
lodging_room1_numberOfNights = None

The total number of nights the room is booked for. * Format: numeric * Must be a number between 0 and 99 * Max length: 4 characters

lodging_room1_rate class-attribute instance-attribute
lodging_room1_rate = None

The rate for the room, in minor units ⧉. * Format: numeric * Max length: 12 characters * Must not be a negative number

lodging_totalRoomTax class-attribute instance-attribute
lodging_totalRoomTax = None

The total room tax amount, in minor units ⧉. * Format: numeric * Max length: 12 characters * Must not be a negative number

lodging_totalTax class-attribute instance-attribute
lodging_totalTax = None

The total tax amount, in minor units ⧉. * Format: numeric * Max length: 12 characters * Must not be a negative number

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
travelEntertainmentAuthData_duration class-attribute instance-attribute
travelEntertainmentAuthData_duration = None

The number of nights. This should be included in the auth message. * Format: numeric * Max length: 4 characters

travelEntertainmentAuthData_market class-attribute instance-attribute
travelEntertainmentAuthData_market = None

Indicates what market-specific dataset will be submitted. Must be 'H' for Hotel. This should be included in the auth message.

  • Format: alphanumeric
  • Max length: 1 character

AdditionalDataOpenInvoice

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
openinvoicedataLine_itemNr__currencyCode class-attribute instance-attribute
openinvoicedataLine_itemNr__currencyCode = None

The three-character ISO currency code.

openinvoicedataLine_itemNr__description class-attribute instance-attribute
openinvoicedataLine_itemNr__description = None

A text description of the product the invoice line refers to.

openinvoicedataLine_itemNr__itemAmount class-attribute instance-attribute
openinvoicedataLine_itemNr__itemAmount = None

The price for one item in the invoice line, represented in minor units.

The due amount for the item, VAT excluded.

openinvoicedataLine_itemNr__itemId class-attribute instance-attribute
openinvoicedataLine_itemNr__itemId = None

A unique id for this item. Required for RatePay if the description of each item is not unique.

openinvoicedataLine_itemNr__itemVatAmount class-attribute instance-attribute
openinvoicedataLine_itemNr__itemVatAmount = None

The VAT due for one item in the invoice line, represented in minor units.

openinvoicedataLine_itemNr__itemVatPercentage class-attribute instance-attribute
openinvoicedataLine_itemNr__itemVatPercentage = None

The VAT percentage for one item in the invoice line, represented in minor units.

For example, 19% VAT is specified as 1900.

openinvoicedataLine_itemNr__numberOfItems class-attribute instance-attribute
openinvoicedataLine_itemNr__numberOfItems = None

The number of units purchased of a specific product.

openinvoicedataLine_itemNr__returnShippingCompany class-attribute instance-attribute
openinvoicedataLine_itemNr__returnShippingCompany = None

Name of the shipping company handling the the return shipment.

openinvoicedataLine_itemNr__returnTrackingNumber class-attribute instance-attribute
openinvoicedataLine_itemNr__returnTrackingNumber = None

The tracking number for the return of the shipment.

openinvoicedataLine_itemNr__returnTrackingUri class-attribute instance-attribute
openinvoicedataLine_itemNr__returnTrackingUri = None

URI where the customer can track the return of their shipment.

openinvoicedataLine_itemNr__shippingCompany class-attribute instance-attribute
openinvoicedataLine_itemNr__shippingCompany = None

Name of the shipping company handling the delivery.

openinvoicedataLine_itemNr__shippingMethod class-attribute instance-attribute
openinvoicedataLine_itemNr__shippingMethod = None

Shipping method.

openinvoicedataLine_itemNr__trackingNumber class-attribute instance-attribute
openinvoicedataLine_itemNr__trackingNumber = None

The tracking number for the shipment.

openinvoicedataLine_itemNr__trackingUri class-attribute instance-attribute
openinvoicedataLine_itemNr__trackingUri = None

URI where the customer can track their shipment.

openinvoicedata_merchantData class-attribute instance-attribute
openinvoicedata_merchantData = None

Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string.

The merchantData parameter needs to be added to the openinvoicedata signature at the end.

Since the field is optional, if it's not included it does not impact computing the merchant signature.

Applies only to Klarna.

You can contact Klarna for the format and structure of the string.

openinvoicedata_numberOfLines class-attribute instance-attribute
openinvoicedata_numberOfLines = None

The number of invoice lines included in openinvoicedata.

There needs to be at least one line, so numberOfLines needs to be at least 1.

openinvoicedata_recipientFirstName class-attribute instance-attribute
openinvoicedata_recipientFirstName = None

First name of the recipient. If the delivery address and the billing address are different, specify the recipientFirstName and recipientLastName to share the delivery address with Klarna. Otherwise, only the billing address is shared with Klarna.

openinvoicedata_recipientLastName class-attribute instance-attribute
openinvoicedata_recipientLastName = None

Last name of the recipient. If the delivery address and the billing address are different, specify the recipientFirstName and recipientLastName to share the delivery address with Klarna. Otherwise, only the billing address is shared with Klarna.

AdditionalDataOpi

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
opi_includeTransToken class-attribute instance-attribute
opi_includeTransToken = None

Optional boolean indicator. Set to true if you want an ecommerce transaction to return an opi.transToken as additional data in the response.

You can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see Oracle Opera ⧉.

AdditionalDataRatepay

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
ratepay_installmentAmount class-attribute instance-attribute
ratepay_installmentAmount = None

Amount the customer has to pay each month.

ratepay_interestRate class-attribute instance-attribute
ratepay_interestRate = None

Interest rate of this installment.

ratepay_lastInstallmentAmount class-attribute instance-attribute
ratepay_lastInstallmentAmount = None

Amount of the last installment.

ratepay_paymentFirstday class-attribute instance-attribute
ratepay_paymentFirstday = None

Calendar day of the first payment.

ratepaydata_deliveryDate class-attribute instance-attribute
ratepaydata_deliveryDate = None

Date the merchant delivered the goods to the customer.

ratepaydata_dueDate class-attribute instance-attribute
ratepaydata_dueDate = None

Date by which the customer must settle the payment.

ratepaydata_invoiceDate class-attribute instance-attribute
ratepaydata_invoiceDate = None

Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.

ratepaydata_invoiceId class-attribute instance-attribute
ratepaydata_invoiceId = None

Identification name or number for the invoice, defined by the merchant.

AdditionalDataRetry

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
retry_chainAttemptNumber class-attribute instance-attribute
retry_chainAttemptNumber = None

The number of times the transaction (not order) has been retried between different payment service providers. For instance, the chainAttemptNumber set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.

If you submit retry.chainAttemptNumber, retry.orderAttemptNumber, and retry.skipRetry values, we also recommend you provide the merchantOrderReference to facilitate linking payment attempts together.

retry_orderAttemptNumber class-attribute instance-attribute
retry_orderAttemptNumber = None

The index of the attempt to bill a particular order, which is identified by the merchantOrderReference field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.

If you submit retry.chainAttemptNumber, retry.orderAttemptNumber, and retry.skipRetry values, we also recommend you provide the merchantOrderReference to facilitate linking payment attempts together.

retry_skipRetry class-attribute instance-attribute
retry_skipRetry = None

The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.

If you submit retry.chainAttemptNumber, retry.orderAttemptNumber, and retry.skipRetry values, we also recommend you provide the merchantOrderReference to facilitate linking payment attempts together.

AdditionalDataRisk

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
riskdata__customFieldName_ class-attribute instance-attribute
riskdata__customFieldName_ = None

The data for your custom risk field. For more information, refer to Create custom risk fields ⧉.

riskdata_basket_item_itemNr__amountPerItem class-attribute instance-attribute
riskdata_basket_item_itemNr__amountPerItem = None

The price of item in the basket, represented in minor units ⧉.

riskdata_basket_item_itemNr__brand class-attribute instance-attribute
riskdata_basket_item_itemNr__brand = None

Brand of the item.

riskdata_basket_item_itemNr__category class-attribute instance-attribute
riskdata_basket_item_itemNr__category = None

Category of the item.

riskdata_basket_item_itemNr__color class-attribute instance-attribute
riskdata_basket_item_itemNr__color = None

Color of the item.

riskdata_basket_item_itemNr__currency class-attribute instance-attribute
riskdata_basket_item_itemNr__currency = None

The three-character ISO currency code ⧉.

riskdata_basket_item_itemNr__itemID class-attribute instance-attribute
riskdata_basket_item_itemNr__itemID = None

ID of the item.

riskdata_basket_item_itemNr__manufacturer class-attribute instance-attribute
riskdata_basket_item_itemNr__manufacturer = None

Manufacturer of the item.

riskdata_basket_item_itemNr__productTitle class-attribute instance-attribute
riskdata_basket_item_itemNr__productTitle = None

A text description of the product the invoice line refers to.

riskdata_basket_item_itemNr__quantity class-attribute instance-attribute
riskdata_basket_item_itemNr__quantity = None

Quantity of the item purchased.

riskdata_basket_item_itemNr__receiverEmail class-attribute instance-attribute
riskdata_basket_item_itemNr__receiverEmail = None

Email associated with the given product in the basket (usually in electronic gift cards).

riskdata_basket_item_itemNr__size class-attribute instance-attribute
riskdata_basket_item_itemNr__size = None

Size of the item.

riskdata_basket_item_itemNr__sku class-attribute instance-attribute
riskdata_basket_item_itemNr__sku = None
riskdata_basket_item_itemNr__upc class-attribute instance-attribute
riskdata_basket_item_itemNr__upc = None
riskdata_promotions_promotion_itemNr__promotionCode class-attribute instance-attribute
riskdata_promotions_promotion_itemNr__promotionCode = None

Code of the promotion.

riskdata_promotions_promotion_itemNr__promotionDiscountAmount class-attribute instance-attribute
riskdata_promotions_promotion_itemNr__promotionDiscountAmount = (
    None
)

The discount amount of the promotion, represented in minor units ⧉.

riskdata_promotions_promotion_itemNr__promotionDiscountCurrency class-attribute instance-attribute
riskdata_promotions_promotion_itemNr__promotionDiscountCurrency = (
    None
)

The three-character ISO currency code ⧉.

riskdata_promotions_promotion_itemNr__promotionDiscountPercentage class-attribute instance-attribute
riskdata_promotions_promotion_itemNr__promotionDiscountPercentage = (
    None
)

Promotion's percentage discount. It is represented in percentage value and there is no need to include the '%' sign.

e.g. for a promotion discount of 30%, the value of the field should be 30.

riskdata_promotions_promotion_itemNr__promotionName class-attribute instance-attribute
riskdata_promotions_promotion_itemNr__promotionName = None

Name of the promotion.

riskdata_riskProfileReference class-attribute instance-attribute
riskdata_riskProfileReference = None

Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see dynamically assign a risk profile to a payment ⧉.

riskdata_skipRisk class-attribute instance-attribute
riskdata_skipRisk = None

If this parameter is provided with the value true, risk checks for the payment request are skipped and the transaction will not get a risk score.

AdditionalDataRiskStandalone

Bases: BaseModel

PayPal_CountryCode class-attribute instance-attribute
PayPal_CountryCode = None

Shopper's country of residence in the form of ISO standard 3166 2-character country codes.

PayPal_EmailId class-attribute instance-attribute
PayPal_EmailId = None

Shopper's email.

PayPal_FirstName class-attribute instance-attribute
PayPal_FirstName = None

Shopper's first name.

PayPal_LastName class-attribute instance-attribute
PayPal_LastName = None

Shopper's last name.

PayPal_PayerId class-attribute instance-attribute
PayPal_PayerId = None

Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.

PayPal_Phone class-attribute instance-attribute
PayPal_Phone = None

Shopper's phone number.

PayPal_ProtectionEligibility class-attribute instance-attribute
PayPal_ProtectionEligibility = None

Allowed values: * Eligible — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.

  • PartiallyEligible — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.

  • Ineligible — Merchant is not protected under the Seller Protection Policy.

PayPal_TransactionId class-attribute instance-attribute
PayPal_TransactionId = None

Unique transaction ID of the payment.

avsResultRaw class-attribute instance-attribute
avsResultRaw = None

Raw AVS result received from the acquirer, where available. Example: D

bin class-attribute instance-attribute
bin = None

The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for tokenized card request ⧉.

cvcResultRaw class-attribute instance-attribute
cvcResultRaw = None

Raw CVC result received from the acquirer, where available. Example: 1

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
riskToken class-attribute instance-attribute
riskToken = None

Unique identifier or token for the shopper's card details.

threeDAuthenticated class-attribute instance-attribute
threeDAuthenticated = None

A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true

threeDOffered class-attribute instance-attribute
threeDOffered = None

A Boolean value indicating whether 3DS was offered for this payment. Example: true

tokenDataType class-attribute instance-attribute
tokenDataType = None

Required for PayPal payments only. The only supported value is: paypal.

AdditionalDataSubMerchant

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
subMerchant_numberOfSubSellers class-attribute instance-attribute
subMerchant_numberOfSubSellers = None

Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, 3.

subMerchant_subSeller_subSellerNr__city class-attribute instance-attribute
subMerchant_subSeller_subSellerNr__city = None

Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address. * Format: Alphanumeric * Maximum length: 13 characters

subMerchant_subSeller_subSellerNr__country class-attribute instance-attribute
subMerchant_subSeller_subSellerNr__country = None

Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, BRA for Brazil. * Format: ISO 3166-1 alpha-3 ⧉ * Fixed length: 3 characters

subMerchant_subSeller_subSellerNr__email class-attribute instance-attribute
subMerchant_subSeller_subSellerNr__email = None

Required for transactions performed by registered payment facilitators. The email address of the sub-merchant. * Format: Alphanumeric * Maximum length: 40 characters

subMerchant_subSeller_subSellerNr__id class-attribute instance-attribute
subMerchant_subSeller_subSellerNr__id = None

Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. * Format: Alphanumeric * Maximum length: 15 characters

subMerchant_subSeller_subSellerNr__mcc class-attribute instance-attribute
subMerchant_subSeller_subSellerNr__mcc = None

Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). * Format: Numeric * Fixed length: 4 digits

subMerchant_subSeller_subSellerNr__name class-attribute instance-attribute
subMerchant_subSeller_subSellerNr__name = None

Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement. Exception: for acquirers in Brazil, this value does not overwrite the shopper statement. * Format: Alphanumeric * Maximum length: 22 characters

subMerchant_subSeller_subSellerNr__phoneNumber class-attribute instance-attribute
subMerchant_subSeller_subSellerNr__phoneNumber = None

Required for transactions performed by registered payment facilitators. The phone number of the sub-merchant. * Format: Alphanumeric and special characters * Maximum length: 20 characters

subMerchant_subSeller_subSellerNr__postalCode class-attribute instance-attribute
subMerchant_subSeller_subSellerNr__postalCode = None

Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes. * Format: Numeric * Fixed length: 8 digits

subMerchant_subSeller_subSellerNr__state class-attribute instance-attribute
subMerchant_subSeller_subSellerNr__state = None

Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country. * Format: Alphanumeric * Maximum length: 2 characters

subMerchant_subSeller_subSellerNr__street class-attribute instance-attribute
subMerchant_subSeller_subSellerNr__street = None

Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address. * Format: Alphanumeric * Maximum length: 60 characters

subMerchant_subSeller_subSellerNr__taxId class-attribute instance-attribute
subMerchant_subSeller_subSellerNr__taxId = None

Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant. * Format: Numeric * Fixed length: 11 digits for the CPF or 14 digits for the CNPJ

AdditionalDataTemporaryServices

Bases: BaseModel

enhancedSchemeData_customerReference class-attribute instance-attribute
enhancedSchemeData_customerReference = None

The customer code, if supplied by a customer. * Encoding: ASCII * maxLength: 25

enhancedSchemeData_employeeName class-attribute instance-attribute
enhancedSchemeData_employeeName = None

The name or ID of the person working in a temporary capacity. * maxLength: 40. * Must not be all spaces. *Must not be all zeros.

enhancedSchemeData_jobDescription class-attribute instance-attribute
enhancedSchemeData_jobDescription = None

The job description of the person working in a temporary capacity. * maxLength: 40 * Must not be all spaces. *Must not be all zeros.

enhancedSchemeData_regularHoursRate class-attribute instance-attribute
enhancedSchemeData_regularHoursRate = None

The amount paid for regular hours worked, minor units ⧉. * maxLength: 7 * Must not be empty * Can be all zeros

enhancedSchemeData_regularHoursWorked class-attribute instance-attribute
enhancedSchemeData_regularHoursWorked = None

The hours worked. * maxLength: 7 * Must not be empty * Can be all zeros

enhancedSchemeData_requestName class-attribute instance-attribute
enhancedSchemeData_requestName = None

The name of the person requesting temporary services. * maxLength: 40 * Must not be all zeros * Must not be all spaces

enhancedSchemeData_tempStartDate class-attribute instance-attribute
enhancedSchemeData_tempStartDate = None

The billing period start date. * Format: ddMMyy * maxLength: 6

enhancedSchemeData_tempWeekEnding class-attribute instance-attribute
enhancedSchemeData_tempWeekEnding = None

The billing period end date. * Format: ddMMyy * maxLength: 6

enhancedSchemeData_totalTaxAmount class-attribute instance-attribute
enhancedSchemeData_totalTaxAmount = None

The total tax amount, in minor units ⧉. For example, 2000 means USD 20.00 * maxLength: 12

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

AdditionalDataWallets

Bases: BaseModel

androidpay_token class-attribute instance-attribute
androidpay_token = None

The Android Pay token retrieved from the SDK.

masterpass_transactionId class-attribute instance-attribute
masterpass_transactionId = None

The Mastercard Masterpass Transaction ID retrieved from the SDK.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
payment_token class-attribute instance-attribute
payment_token = None

The Apple Pay token retrieved from the SDK.

paywithgoogle_token class-attribute instance-attribute
paywithgoogle_token = None

The Google Pay token retrieved from the SDK.

samsungpay_token class-attribute instance-attribute
samsungpay_token = None

The Samsung Pay token retrieved from the SDK.

visacheckout_callId class-attribute instance-attribute
visacheckout_callId = None

The Visa Checkout Call ID retrieved from the SDK.

Address

Bases: BaseModel

city instance-attribute
city

The name of the city. Maximum length: 3000 characters.

country instance-attribute
country

The two-character ISO-3166-1 alpha-2 country code. For example, US.

If you don't know the country or are not collecting the country from the shopper, provide country as ZZ.

houseNumberOrName instance-attribute
houseNumberOrName

The number or name of the house. Maximum length: 3000 characters.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
postalCode instance-attribute
postalCode

A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries.

stateOrProvince class-attribute instance-attribute
stateOrProvince = None

The two-character ISO 3166-2 state or province code. For example, CA in the US or ON in Canada.

Required for the US and Canada.

street instance-attribute
street

The name of the street. Maximum length: 3000 characters.

The house number should not be included in this field; it should be separately provided via houseNumberOrName.

AffirmDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

type class-attribute instance-attribute
type = 'affirm'

affirm

AfterpayDetails

Bases: BaseModel

billingAddress class-attribute instance-attribute
billingAddress = None

The address where to send the invoice.

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

deliveryAddress class-attribute instance-attribute
deliveryAddress = None

The address where the goods should be delivered.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
personalDetails class-attribute instance-attribute
personalDetails = None

Shopper name, date of birth, phone number, and email address.

recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type instance-attribute
type

afterpay_default

Agency

Bases: BaseModel

invoiceNumber class-attribute instance-attribute
invoiceNumber = None

The reference number for the invoice, issued by the agency. * Encoding: ASCII * minLength: 1 character * maxLength: 6 characters

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
planName class-attribute instance-attribute
planName = None

The two-letter agency plan identifier. * Encoding: ASCII * minLength: 2 characters * maxLength: 2 characters

Airline

Bases: BaseModel

agency class-attribute instance-attribute
agency = None
boardingFee class-attribute instance-attribute
boardingFee = None

The amount charged for boarding the plane, in minor units ⧉. * Encoding: Numeric * minLength: 1 character * maxLength: 11 characters

code class-attribute instance-attribute
code = None

The IATA ⧉ 3-digit accounting code (PAX) that identifies the carrier. * Format: IATA 3-digit accounting code (PAX) * Example: KLM = 074 * minLength: 3 characters * maxLength: 3 characters * Must not start with a space or be all spaces. * Must not be all zeros.

computerizedReservationSystem class-attribute instance-attribute
computerizedReservationSystem = None

The CRS ⧉ used to make the reservation and purchase the ticket. * Encoding: ASCII * minLength: 4 characters * maxLength: 4 characters

customerReferenceNumber class-attribute instance-attribute
customerReferenceNumber = None

The alphanumeric customer reference number. * Encoding: ASCII * maxLength: 20 characters * If you send more than 20 characters, the customer reference number is truncated * Must not start with a space or be all spaces.

designatorCode class-attribute instance-attribute
designatorCode = None

The IATA ⧉ 2-letter accounting code (PAX) that identifies the carrier. * Encoding: ASCII * Example: KLM = KL * minLength: 2 characters * maxLength: 2 characters * Must not start with a space or be all spaces.

documentType class-attribute instance-attribute
documentType = None

A code that identifies the type of item bought. The description of the code can appear on credit card statements. * Encoding: ASCII * Example: Passenger ticket = 01 * minLength: 2 characters * maxLength: 2 characters

flightDate class-attribute instance-attribute
flightDate = None

The flight departure date. Time is optional. * Format for date only: yyyy-MM-dd * Format for date and time: yyyy-MM-ddTHH:mm * Use local time of departure airport. * minLength: 10 characters * maxLength: 16 characters

legs class-attribute instance-attribute
legs = None
model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
passengerName instance-attribute
passengerName

The passenger's name, initials, and title. * Format: last name + first name or initials + title * Example: FLYER / MARY MS * minLength: 1 character * maxLength: 20 characters * If you send more than 20 characters, the name is truncated * Must not start with a space or be all spaces. * Must not be all zeros.

passengers class-attribute instance-attribute
passengers = None
ticket class-attribute instance-attribute
ticket = None
travelAgency class-attribute instance-attribute
travelAgency = None

AmazonPayDetails

Bases: BaseModel

amazonPayToken class-attribute instance-attribute
amazonPayToken = None

This is the amazonPayToken that you obtained from the Get Checkout Session ⧉ response. This token is used for API only integration specifically.

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

checkoutSessionId class-attribute instance-attribute
checkoutSessionId = None

The checkoutSessionId is used to identify the checkout session at the Amazon Pay side. This field is required only for drop-in and components integration, where it replaces the amazonPayToken.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

type class-attribute instance-attribute
type = 'amazonpay'

amazonpay

Amount

Bases: BaseModel

currency instance-attribute
currency

The three-character ISO currency code ⧉.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
value instance-attribute
value

The amount of the transaction, in minor units ⧉.

Amounts

Bases: BaseModel

currency instance-attribute
currency

The three-character ISO currency code ⧉.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
values instance-attribute
values

The amounts of the donation (in minor units ⧉).

AncvDetails

Bases: BaseModel

beneficiaryId class-attribute instance-attribute
beneficiaryId = None

ANCV account identification (email or account number)

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type class-attribute instance-attribute
type = None

ancv

AndroidPayDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

type class-attribute instance-attribute
type = 'androidpay'

androidpay

ApplePayDetails

Bases: BaseModel

applePayToken instance-attribute
applePayToken

The stringified and base64 encoded paymentData you retrieved from the Apple framework.

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

fundingSource class-attribute instance-attribute
fundingSource = None

The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to debit.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type class-attribute instance-attribute
type = 'applepay'

applepay

ApplePayDonations

Bases: BaseModel

applePayToken instance-attribute
applePayToken

The stringified and base64 encoded paymentData you retrieved from the Apple framework.

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

fundingSource class-attribute instance-attribute
fundingSource = None

The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to debit.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type class-attribute instance-attribute
type = 'applepay'

applepay

ApplePaySessionRequest

Bases: BaseModel

displayName instance-attribute
displayName

This is the name that your shoppers will see in the Apple Pay interface.

The value returned as configuration.merchantName field from the /paymentMethods ⧉ response.

domainName instance-attribute
domainName

The domain name you provided when you added Apple Pay in your Customer Area.

This must match the window.location.hostname of the web shop.

merchantIdentifier instance-attribute
merchantIdentifier

Your merchant identifier registered with Apple Pay.

Use the value of the configuration.merchantId field from the /paymentMethods ⧉ response.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

ApplePaySessionResponse

Bases: BaseModel

data instance-attribute
data

Base64 encoded data you need to complete the Apple Pay merchant validation ⧉.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

ApplicationInfo

Bases: BaseModel

adyenLibrary class-attribute instance-attribute
adyenLibrary = None

Adyen-developed software, such as libraries and plugins, used to interact with the Adyen API. For example, Magento plugin, Java API library, etc.

adyenPaymentSource class-attribute instance-attribute
adyenPaymentSource = None

Adyen-developed software to get payment details. For example, Checkout SDK, Secured Fields SDK, etc.

externalPlatform class-attribute instance-attribute
externalPlatform = None

Third-party developed platform used to initiate payment requests. For example, Magento, Zuora, etc.

merchantApplication class-attribute instance-attribute
merchantApplication = None

Merchant developed software, such as cashier application, used to interact with the Adyen API.

merchantDevice class-attribute instance-attribute
merchantDevice = None

Merchant device information.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
shopperInteractionDevice class-attribute instance-attribute
shopperInteractionDevice = None

Shopper interaction device, such as terminal, mobile device or web browser, to initiate payment requests.

AuthenticationData

Bases: BaseModel

attemptAuthentication class-attribute instance-attribute
attemptAuthentication = None

Indicates when 3D Secure authentication should be attempted. This overrides all other rules, including Dynamic 3D Secure settings ⧉.

Possible values:

  • always: Perform 3D Secure authentication.
  • never: Don't perform 3D Secure authentication. If PSD2 SCA or other national regulations require authentication, the transaction gets declined.
authenticationOnly class-attribute instance-attribute
authenticationOnly = False

Required to trigger the authentication-only flow ⧉. If set to true, you will only perform the 3D Secure 2 authentication, and will not proceed to the payment authorization. Default: false.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
threeDSRequestData class-attribute instance-attribute
threeDSRequestData = None

Object with additional parameters for the 3D Secure authentication flow.

BacsDirectDebitDetails

Bases: BaseModel

bankAccountNumber class-attribute instance-attribute
bankAccountNumber = None

The bank account number (without separators).

bankLocationId class-attribute instance-attribute
bankLocationId = None

The bank routing number of the account.

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

holderName class-attribute instance-attribute
holderName = None

The name of the bank account holder.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

transferInstrumentId class-attribute instance-attribute
transferInstrumentId = None

The unique identifier of your user's verified transfer instrument, which you can use to top up their balance accounts.

type class-attribute instance-attribute
type = 'directdebit_GB'

directdebit_GB

BalanceCheckRequest

Bases: BaseModel

accountInfo class-attribute instance-attribute
accountInfo = None

Shopper account information for 3D Secure 2.

For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.

additionalAmount class-attribute instance-attribute
additionalAmount = None

If you want a BIN or card verification ⧉ request to use a non-zero value, assign this value to additionalAmount (while the amount must be still set to 0 to trigger BIN or card verification). Required to be in the same currency as the amount.

additionalData class-attribute instance-attribute
additionalData = None

This field contains additional data, which may be required for a particular payment request.

The additionalData object consists of entries, each of which includes the key and value.

amount instance-attribute
amount

The amount information for the transaction (in minor units ⧉). For BIN or card verification ⧉ requests, set amount to 0 (zero).

applicationInfo class-attribute instance-attribute
applicationInfo = None

Information about your application. For more details, see Building Adyen solutions ⧉.

billingAddress class-attribute instance-attribute
billingAddress = None

The address where to send the invoice.

The billingAddress object is required in the following scenarios. Include all of the fields within this object. * For 3D Secure 2 transactions in all browser-based and mobile implementations. * For cross-border payouts to and from Canada.

browserInfo class-attribute instance-attribute
browserInfo = None

The shopper's browser information.

For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the userAgent and acceptHeader fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 2 redirect.

captureDelayHours class-attribute instance-attribute
captureDelayHours = None

The delay between the authorisation and scheduled auto-capture, specified in hours.

dateOfBirth class-attribute instance-attribute
dateOfBirth = None

The shopper's date of birth.

Format ISO-8601 ⧉: YYYY-MM-DD

dccQuote class-attribute instance-attribute
dccQuote = None

The forex quote as returned in the response of the forex service.

deliveryAddress class-attribute instance-attribute
deliveryAddress = None

The address where the purchased goods should be delivered.

deliveryDate class-attribute instance-attribute
deliveryDate = None

The date and time the purchased goods should be delivered.

Format ISO 8601 ⧉: YYYY-MM-DDThh:mm:ss.sssTZD

Example: 2017-07-17T13:42:40.428+01:00

deviceFingerprint class-attribute instance-attribute
deviceFingerprint = None

A string containing the shopper's device fingerprint. For more information, refer to Device fingerprinting ⧉.

fraudOffset class-attribute instance-attribute
fraudOffset = None

An integer value that is added to the normal fraud score. The value can be either positive or negative.

installments class-attribute instance-attribute
installments = None

Contains installment settings. For more information, refer to Installments ⧉.

localizedShopperStatement class-attribute instance-attribute
localizedShopperStatement = None

The localizedShopperStatement field lets you use dynamic values for your shopper statement in a local character set. If this parameter is left empty, not provided, or not applicable (in case of cross-border transactions), then shopperStatement is used.

Currently, localizedShopperStatement is only supported for payments with Visa, Mastercard, JCB, Diners, and Discover.

Supported characters: Hiragana, Katakana, Kanji, and alphanumeric.

mcc class-attribute instance-attribute
mcc = None

The merchant category code ⧉ (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.

merchantAccount instance-attribute
merchantAccount

The merchant account identifier, with which you want to process the transaction.

merchantOrderReference class-attribute instance-attribute
merchantOrderReference = None

This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.

We strongly recommend you send the merchantOrderReference value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide retry.orderAttemptNumber, retry.chainAttemptNumber, and retry.skipRetry values in PaymentRequest.additionalData.

merchantRiskIndicator class-attribute instance-attribute
merchantRiskIndicator = None

Additional risk fields for 3D Secure 2.

For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.

metadata class-attribute instance-attribute
metadata = None

Metadata consists of entries, each of which includes a key and a value. Limits: * Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". * Maximum 20 characters per key. * Maximum 80 characters per value.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
orderReference class-attribute instance-attribute
orderReference = None

When you are doing multiple partial (gift card) payments, this is the pspReference of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the merchantOrderReferenceinstead.

paymentMethod instance-attribute
paymentMethod

The collection that contains the type of the payment method and its specific information.

recurring class-attribute instance-attribute
recurring = None

The recurring settings for the payment. Use this property when you want to enable recurring payments ⧉.

recurringProcessingModel class-attribute instance-attribute
recurringProcessingModel = None

Defines a recurring payment type. Required when creating a token to store payment details or using stored payment details. Allowed values: * Subscription – A transaction for a fixed or variable amount, which follows a fixed schedule. * CardOnFile – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. * UnscheduledCardOnFile – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.

reference class-attribute instance-attribute
reference = None

The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. If you need to provide multiple references for a transaction, separate them with hyphens ("-"). Maximum length: 80 characters.

selectedBrand class-attribute instance-attribute
selectedBrand = None

Some payment methods require defining a value for this field to specify how to process the transaction.

For the Bancontact payment method, it can be set to: * maestro (default), to be processed like a Maestro card, or * bcmc, to be processed like a Bancontact card.

selectedRecurringDetailReference class-attribute instance-attribute
selectedRecurringDetailReference = None

The recurringDetailReference you want to use for this payment. The value LATEST can be used to select the most recently stored recurring detail.

sessionId class-attribute instance-attribute
sessionId = None

A session ID used to identify a payment session.

shopperEmail class-attribute instance-attribute
shopperEmail = None

The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. > Required for Visa and JCB transactions that require 3D Secure 2 authentication if you did not include the telephoneNumber.

shopperIP class-attribute instance-attribute
shopperIP = None

The shopper's IP address. We recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).

Required for Visa and JCB transactions that require 3D Secure 2 authentication for all web and mobile integrations, if you did not include the shopperEmail. For native mobile integrations, the field is required to support cases where authentication is routed to the redirect flow. This field is also mandatory for some merchants depending on your business model. For more information, contact Support ⧉.

shopperInteraction class-attribute instance-attribute
shopperInteraction = None

Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default.

This field has the following possible values: * Ecommerce - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * ContAuth - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * Moto - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * POS - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.

shopperLocale class-attribute instance-attribute
shopperLocale = None

The combination of a language code and a country code to specify the language to be used in the payment.

shopperName class-attribute instance-attribute
shopperName = None

The shopper's full name.

shopperReference class-attribute instance-attribute
shopperReference = None

Required for recurring payments. Your reference to uniquely identify this shopper, for example user ID or account ID. The value is case-sensitive and must be at least three characters.

Your reference must not include personally identifiable information (PII) such as name or email address.

shopperStatement class-attribute instance-attribute
shopperStatement = None

The text to be shown on the shopper's bank statement. We recommend sending a maximum of 22 characters, otherwise banks might truncate the string. Allowed characters: a-z, A-Z, 0-9, spaces, and special characters . , ' _ - ? + * /.

socialSecurityNumber class-attribute instance-attribute
socialSecurityNumber = None

The shopper's social security number.

splits class-attribute instance-attribute
splits = None

An array of objects specifying how the payment should be split when using either Adyen for Platforms for marketplaces ⧉ or platforms ⧉, or standalone Issuing ⧉.

store class-attribute instance-attribute
store = None

Required for Adyen for Platforms integrations if you are a platform model. This is your reference ⧉ (on balance platform ⧉) or the storeReference ⧉ (in the classic integration ⧉) for the ecommerce or point-of-sale store that is processing the payment.

telephoneNumber class-attribute instance-attribute
telephoneNumber = None

The shopper's telephone number. The phone number must include a plus sign (+) and a country code (1-3 digits), followed by the number (4-15 digits). If the value you provide does not follow the guidelines, we do not submit it for authentication.

Required for Visa and JCB transactions that require 3D Secure 2 authentication, if you did not include the shopperEmail.

threeDS2RequestData class-attribute instance-attribute
threeDS2RequestData = None

Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to Online payments ⧉ or Classic integration ⧉ documentation.

threeDSAuthenticationOnly class-attribute instance-attribute
threeDSAuthenticationOnly = False

Required to trigger the authentication-only flow ⧉. If set to true, you will only perform the 3D Secure 2 authentication, and will not proceed to the payment authorization.Default: false.

totalsGroup class-attribute instance-attribute
totalsGroup = None

The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).

trustedShopper class-attribute instance-attribute
trustedShopper = None

Set to true if the payment should be routed to a trusted MID.

BalanceCheckResponse

Bases: BaseModel

additionalData class-attribute instance-attribute
additionalData = None

Contains additional information about the payment. Some data fields are included only if you select them first: Go to Customer Area > Developers > Additional data.

balance instance-attribute
balance

The balance for the payment method.

fraudResult class-attribute instance-attribute
fraudResult = None

The fraud result properties of the payment.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
pspReference class-attribute instance-attribute
pspReference = None

Adyen's 16-character reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.

refusalReason class-attribute instance-attribute
refusalReason = None

If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes resultCode and refusalReason values.

For more information, see Refusal reasons ⧉.

resultCode instance-attribute
resultCode

The result of the cancellation request.

Possible values:

  • Success – Indicates that the balance check was successful.
  • NotEnoughBalance – Commonly indicates that the card did not have enough balance to pay the amount in the request, or that the currency of the balance on the card did not match the currency of the requested amount.
  • Failed – Indicates that the balance check failed.
transactionLimit class-attribute instance-attribute
transactionLimit = None

The maximum spendable balance for a single transaction. Applicable to some gift cards.

BillDeskDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

issuer instance-attribute
issuer

The issuer id of the shopper's selected bank.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

type instance-attribute
type

billdesk

BillingAddress

Bases: BaseModel

city instance-attribute
city

The name of the city. Maximum length: 3000 characters.

country instance-attribute
country

The two-character ISO-3166-1 alpha-2 country code. For example, US.

If you don't know the country or are not collecting the country from the shopper, provide country as ZZ.

houseNumberOrName instance-attribute
houseNumberOrName

The number or name of the house. Maximum length: 3000 characters.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
postalCode instance-attribute
postalCode

A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries.

stateOrProvince class-attribute instance-attribute
stateOrProvince = None

The two-character ISO 3166-2 state or province code. For example, CA in the US or ON in Canada.

Required for the US and Canada.

street instance-attribute
street

The name of the street. Maximum length: 3000 characters.

The house number should not be included in this field; it should be separately provided via houseNumberOrName.

BlikDetails

Bases: BaseModel

blikCode class-attribute instance-attribute
blikCode = None

BLIK code consisting of 6 digits.

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type class-attribute instance-attribute
type = None

blik

BrowserInfo

Bases: BaseModel

acceptHeader instance-attribute
acceptHeader

The accept header value of the shopper's browser.

colorDepth instance-attribute
colorDepth

The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's screen.colorDepth property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.

javaEnabled instance-attribute
javaEnabled

Boolean value indicating if the shopper's browser is able to execute Java.

javaScriptEnabled class-attribute instance-attribute
javaScriptEnabled = True

Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.

language instance-attribute
language

The navigator.language value of the shopper's browser (as defined in IETF BCP 47).

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
screenHeight instance-attribute
screenHeight

The total height of the shopper's device screen in pixels.

screenWidth instance-attribute
screenWidth

The total width of the shopper's device screen in pixels.

timeZoneOffset instance-attribute
timeZoneOffset

Time difference between UTC time and the shopper's browser local time, in minutes.

userAgent instance-attribute
userAgent

The user agent value of the shopper's browser.

CancelOrderRequest

Bases: BaseModel

merchantAccount instance-attribute
merchantAccount

The merchant account identifier that orderData belongs to.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
order instance-attribute
order

The order request object that contains a pspReference that represents the order and the matching encrypted order data.

CancelOrderResponse

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
pspReference instance-attribute
pspReference

A unique reference of the cancellation request.

resultCode instance-attribute
resultCode

The result of the cancellation request.

Possible values:

  • Received – Indicates the cancellation has successfully been received by Adyen, and will be processed.

CardBrandDetails

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
supported class-attribute instance-attribute
supported = None

Indicates if you support the card brand.

type class-attribute instance-attribute
type = None

The name of the card brand.

CardDetails

Bases: BaseModel

billingSequenceNumber class-attribute instance-attribute
billingSequenceNumber = None

The sequence number for the debit. For example, send 2 if this is the second debit for the subscription. The sequence number is included in the notification sent to the shopper.

brand class-attribute instance-attribute
brand = None

Secondary brand of the card. For example: plastix, hmclub.

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

cupsecureplus_smscode class-attribute instance-attribute
cupsecureplus_smscode = None
cvc class-attribute instance-attribute
cvc = None

The card verification code. Only collect raw card data if you are fully PCI compliant ⧉.

encryptedCard class-attribute instance-attribute
encryptedCard = None

Only include this for JSON Web Encryption (JWE) implementations. The JWE-encrypted card details.

encryptedCardNumber class-attribute instance-attribute
encryptedCardNumber = None

The encrypted card number.

encryptedExpiryMonth class-attribute instance-attribute
encryptedExpiryMonth = None

The encrypted card expiry month.

encryptedExpiryYear class-attribute instance-attribute
encryptedExpiryYear = None

The encrypted card expiry year.

encryptedPassword class-attribute instance-attribute
encryptedPassword = None

This field contains an encrypted, one-time password or an authentication code provided by the cardholder.

encryptedSecurityCode class-attribute instance-attribute
encryptedSecurityCode = None

The encrypted card verification code.

expiryMonth class-attribute instance-attribute
expiryMonth = None

The card expiry month. Only collect raw card data if you are fully PCI compliant ⧉.

expiryYear class-attribute instance-attribute
expiryYear = None

The card expiry year. Only collect raw card data if you are fully PCI compliant ⧉.

fastlaneData class-attribute instance-attribute
fastlaneData = None

The encoded fastlane data blob

fundingSource class-attribute instance-attribute
fundingSource = None

The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to debit.

holderName class-attribute instance-attribute
holderName = None

The name of the card holder.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
networkPaymentReference class-attribute instance-attribute
networkPaymentReference = None

The transaction identifier from card schemes. This is the networkTxReference ⧉ from the response to the first payment.

number class-attribute instance-attribute
number = None

The card number. Only collect raw card data if you are fully PCI compliant ⧉.

recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

shopperNotificationReference class-attribute instance-attribute
shopperNotificationReference = None

The shopperNotificationReference returned in the response when you requested to notify the shopper. Used only for recurring payments in India.

srcCorrelationId class-attribute instance-attribute
srcCorrelationId = None

An identifier used for the Click to Pay transaction.

srcDigitalCardId class-attribute instance-attribute
srcDigitalCardId = None

The SRC reference for the Click to Pay token.

srcScheme class-attribute instance-attribute
srcScheme = None

The scheme that is being used for Click to Pay.

srcTokenReference class-attribute instance-attribute
srcTokenReference = None

The reference for the Click to Pay token.

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

threeDS2SdkVersion class-attribute instance-attribute
threeDS2SdkVersion = None

Required for mobile integrations. Version of the 3D Secure 2 mobile SDK.

type class-attribute instance-attribute
type = 'scheme'

Default payment method details. Common for scheme payment methods, and for simple payment method details.

CardDetailsRequest

Bases: BaseModel

cardNumber class-attribute instance-attribute
cardNumber = None

A minimum of the first six digits of the card number. The full card number gives the best result.

You must be fully PCI compliant ⧉ to collect raw card data. Alternatively, you can use the encryptedCardNumber field.

countryCode class-attribute instance-attribute
countryCode = None

The shopper country.

Format: ISO 3166-1 alpha-2 ⧉ Example: NL or DE

encryptedCardNumber class-attribute instance-attribute
encryptedCardNumber = None

The encrypted card number.

merchantAccount instance-attribute
merchantAccount

The merchant account identifier, with which you want to process the transaction.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
supportedBrands class-attribute instance-attribute
supportedBrands = None

The card brands you support. This is the brands ⧉ array from your /paymentMethods ⧉ response.

If not included, our API uses the ones configured for your merchant account and, if provided, the country code.

CardDetailsResponse

Bases: BaseModel

brands class-attribute instance-attribute
brands = None

The list of brands identified for the card.

fundingSource class-attribute instance-attribute
fundingSource = None

The funding source of the card, for example DEBIT, CREDIT, or PREPAID.

isCardCommercial class-attribute instance-attribute
isCardCommercial = None

Indicates if this is a commercial card or a consumer card. If true, it is a commercial card. If false, it is a consumer card.

issuingCountryCode class-attribute instance-attribute
issuingCountryCode = None

The two-letter country code of the country where the card was issued.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

CardDonations

Bases: BaseModel

billingSequenceNumber class-attribute instance-attribute
billingSequenceNumber = None

The sequence number for the debit. For example, send 2 if this is the second debit for the subscription. The sequence number is included in the notification sent to the shopper.

brand class-attribute instance-attribute
brand = None

Secondary brand of the card. For example: plastix, hmclub.

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

cupsecureplus_smscode class-attribute instance-attribute
cupsecureplus_smscode = None
cvc class-attribute instance-attribute
cvc = None

The card verification code. Only collect raw card data if you are fully PCI compliant ⧉.

encryptedCard class-attribute instance-attribute
encryptedCard = None

Only include this for JSON Web Encryption (JWE) implementations. The JWE-encrypted card details.

encryptedCardNumber class-attribute instance-attribute
encryptedCardNumber = None

The encrypted card number.

encryptedExpiryMonth class-attribute instance-attribute
encryptedExpiryMonth = None

The encrypted card expiry month.

encryptedExpiryYear class-attribute instance-attribute
encryptedExpiryYear = None

The encrypted card expiry year.

encryptedPassword class-attribute instance-attribute
encryptedPassword = None

This field contains an encrypted, one-time password or an authentication code provided by the cardholder.

encryptedSecurityCode class-attribute instance-attribute
encryptedSecurityCode = None

The encrypted card verification code.

expiryMonth class-attribute instance-attribute
expiryMonth = None

The card expiry month. Only collect raw card data if you are fully PCI compliant ⧉.

expiryYear class-attribute instance-attribute
expiryYear = None

The card expiry year. Only collect raw card data if you are fully PCI compliant ⧉.

fastlaneData class-attribute instance-attribute
fastlaneData = None

The encoded fastlane data blob

fundingSource class-attribute instance-attribute
fundingSource = None

The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to debit.

holderName class-attribute instance-attribute
holderName = None

The name of the card holder.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
networkPaymentReference class-attribute instance-attribute
networkPaymentReference = None

The transaction identifier from card schemes. This is the networkTxReference ⧉ from the response to the first payment.

number class-attribute instance-attribute
number = None

The card number. Only collect raw card data if you are fully PCI compliant ⧉.

recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

shopperNotificationReference class-attribute instance-attribute
shopperNotificationReference = None

The shopperNotificationReference returned in the response when you requested to notify the shopper. Used only for recurring payments in India.

srcCorrelationId class-attribute instance-attribute
srcCorrelationId = None

An identifier used for the Click to Pay transaction.

srcDigitalCardId class-attribute instance-attribute
srcDigitalCardId = None

The SRC reference for the Click to Pay token.

srcScheme class-attribute instance-attribute
srcScheme = None

The scheme that is being used for Click to Pay.

srcTokenReference class-attribute instance-attribute
srcTokenReference = None

The reference for the Click to Pay token.

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

threeDS2SdkVersion class-attribute instance-attribute
threeDS2SdkVersion = None

Required for mobile integrations. Version of the 3D Secure 2 mobile SDK.

type class-attribute instance-attribute
type = 'scheme'

Default payment method details. Common for scheme payment methods, and for simple payment method details.

CashAppDetails

Bases: BaseModel

cashtag class-attribute instance-attribute
cashtag = None

Cash App issued cashtag for recurring payment

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

customerId class-attribute instance-attribute
customerId = None

Cash App issued customerId for recurring payment

grantId class-attribute instance-attribute
grantId = None

Cash App issued grantId for one time payment

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
onFileGrantId class-attribute instance-attribute
onFileGrantId = None

Cash App issued onFileGrantId for recurring payment

recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

requestId class-attribute instance-attribute
requestId = None

Cash App request id

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

subtype class-attribute instance-attribute
subtype = None

The payment method subtype.

type class-attribute instance-attribute
type = 'cashapp'

cashapp

CellulantDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

issuer class-attribute instance-attribute
issuer = None

The Cellulant issuer.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

type class-attribute instance-attribute
type = 'cellulant'

Cellulant

CheckoutAwaitAction

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentData class-attribute instance-attribute
paymentData = None

Encoded payment data.

paymentMethodType class-attribute instance-attribute
paymentMethodType = None

Specifies the payment method.

type instance-attribute
type

await

url class-attribute instance-attribute
url = None

Specifies the URL to redirect to.

CheckoutBankAccount

Bases: BaseModel

accountType class-attribute instance-attribute
accountType = None

The type of the bank account.

bankAccountNumber class-attribute instance-attribute
bankAccountNumber = None

The bank account number (without separators).

bankCity class-attribute instance-attribute
bankCity = None

The bank city.

bankLocationId class-attribute instance-attribute
bankLocationId = None

The location id of the bank. The field value is nil in most cases.

bankName class-attribute instance-attribute
bankName = None

The name of the bank.

bic class-attribute instance-attribute
bic = None

The Business Identifier Code ⧉ (BIC) is the SWIFT address assigned to a bank. The field value is nil in most cases.

countryCode class-attribute instance-attribute
countryCode = None

Country code where the bank is located.

A valid value is an ISO two-character country code (e.g. 'NL').

iban class-attribute instance-attribute
iban = None
model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
ownerName class-attribute instance-attribute
ownerName = None

The name of the bank account holder. If you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example: * χ12 is converted to ch12. * üA is converted to euA. * Peter Møller is converted to Peter Mller, because banks don't accept 'ø'. After replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example: * John17 - allowed. * J17 - allowed. * 171 - not allowed. * John-7 - allowed.

If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.

taxId class-attribute instance-attribute
taxId = None

The bank account holder's tax ID.

CheckoutBankTransferAction

Bases: BaseModel

accountNumber class-attribute instance-attribute
accountNumber = None

The account number of the bank transfer.

bankCode class-attribute instance-attribute
bankCode = None

The bank code of the bank transfer.

beneficiary class-attribute instance-attribute
beneficiary = None

The name of the account holder.

bic class-attribute instance-attribute
bic = None

The BIC of the IBAN.

branchCode class-attribute instance-attribute
branchCode = None

The branch code of the bank transfer.

downloadUrl class-attribute instance-attribute
downloadUrl = None

The url to download payment details with.

iban class-attribute instance-attribute
iban = None

The IBAN of the bank transfer.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentMethodType class-attribute instance-attribute
paymentMethodType = None

Specifies the payment method.

reference class-attribute instance-attribute
reference = None

The transfer reference.

routingNumber class-attribute instance-attribute
routingNumber = None

The routing number of the bank transfer.

shopperEmail class-attribute instance-attribute
shopperEmail = None

The e-mail of the shopper, included if an e-mail was sent to the shopper.

sortCode class-attribute instance-attribute
sortCode = None

The sort code of the bank transfer.

totalAmount class-attribute instance-attribute
totalAmount = None

The amount of the bank transfer.

type instance-attribute
type

The type of the action.

url class-attribute instance-attribute
url = None

Specifies the URL to redirect to.

CheckoutDelegatedAuthenticationAction

Bases: BaseModel

authorisationToken class-attribute instance-attribute
authorisationToken = None

A token needed to authorise a payment.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentData class-attribute instance-attribute
paymentData = None

Encoded payment data.

paymentMethodType class-attribute instance-attribute
paymentMethodType = None

Specifies the payment method.

token class-attribute instance-attribute
token = None

A token to pass to the delegatedAuthentication component.

type instance-attribute
type

delegatedAuthentication

url class-attribute instance-attribute
url = None

Specifies the URL to redirect to.

CheckoutNativeRedirectAction

Bases: BaseModel

data class-attribute instance-attribute
data = None

When the redirect URL must be accessed via POST, use this data to post to the redirect URL.

method class-attribute instance-attribute
method = None

Specifies the HTTP method, for example GET or POST.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
nativeRedirectData class-attribute instance-attribute
nativeRedirectData = None

Native SDK's redirect data containing the direct issuer link and state data that must be submitted to the /v1/nativeRedirect/redirectResult.

paymentMethodType class-attribute instance-attribute
paymentMethodType = None

Specifies the payment method.

type instance-attribute
type

nativeRedirect

url class-attribute instance-attribute
url = None

Specifies the URL to redirect to.

CheckoutOrderResponse

Bases: BaseModel

amount class-attribute instance-attribute
amount = None

The initial amount of the order.

expiresAt class-attribute instance-attribute
expiresAt = None

The expiry date for the order.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
orderData class-attribute instance-attribute
orderData = None

The encrypted order data.

pspReference instance-attribute
pspReference

The pspReference that belongs to the order.

reference class-attribute instance-attribute
reference = None

The merchant reference for the order.

remainingAmount class-attribute instance-attribute
remainingAmount = None

The updated remaining amount.

CheckoutQrCodeAction

Bases: BaseModel

expiresAt class-attribute instance-attribute
expiresAt = None

Expiry time of the QR code.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentData class-attribute instance-attribute
paymentData = None

Encoded payment data.

paymentMethodType class-attribute instance-attribute
paymentMethodType = None

Specifies the payment method.

qrCodeData class-attribute instance-attribute
qrCodeData = None

The contents of the QR code as a UTF8 string.

type instance-attribute
type

qrCode

url class-attribute instance-attribute
url = None

Specifies the URL to redirect to.

CheckoutRedirectAction

Bases: BaseModel

data class-attribute instance-attribute
data = None

When the redirect URL must be accessed via POST, use this data to post to the redirect URL.

method class-attribute instance-attribute
method = None

Specifies the HTTP method, for example GET or POST.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentMethodType class-attribute instance-attribute
paymentMethodType = None

Specifies the payment method.

type instance-attribute
type

redirect

url class-attribute instance-attribute
url = None

Specifies the URL to redirect to.

CheckoutSDKAction

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentData class-attribute instance-attribute
paymentData = None

Encoded payment data.

paymentMethodType class-attribute instance-attribute
paymentMethodType = None

Specifies the payment method.

sdkData class-attribute instance-attribute
sdkData = None

The data to pass to the SDK.

type instance-attribute
type

The type of the action.

url class-attribute instance-attribute
url = None

Specifies the URL to redirect to.

CheckoutSessionInstallmentOption

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
plans class-attribute instance-attribute
plans = None

Defines the type of installment plan. If not set, defaults to regular.

Possible values: * regular * revolving bonus * with_interest * buynow_paylater * nointerest_bonus * interest_bonus * refund_prctg * nointeres_refund_prctg * interes_refund_prctg*

preselectedValue class-attribute instance-attribute
preselectedValue = None

Preselected number of installments offered for this payment method.

values class-attribute instance-attribute
values = None

An array of the number of installments that the shopper can choose from. For example, [2,3,5]. This cannot be specified simultaneously with maxValue.

CheckoutSessionThreeDS2RequestData

Bases: BaseModel

homePhone class-attribute instance-attribute
homePhone = None

The home phone number provided by the cardholder. The phone number must consist of a country code, followed by the number. If the value you provide does not follow the guidelines, we do not submit it for authentication.

Required for Visa and JCB transactions that require 3D Secure 2 authentication, if you did not include the shopperEmail, and did not send the shopper's phone number in telephoneNumber.

mobilePhone class-attribute instance-attribute
mobilePhone = None

The mobile phone number provided by the cardholder. The phone number must consist of a country code, followed by the number. If the value you provide does not follow the guidelines, we do not submit it for authentication.

Required for Visa and JCB transactions that require 3D Secure 2 authentication, if you did not include the shopperEmail, and did not send the shopper's phone number in telephoneNumber.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
threeDSRequestorChallengeInd class-attribute instance-attribute
threeDSRequestorChallengeInd = None

Indicates whether a challenge is requested for this transaction. Possible values: * 01 — No preference * 02 — No challenge requested * 03 — Challenge requested (3DS Requestor preference) * 04 — Challenge requested (Mandate) * 05 — No challenge (transactional risk analysis is already performed) * 06 — Data Only

workPhone class-attribute instance-attribute
workPhone = None

The work phone number provided by the cardholder. The phone number must consist of a country code, followed by the number. If the value you provide does not follow the guidelines, we do not submit it for authentication.

Required for Visa and JCB transactions that require 3D Secure 2 authentication, if you did not include the shopperEmail, and did not send the shopper's phone number in telephoneNumber.

CheckoutThreeDS2Action

Bases: BaseModel

authorisationToken class-attribute instance-attribute
authorisationToken = None

A token needed to authorise a payment.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentData class-attribute instance-attribute
paymentData = None

Encoded payment data.

paymentMethodType class-attribute instance-attribute
paymentMethodType = None

Specifies the payment method.

subtype class-attribute instance-attribute
subtype = None

A subtype of the token.

token class-attribute instance-attribute
token = None

A token to pass to the 3DS2 Component to get the fingerprint.

type instance-attribute
type

threeDS2

url class-attribute instance-attribute
url = None

Specifies the URL to redirect to.

CheckoutVoucherAction

Bases: BaseModel

alternativeReference class-attribute instance-attribute
alternativeReference = None

The voucher alternative reference code.

collectionInstitutionNumber class-attribute instance-attribute
collectionInstitutionNumber = None

A collection institution number (store number) for Econtext Pay-Easy ATM.

downloadUrl class-attribute instance-attribute
downloadUrl = None

The URL to download the voucher.

entity class-attribute instance-attribute
entity = None

An entity number of Multibanco.

expiresAt class-attribute instance-attribute
expiresAt = None

The date time of the voucher expiry.

initialAmount class-attribute instance-attribute
initialAmount = None

The initial amount.

instructionsUrl class-attribute instance-attribute
instructionsUrl = None

The URL to the detailed instructions to make payment using the voucher.

issuer class-attribute instance-attribute
issuer = None

The issuer of the voucher.

maskedTelephoneNumber class-attribute instance-attribute
maskedTelephoneNumber = None

The shopper telephone number (partially masked).

merchantName class-attribute instance-attribute
merchantName = None

The merchant name.

merchantReference class-attribute instance-attribute
merchantReference = None

The merchant reference.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
passCreationToken class-attribute instance-attribute
passCreationToken = None

A Base64-encoded token containing all properties of the voucher. For iOS, you can use this to pass a voucher to Apple Wallet.

paymentData class-attribute instance-attribute
paymentData = None

Encoded payment data.

paymentMethodType class-attribute instance-attribute
paymentMethodType = None

Specifies the payment method.

reference class-attribute instance-attribute
reference = None

The voucher reference code.

shopperEmail class-attribute instance-attribute
shopperEmail = None

The shopper email.

shopperName class-attribute instance-attribute
shopperName = None

The shopper name.

surcharge class-attribute instance-attribute
surcharge = None

The surcharge amount.

totalAmount class-attribute instance-attribute
totalAmount = None

The total amount (initial plus surcharge amount).

type instance-attribute
type

voucher

url class-attribute instance-attribute
url = None

Specifies the URL to redirect to.

CommonField

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name class-attribute instance-attribute
name = None

Name of the field. For example, Name of External Platform.

version class-attribute instance-attribute
version = None

Version of the field. For example, Version of External Platform.

Company

Bases: BaseModel

homepage class-attribute instance-attribute
homepage = None

The company website's home page.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name class-attribute instance-attribute
name = None

The company name.

registrationNumber class-attribute instance-attribute
registrationNumber = None

Registration number of the company.

registryLocation class-attribute instance-attribute
registryLocation = None

Registry location of the company.

taxId class-attribute instance-attribute
taxId = None

Tax ID of the company.

type class-attribute instance-attribute
type = None

The company type.

CreateCheckoutSessionRequest

Bases: BaseModel

accountInfo class-attribute instance-attribute
accountInfo = None

Shopper account information for 3D Secure 2.

For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.

additionalAmount class-attribute instance-attribute
additionalAmount = None

If you want a BIN or card verification ⧉ request to use a non-zero value, assign this value to additionalAmount (while the amount must be still set to 0 to trigger BIN or card verification). Required to be in the same currency as the amount.

additionalData class-attribute instance-attribute
additionalData = None

This field contains additional data, which may be required for a particular payment request.

The additionalData object consists of entries, each of which includes the key and value.

allowedPaymentMethods class-attribute instance-attribute
allowedPaymentMethods = None

List of payment methods to be presented to the shopper. To refer to payment methods, use their payment method type ⧉.

Example: "allowedPaymentMethods":["ideal","applepay"]

amount instance-attribute
amount

The amount of the payment.

applicationInfo class-attribute instance-attribute
applicationInfo = None

Information about your application. For more details, see Building Adyen solutions ⧉.

authenticationData class-attribute instance-attribute
authenticationData = None

Configuration data for 3DS payments.

billingAddress class-attribute instance-attribute
billingAddress = None

The address where to send the invoice.

blockedPaymentMethods class-attribute instance-attribute
blockedPaymentMethods = None

List of payment methods to be hidden from the shopper. To refer to payment methods, use their payment method type ⧉.

Example: "blockedPaymentMethods":["ideal","applepay"]

captureDelayHours class-attribute instance-attribute
captureDelayHours = None

The delay between the authorisation and scheduled auto-capture, specified in hours.

channel class-attribute instance-attribute
channel = None

The platform where a payment transaction takes place. This field is optional for filtering out payment methods that are only available on specific platforms. If this value is not set, then we will try to infer it from the sdkVersion or token.

Possible values: * iOS * Android * Web

company class-attribute instance-attribute
company = None

Information regarding the company.

countryCode class-attribute instance-attribute
countryCode = None

The shopper's two-letter country code.

dateOfBirth class-attribute instance-attribute
dateOfBirth = None

The shopper's date of birth.

Format ISO-8601 ⧉: YYYY-MM-DD

deliverAt class-attribute instance-attribute
deliverAt = None

The date and time when the purchased goods should be delivered.

ISO 8601 ⧉ format: YYYY-MM-DDThh:mm:ss+TZD, for example, 2020-12-18T10:15:30+01:00.

deliveryAddress class-attribute instance-attribute
deliveryAddress = None

The address where the purchased goods should be delivered.

enableOneClick class-attribute instance-attribute
enableOneClick = None

When true and shopperReference is provided, the shopper will be asked if the payment details should be stored for future one-click payments ⧉.

enablePayOut class-attribute instance-attribute
enablePayOut = None

When true and shopperReference is provided, the payment details will be tokenized for payouts.

enableRecurring class-attribute instance-attribute
enableRecurring = None

When true and shopperReference is provided, the payment details will be stored for recurring payments ⧉ where the shopper is not present, such as subscription or automatic top-up payments.

expiresAt class-attribute instance-attribute
expiresAt = None

The date the session expires in ISO8601 ⧉ format. When not specified, the expiry date is set to 1 hour after session creation. You cannot set the session expiry to more than 24 hours after session creation.

fundOrigin class-attribute instance-attribute
fundOrigin = None

The person or entity funding the money.

fundRecipient class-attribute instance-attribute
fundRecipient = None

the person or entity receiving the money

installmentOptions class-attribute instance-attribute
installmentOptions = None

A set of key-value pairs that specifies the installment options available per payment method. The key must be a payment method name in lowercase. For example, card to specify installment options for all cards, or visa or mc. The value must be an object containing the installment options.

lineItems class-attribute instance-attribute
lineItems = None

Price and product information about the purchased items, to be included on the invoice sent to the shopper.

This field is required for 3x 4x Oney, Affirm, Afterpay, Clearpay, Klarna, Ratepay, and Riverty.

mandate class-attribute instance-attribute
mandate = None

The mandate details to initiate recurring transaction.

mcc class-attribute instance-attribute
mcc = None

The merchant category code ⧉ (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.

merchantAccount instance-attribute
merchantAccount

The merchant account identifier, with which you want to process the transaction.

merchantOrderReference class-attribute instance-attribute
merchantOrderReference = None

This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.

We strongly recommend you send the merchantOrderReference value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide retry.orderAttemptNumber, retry.chainAttemptNumber, and retry.skipRetry values in PaymentRequest.additionalData.

metadata class-attribute instance-attribute
metadata = None

Metadata consists of entries, each of which includes a key and a value. Limits: * Maximum 20 key-value pairs per request. * Maximum 20 characters per key. * Maximum 80 characters per value.

mode class-attribute instance-attribute
mode = 'embedded'

Indicates the type of front end integration. Possible values: * embedded (default): Drop-in or Components integration * hosted: Hosted Checkout integration

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
mpiData class-attribute instance-attribute
mpiData = None

Authentication data produced by an MPI (Mastercard SecureCode, Visa Secure, or Cartes Bancaires).

platformChargebackLogic class-attribute instance-attribute
platformChargebackLogic = None

Defines how to book chargebacks when using Adyen for Platforms ⧉.

recurringExpiry class-attribute instance-attribute
recurringExpiry = None

Date after which no further authorisations shall be performed. Only for 3D Secure 2.

recurringFrequency class-attribute instance-attribute
recurringFrequency = None

Minimum number of days between authorisations. Only for 3D Secure 2.

recurringProcessingModel class-attribute instance-attribute
recurringProcessingModel = None

Defines a recurring payment type. Required when creating a token to store payment details. Allowed values: * Subscription – A transaction for a fixed or variable amount, which follows a fixed schedule. * CardOnFile – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. * UnscheduledCardOnFile – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.

redirectFromIssuerMethod class-attribute instance-attribute
redirectFromIssuerMethod = None

Specifies the redirect method (GET or POST) when redirecting back from the issuer.

redirectToIssuerMethod class-attribute instance-attribute
redirectToIssuerMethod = None

Specifies the redirect method (GET or POST) when redirecting to the issuer.

reference instance-attribute
reference

The reference to uniquely identify a payment.

returnUrl instance-attribute
returnUrl

The URL to return to in case of a redirection. The format depends on the channel. * For web, include the protocol http:// or https://. You can also include your own additional query parameters, for example, shopper ID or order reference number. Example: https://your-company.example.com/checkout?shopperOrder=12xy * For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the Apple Developer documentation ⧉. Example: my-app:// * For Android, use a custom URL handled by an Activity on your app. You can configure it with an intent filter ⧉. Example: my-app://your.package.name

If the URL to return to includes non-ASCII characters, like spaces or special letters, URL encode the value.

We strongly recommend that you use a maximum of 1024 characters.

The URL must not include personally identifiable information (PII), for example name or email address.

riskData class-attribute instance-attribute
riskData = None

Any risk-related settings to apply to the payment.

shopperEmail class-attribute instance-attribute
shopperEmail = None

The shopper's email address.

shopperIP class-attribute instance-attribute
shopperIP = None

The shopper's IP address. We recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).

Required for Visa and JCB transactions that require 3D Secure 2 authentication for all web and mobile integrations, if you did not include the shopperEmail. For native mobile integrations, the field is required to support cases where authentication is routed to the redirect flow. This field is also mandatory for some merchants depending on your business model. For more information, contact Support ⧉.

shopperInteraction class-attribute instance-attribute
shopperInteraction = None

Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default.

This field has the following possible values: * Ecommerce - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * ContAuth - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * Moto - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * POS - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.

shopperLocale class-attribute instance-attribute
shopperLocale = None

The combination of a language code and a country code to specify the language to be used in the payment.

shopperName class-attribute instance-attribute
shopperName = None

The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.

shopperReference class-attribute instance-attribute
shopperReference = None

Your reference to uniquely identify this shopper, for example user ID or account ID. The value is case-sensitive and must be at least three characters.

Your reference must not include personally identifiable information (PII) such as name or email address.

shopperStatement class-attribute instance-attribute
shopperStatement = None

The text to be shown on the shopper's bank statement. We recommend sending a maximum of 22 characters, otherwise banks might truncate the string. Allowed characters: a-z, A-Z, 0-9, spaces, and special characters . , ' _ - ? + * /.

showInstallmentAmount class-attribute instance-attribute
showInstallmentAmount = None

Set to true to show the payment amount per installment.

showRemovePaymentMethodButton class-attribute instance-attribute
showRemovePaymentMethodButton = None

Set to true to show a button that lets the shopper remove a stored payment method.

socialSecurityNumber class-attribute instance-attribute
socialSecurityNumber = None

The shopper's social security number.

splitCardFundingSources class-attribute instance-attribute
splitCardFundingSources = False

Boolean value indicating whether the card payment method should be split into separate debit and credit options.

splits class-attribute instance-attribute
splits = None

An array of objects specifying how to split a payment when using Adyen for Platforms ⧉, Classic Platforms integration ⧉, or Issuing ⧉.

store class-attribute instance-attribute
store = None

Required for Adyen for Platforms integrations if you are a platform model. This is your reference ⧉ (on balance platform ⧉) or the storeReference ⧉ (in the classic integration ⧉) for the ecommerce or point-of-sale store that is processing the payment.

storeFiltrationMode class-attribute instance-attribute
storeFiltrationMode = None

Specifies how payment methods should be filtered based on the 'store' parameter: - 'exclusive': Only payment methods belonging to the specified 'store' are returned. - 'inclusive': Payment methods from the 'store' and those not associated with any other store are returned.

storePaymentMethod class-attribute instance-attribute
storePaymentMethod = None

When true and shopperReference is provided, the payment details will be stored for future recurring payments ⧉.

storePaymentMethodMode class-attribute instance-attribute
storePaymentMethodMode = None

Indicates if the details of the payment method will be stored for the shopper. Possible values: * disabled – No details will be stored (default). * askForConsent – If the shopperReference is provided, the UI lets the shopper choose if they want their payment details to be stored. * enabled – If the shopperReference is provided, the details will be stored without asking the shopper for consent.

telephoneNumber class-attribute instance-attribute
telephoneNumber = None

The shopper's telephone number. The phone number must include a plus sign (+) and a country code (1-3 digits), followed by the number (4-15 digits). If the value you provide does not follow the guidelines, we do not submit it for authentication.

Required for Visa and JCB transactions that require 3D Secure 2 authentication, if you did not include the shopperEmail.

themeId class-attribute instance-attribute
themeId = None

Sets a custom theme for Hosted Checkout ⧉. The value can be any of the Theme ID values from your Customer Area.

threeDS2RequestData class-attribute instance-attribute
threeDS2RequestData = None

Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to Online payments ⧉.

threeDSAuthenticationOnly class-attribute instance-attribute
threeDSAuthenticationOnly = False

Required to trigger the authentication-only flow ⧉. If set to true, you will only perform the 3D Secure 2 authentication, and will not proceed to the payment authorization.Default: false.

trustedShopper class-attribute instance-attribute
trustedShopper = None

Set to true if the payment should be routed to a trusted MID.

CreateCheckoutSessionResponse

Bases: BaseModel

accountInfo class-attribute instance-attribute
accountInfo = None

Shopper account information for 3D Secure 2.

For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.

additionalAmount class-attribute instance-attribute
additionalAmount = None

If you want a BIN or card verification ⧉ request to use a non-zero value, assign this value to additionalAmount (while the amount must be still set to 0 to trigger BIN or card verification). Required to be in the same currency as the amount.

additionalData class-attribute instance-attribute
additionalData = None

This field contains additional data, which may be required for a particular payment request.

The additionalData object consists of entries, each of which includes the key and value.

allowedPaymentMethods class-attribute instance-attribute
allowedPaymentMethods = None

List of payment methods to be presented to the shopper. To refer to payment methods, use their payment method type ⧉.

Example: "allowedPaymentMethods":["ideal","applepay"]

amount instance-attribute
amount

The amount of the payment.

applicationInfo class-attribute instance-attribute
applicationInfo = None

Information about your application. For more details, see Building Adyen solutions ⧉.

authenticationData class-attribute instance-attribute
authenticationData = None

Configuration data for 3DS payments.

billingAddress class-attribute instance-attribute
billingAddress = None

The address where to send the invoice.

blockedPaymentMethods class-attribute instance-attribute
blockedPaymentMethods = None

List of payment methods to be hidden from the shopper. To refer to payment methods, use their payment method type ⧉.

Example: "blockedPaymentMethods":["ideal","applepay"]

captureDelayHours class-attribute instance-attribute
captureDelayHours = None

The delay between the authorisation and scheduled auto-capture, specified in hours.

channel class-attribute instance-attribute
channel = None

The platform where a payment transaction takes place. This field is optional for filtering out payment methods that are only available on specific platforms. If this value is not set, then we will try to infer it from the sdkVersion or token.

Possible values: * iOS * Android * Web

company class-attribute instance-attribute
company = None

Information regarding the company.

countryCode class-attribute instance-attribute
countryCode = None

The shopper's two-letter country code.

dateOfBirth class-attribute instance-attribute
dateOfBirth = None

The shopper's date of birth in ISO8601 ⧉ format.

deliverAt class-attribute instance-attribute
deliverAt = None

The date and time when the purchased goods should be delivered.

ISO 8601 ⧉ format: YYYY-MM-DDThh:mm:ss+TZD, for example, 2020-12-18T10:15:30+01:00.

deliveryAddress class-attribute instance-attribute
deliveryAddress = None

The address where the purchased goods should be delivered.

enableOneClick class-attribute instance-attribute
enableOneClick = None

When true and shopperReference is provided, the shopper will be asked if the payment details should be stored for future one-click payments ⧉.

enablePayOut class-attribute instance-attribute
enablePayOut = None

When true and shopperReference is provided, the payment details will be tokenized for payouts.

enableRecurring class-attribute instance-attribute
enableRecurring = None

When true and shopperReference is provided, the payment details will be stored for recurring payments ⧉ where the shopper is not present, such as subscription or automatic top-up payments.

expiresAt instance-attribute
expiresAt

The date the session expires in ISO8601 ⧉ format. When not specified, the expiry date is set to 1 hour after session creation. You cannot set the session expiry to more than 24 hours after session creation.

fundOrigin class-attribute instance-attribute
fundOrigin = None

The person or entity funding the money.

fundRecipient class-attribute instance-attribute
fundRecipient = None

the person or entity receiving the money

id instance-attribute
id

A unique identifier of the session.

installmentOptions class-attribute instance-attribute
installmentOptions = None

A set of key-value pairs that specifies the installment options available per payment method. The key must be a payment method name in lowercase. For example, card to specify installment options for all cards, or visa or mc. The value must be an object containing the installment options.

lineItems class-attribute instance-attribute
lineItems = None

Price and product information about the purchased items, to be included on the invoice sent to the shopper.

This field is required for 3x 4x Oney, Affirm, Afterpay, Clearpay, Klarna, Ratepay, and Riverty.

mandate class-attribute instance-attribute
mandate = None

The mandate details to initiate recurring transaction.

mcc class-attribute instance-attribute
mcc = None

The merchant category code ⧉ (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.

merchantAccount instance-attribute
merchantAccount

The merchant account identifier, with which you want to process the transaction.

merchantOrderReference class-attribute instance-attribute
merchantOrderReference = None

This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.

We strongly recommend you send the merchantOrderReference value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide retry.orderAttemptNumber, retry.chainAttemptNumber, and retry.skipRetry values in PaymentRequest.additionalData.

metadata class-attribute instance-attribute
metadata = None

Metadata consists of entries, each of which includes a key and a value. Limits: * Maximum 20 key-value pairs per request. * Maximum 20 characters per key. * Maximum 80 characters per value.

mode class-attribute instance-attribute
mode = 'embedded'

Indicates the type of front end integration. Possible values: * embedded (default): Drop-in or Components integration * hosted: Hosted Checkout integration

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
mpiData class-attribute instance-attribute
mpiData = None

Authentication data produced by an MPI (Mastercard SecureCode, Visa Secure, or Cartes Bancaires).

platformChargebackLogic class-attribute instance-attribute
platformChargebackLogic = None

Defines how to book chargebacks when using Adyen for Platforms ⧉.

recurringExpiry class-attribute instance-attribute
recurringExpiry = None

Date after which no further authorisations shall be performed. Only for 3D Secure 2.

recurringFrequency class-attribute instance-attribute
recurringFrequency = None

Minimum number of days between authorisations. Only for 3D Secure 2.

recurringProcessingModel class-attribute instance-attribute
recurringProcessingModel = None

Defines a recurring payment type. Required when creating a token to store payment details. Allowed values: * Subscription – A transaction for a fixed or variable amount, which follows a fixed schedule. * CardOnFile – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. * UnscheduledCardOnFile – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.

redirectFromIssuerMethod class-attribute instance-attribute
redirectFromIssuerMethod = None

Specifies the redirect method (GET or POST) when redirecting back from the issuer.

redirectToIssuerMethod class-attribute instance-attribute
redirectToIssuerMethod = None

Specifies the redirect method (GET or POST) when redirecting to the issuer.

reference instance-attribute
reference

The reference to uniquely identify a payment.

returnUrl instance-attribute
returnUrl

The URL to return to in case of a redirection. The format depends on the channel. * For web, include the protocol http:// or https://. You can also include your own additional query parameters, for example, shopper ID or order reference number. Example: https://your-company.example.com/checkout?shopperOrder=12xy * For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the Apple Developer documentation ⧉. Example: my-app:// * For Android, use a custom URL handled by an Activity on your app. You can configure it with an intent filter ⧉. Example: my-app://your.package.name

If the URL to return to includes non-ASCII characters, like spaces or special letters, URL encode the value.

We strongly recommend that you use a maximum of 1024 characters.

The URL must not include personally identifiable information (PII), for example name or email address.

riskData class-attribute instance-attribute
riskData = None

Any risk-related settings to apply to the payment.

sessionData class-attribute instance-attribute
sessionData = None

The payment session data you need to pass to your front end.

shopperEmail class-attribute instance-attribute
shopperEmail = None

The shopper's email address.

shopperIP class-attribute instance-attribute
shopperIP = None

The shopper's IP address. We recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).

Required for Visa and JCB transactions that require 3D Secure 2 authentication for all web and mobile integrations, if you did not include the shopperEmail. For native mobile integrations, the field is required to support cases where authentication is routed to the redirect flow. This field is also mandatory for some merchants depending on your business model. For more information, contact Support ⧉.

shopperInteraction class-attribute instance-attribute
shopperInteraction = None

Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default.

This field has the following possible values: * Ecommerce - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * ContAuth - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * Moto - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * POS - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.

shopperLocale class-attribute instance-attribute
shopperLocale = None

The combination of a language code and a country code to specify the language to be used in the payment.

shopperName class-attribute instance-attribute
shopperName = None

The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.

shopperReference class-attribute instance-attribute
shopperReference = None

Your reference to uniquely identify this shopper, for example user ID or account ID. The value is case-sensitive and must be at least three characters.

Your reference must not include personally identifiable information (PII) such as name or email address.

shopperStatement class-attribute instance-attribute
shopperStatement = None

The text to be shown on the shopper's bank statement. We recommend sending a maximum of 22 characters, otherwise banks might truncate the string. Allowed characters: a-z, A-Z, 0-9, spaces, and special characters . , ' _ - ? + * /.

showInstallmentAmount class-attribute instance-attribute
showInstallmentAmount = None

Set to true to show the payment amount per installment.

showRemovePaymentMethodButton class-attribute instance-attribute
showRemovePaymentMethodButton = None

Set to true to show a button that lets the shopper remove a stored payment method.

socialSecurityNumber class-attribute instance-attribute
socialSecurityNumber = None

The shopper's social security number.

splitCardFundingSources class-attribute instance-attribute
splitCardFundingSources = False

Boolean value indicating whether the card payment method should be split into separate debit and credit options.

splits class-attribute instance-attribute
splits = None

An array of objects specifying how to split a payment when using Adyen for Platforms ⧉, Classic Platforms integration ⧉, or Issuing ⧉.

store class-attribute instance-attribute
store = None

Required for Adyen for Platforms integrations if you are a platform model. This is your reference ⧉ (on balance platform ⧉) or the storeReference ⧉ (in the classic integration ⧉) for the ecommerce or point-of-sale store that is processing the payment.

storeFiltrationMode class-attribute instance-attribute
storeFiltrationMode = None

Specifies how payment methods should be filtered based on the 'store' parameter: - 'exclusive': Only payment methods belonging to the specified 'store' are returned. - 'inclusive': Payment methods from the 'store' and those not associated with any other store are returned.

storePaymentMethod class-attribute instance-attribute
storePaymentMethod = None

When true and shopperReference is provided, the payment details will be stored for future recurring payments ⧉.

storePaymentMethodMode class-attribute instance-attribute
storePaymentMethodMode = None

Indicates if the details of the payment method will be stored for the shopper. Possible values: * disabled – No details will be stored (default). * askForConsent – If the shopperReference is provided, the UI lets the shopper choose if they want their payment details to be stored. * enabled – If the shopperReference is provided, the details will be stored without asking the shopper for consent.

telephoneNumber class-attribute instance-attribute
telephoneNumber = None

The shopper's telephone number. The phone number must include a plus sign (+) and a country code (1-3 digits), followed by the number (4-15 digits). If the value you provide does not follow the guidelines, we do not submit it for authentication.

Required for Visa and JCB transactions that require 3D Secure 2 authentication, if you did not include the shopperEmail.

themeId class-attribute instance-attribute
themeId = None

Sets a custom theme for Hosted Checkout ⧉. The value can be any of the Theme ID values from your Customer Area.

threeDS2RequestData class-attribute instance-attribute
threeDS2RequestData = None

Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to Online payments ⧉.

threeDSAuthenticationOnly class-attribute instance-attribute
threeDSAuthenticationOnly = False

Required to trigger the authentication-only flow ⧉. If set to true, you will only perform the 3D Secure 2 authentication, and will not proceed to the payment authorization.Default: false.

trustedShopper class-attribute instance-attribute
trustedShopper = None

Set to true if the payment should be routed to a trusted MID.

url class-attribute instance-attribute
url = None

The URL for the Hosted Checkout page. Redirect the shopper to this URL so they can make the payment.

CreateOrderRequest

Bases: BaseModel

amount instance-attribute
amount

The total amount of the order.

expiresAt class-attribute instance-attribute
expiresAt = None

The date when the order should expire. If not provided, the default expiry duration is 1 day.

ISO 8601 ⧉ format: YYYY-MM-DDThh:mm:ss+TZD, for example, 2020-12-18T10:15:30+01:00.

merchantAccount instance-attribute
merchantAccount

The merchant account identifier, with which you want to process the order.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
reference instance-attribute
reference

A custom reference identifying the order.

CreateOrderResponse

Bases: BaseModel

additionalData class-attribute instance-attribute
additionalData = None

Contains additional information about the payment. Some data fields are included only if you select them first: Go to Customer Area > Developers > Additional data.

amount instance-attribute
amount

The initial amount of the order.

expiresAt instance-attribute
expiresAt

The date that the order will expire.

fraudResult class-attribute instance-attribute
fraudResult = None

The fraud result properties of the payment.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
orderData instance-attribute
orderData

The encrypted data that will be used by merchant for adding payments to the order.

pspReference class-attribute instance-attribute
pspReference = None

Adyen's 16-character reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.

reference class-attribute instance-attribute
reference = None

The reference provided by merchant for creating the order.

refusalReason class-attribute instance-attribute
refusalReason = None

If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes resultCode and refusalReason values.

For more information, see Refusal reasons ⧉.

remainingAmount instance-attribute
remainingAmount

The remaining amount in the order.

resultCode instance-attribute
resultCode

The result of the order creation request. The value is always Success.

DefaultErrorResponseEntity

Bases: BaseModel

detail class-attribute instance-attribute
detail = None

A human-readable explanation specific to this occurrence of the problem.

errorCode class-attribute instance-attribute
errorCode = None

Unique business error code.

instance class-attribute instance-attribute
instance = None

A URI that identifies the specific occurrence of the problem if applicable.

invalidFields class-attribute instance-attribute
invalidFields = None

Array of fields with validation errors when applicable.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
requestId class-attribute instance-attribute
requestId = None

The unique reference for the request.

status class-attribute instance-attribute
status = None

The HTTP status code.

title class-attribute instance-attribute
title = None

A short, human-readable summary of the problem type.

type class-attribute instance-attribute
type = None

A URI that identifies the validation error type. It points to human-readable documentation for the problem type.

DeliveryAddress

Bases: BaseModel

city instance-attribute
city

The name of the city. Maximum length: 3000 characters.

country instance-attribute
country

The two-character ISO-3166-1 alpha-2 country code. For example, US.

If you don't know the country or are not collecting the country from the shopper, provide country as ZZ.

firstName class-attribute instance-attribute
firstName = None
houseNumberOrName instance-attribute
houseNumberOrName

The number or name of the house. Maximum length: 3000 characters.

lastName class-attribute instance-attribute
lastName = None
model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
postalCode instance-attribute
postalCode

A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries.

stateOrProvince class-attribute instance-attribute
stateOrProvince = None

The two-character ISO 3166-2 state or province code. For example, CA in the US or ON in Canada.

Required for the US and Canada.

street instance-attribute
street

The name of the street. Maximum length: 3000 characters.

The house number should not be included in this field; it should be separately provided via houseNumberOrName.

DeliveryMethod

Bases: BaseModel

amount class-attribute instance-attribute
amount = None

The cost of this delivery method.

description class-attribute instance-attribute
description = None

The name of the delivery method as shown to the shopper.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
reference class-attribute instance-attribute
reference = None

The reference of the delivery method.

selected class-attribute instance-attribute
selected = None

If you display the PayPal lightbox with delivery methods, set to true for the delivery method that is selected. Only one delivery method can be selected at a time.

type class-attribute instance-attribute
type = None

The type of the delivery method.

DetailsRequestAuthenticationData

Bases: BaseModel

authenticationOnly class-attribute instance-attribute
authenticationOnly = False

Required to trigger the authentication-only flow ⧉. If set to true, you will only perform the 3D Secure 2 authentication, and will not proceed to the payment authorization.Default: false.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

DeviceRenderOptions

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sdkInterface class-attribute instance-attribute
sdkInterface = 'both'

Supported SDK interface types. Allowed values: * native * html * both

sdkUiType class-attribute instance-attribute
sdkUiType = None

UI types supported for displaying specific challenges. Allowed values: * text * singleSelect * outOfBand * otherHtml * multiSelect

DokuDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

firstName instance-attribute
firstName

The shopper's first name.

lastName instance-attribute
lastName

The shopper's last name.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

shopperEmail instance-attribute
shopperEmail

The shopper's email.

type instance-attribute
type

doku

Donation

Bases: BaseModel

currency instance-attribute
currency

The three-character ISO currency code ⧉.

donationType instance-attribute
donationType

The type of donation ⧉.

Possible values: * roundup: a donation where the original transaction amount is rounded up as a donation. * fixedAmounts: a donation where you show fixed donations amounts that the shopper can select from.

maxRoundupAmount class-attribute instance-attribute
maxRoundupAmount = None

The maximum amount a transaction can be rounded up to make a donation. This field is only present when donationType is roundup.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

The type of donation ⧉.

Possible values: * roundup: a donation where the original transaction amount is rounded up as a donation. * fixedAmounts: a donation where you show fixed donation amounts that the shopper can select from.

values class-attribute instance-attribute
values = None

The fixed donation amounts in minor units ⧉. This field is only present when donationType is fixedAmounts.

DonationCampaign

Bases: BaseModel

amounts class-attribute instance-attribute
amounts = None

The object that contains the fixed donation amounts that the shopper can select from.

bannerUrl class-attribute instance-attribute
bannerUrl = None

The URL for the banner of the nonprofit or campaign.

campaignName class-attribute instance-attribute
campaignName = None

The name of the donation campaign..

causeName class-attribute instance-attribute
causeName = None

The cause of the nonprofit.

donation class-attribute instance-attribute
donation = None

The object that contains the details of the donation.

id class-attribute instance-attribute
id = None

The unique campaign ID of the donation campaign.

logoUrl class-attribute instance-attribute
logoUrl = None

The URL for the logo of the nonprofit.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
nonprofitDescription class-attribute instance-attribute
nonprofitDescription = None

The description of the nonprofit.

nonprofitName class-attribute instance-attribute
nonprofitName = None

The name of the nonprofit organization that receives the donation.

nonprofitUrl class-attribute instance-attribute
nonprofitUrl = None

The website URL of the nonprofit.

termsAndConditionsUrl class-attribute instance-attribute
termsAndConditionsUrl = None

The URL of the terms and conditions page of the nonprofit and the campaign.

DonationCampaignsRequest

Bases: BaseModel

currency instance-attribute
currency

The three-character ISO currency code ⧉.

locale class-attribute instance-attribute
locale = None

Locale on the shopper interaction device.

merchantAccount instance-attribute
merchantAccount

Your merchant account identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

DonationCampaignsResponse

Bases: BaseModel

donationCampaigns class-attribute instance-attribute
donationCampaigns = None

List of active donation campaigns for your merchant account.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

DonationPaymentRequest

Bases: BaseModel

accountInfo class-attribute instance-attribute
accountInfo = None

Shopper account information for 3D Secure 2.

For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.

additionalData class-attribute instance-attribute
additionalData = None

This field contains additional data, which may be required for a particular payment request.

The additionalData object consists of entries, each of which includes the key and value.

amount instance-attribute
amount

The amount information for the transaction (in minor units ⧉). For BIN or card verification ⧉ requests, set amount to 0 (zero).

applicationInfo class-attribute instance-attribute
applicationInfo = None

Information about your application. For more details, see Building Adyen solutions ⧉.

authenticationData class-attribute instance-attribute
authenticationData = None

Data for 3DS authentication.

billingAddress class-attribute instance-attribute
billingAddress = None

The address where to send the invoice.

The billingAddress object is required in the following scenarios. Include all of the fields within this object. * For 3D Secure 2 transactions in all browser-based and mobile implementations. * For cross-border payouts to and from Canada.

browserInfo class-attribute instance-attribute
browserInfo = None

The shopper's browser information.

For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the userAgent and acceptHeader fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 2 redirect.

channel class-attribute instance-attribute
channel = None

The platform where a payment transaction takes place. This field is optional for filtering out payment methods that are only available on specific platforms. If this value is not set, then we will try to infer it from the sdkVersion or token.

Possible values: * iOS * Android * Web

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

Checkout attempt ID that corresponds to the Id generated by the client SDK for tracking user payment journey.

conversionId class-attribute instance-attribute
conversionId = None

Conversion ID that corresponds to the Id generated by the client SDK for tracking user payment journey.

countryCode class-attribute instance-attribute
countryCode = None

The shopper country.

Format: ISO 3166-1 alpha-2 ⧉ Example: NL or DE

dateOfBirth class-attribute instance-attribute
dateOfBirth = None

The shopper's date of birth.

Format ISO-8601 ⧉: YYYY-MM-DD

deliverAt class-attribute instance-attribute
deliverAt = None

The date and time the purchased goods should be delivered.

Format ISO 8601 ⧉: YYYY-MM-DDThh:mm:ss.sssTZD

Example: 2017-07-17T13:42:40.428+01:00

deliveryAddress class-attribute instance-attribute
deliveryAddress = None

The address where the purchased goods should be delivered.

deviceFingerprint class-attribute instance-attribute
deviceFingerprint = None

A string containing the shopper's device fingerprint. For more information, refer to Device fingerprinting ⧉.

donationAccount class-attribute instance-attribute
donationAccount = None

Donation account to which the transaction is credited.

donationCampaignId class-attribute instance-attribute
donationCampaignId = None

The donation campaign ID received in the /donationCampaigns call.

donationOriginalPspReference class-attribute instance-attribute
donationOriginalPspReference = None

PSP reference of the transaction from which the donation token is generated. Required when donationToken is provided.

donationToken class-attribute instance-attribute
donationToken = None

Donation token received in the /payments call.

lineItems class-attribute instance-attribute
lineItems = None

Price and product information about the purchased items, to be included on the invoice sent to the shopper.

This field is required for 3x 4x Oney, Affirm, Afterpay, Clearpay, Klarna, Ratepay, and Riverty.

merchantAccount instance-attribute
merchantAccount

The merchant account identifier, with which you want to process the transaction.

merchantRiskIndicator class-attribute instance-attribute
merchantRiskIndicator = None

Additional risk fields for 3D Secure 2.

For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.

metadata class-attribute instance-attribute
metadata = None

Metadata consists of entries, each of which includes a key and a value. Limits: * Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". * Maximum 20 characters per key. * Maximum 80 characters per value.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
mpiData class-attribute instance-attribute
mpiData = None

Authentication data produced by an MPI (Mastercard SecureCode, Visa Secure, or Cartes Bancaires).

origin class-attribute instance-attribute
origin = None

Required for browser-based (channel Web) 3D Secure 2 transactions.Set this to the origin URL of the page where you are rendering the Drop-in/Component. Do not include subdirectories and a trailing slash.

paymentMethod class-attribute instance-attribute
paymentMethod = None

The type and required details of a payment method to use.

When donationToken is provided, the payment method is derived from the token and this field becomes optional.

If you are PCI compliant ⧉, and make donations using raw card details, you must explicitly provide the payment method details.

recurringProcessingModel class-attribute instance-attribute
recurringProcessingModel = None

Defines a recurring payment type. Required when creating a token to store payment details or using stored payment details. Allowed values: * Subscription – A transaction for a fixed or variable amount, which follows a fixed schedule. * CardOnFile – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. * UnscheduledCardOnFile – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.

redirectFromIssuerMethod class-attribute instance-attribute
redirectFromIssuerMethod = None

Specifies the redirect method (GET or POST) when redirecting back from the issuer.

redirectToIssuerMethod class-attribute instance-attribute
redirectToIssuerMethod = None

Specifies the redirect method (GET or POST) when redirecting to the issuer.

reference instance-attribute
reference

The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. If you need to provide multiple references for a transaction, separate them with hyphens ("-"). Maximum length: 80 characters.

returnUrl instance-attribute
returnUrl

The URL to return to in case of a redirection. The format depends on the channel. * For web, include the protocol http:// or https://. You can also include your own additional query parameters, for example, shopper ID or order reference number. Example: https://your-company.example.com/checkout?shopperOrder=12xy * For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the Apple Developer documentation ⧉. Example: my-app:// * For Android, use a custom URL handled by an Activity on your app. You can configure it with an intent filter ⧉. Example: my-app://your.package.name

If the URL to return to includes non-ASCII characters, like spaces or special letters, URL encode the value.

We strongly recommend that you use a maximum of 1024 characters.

The URL must not include personally identifiable information (PII), for example name or email address.

sessionValidity class-attribute instance-attribute
sessionValidity = None

The date and time until when the session remains valid, in ISO 8601 ⧉ format.

For example: 2020-07-18T15:42:40.428+01:00

shopperEmail class-attribute instance-attribute
shopperEmail = None

The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. > Required for Visa and JCB transactions that require 3D Secure 2 authentication if you did not include the telephoneNumber.

shopperIP class-attribute instance-attribute
shopperIP = None

The shopper's IP address. We recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).

Required for Visa and JCB transactions that require 3D Secure 2 authentication for all web and mobile integrations, if you did not include the shopperEmail. For native mobile integrations, the field is required to support cases where authentication is routed to the redirect flow. This field is also mandatory for some merchants depending on your business model. For more information, contact Support ⧉.

shopperInteraction class-attribute instance-attribute
shopperInteraction = None

Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default.

This field has the following possible values: * Ecommerce - Online transactions where the cardholder is present (online). For better authorization rates, we recommend sending the card security code (CSC) along with the request. * ContAuth - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorization (one-click payment). * Moto - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * POS - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.

shopperLocale class-attribute instance-attribute
shopperLocale = None

The combination of a language code and a country code to specify the language to be used in the payment.

shopperName class-attribute instance-attribute
shopperName = None

The shopper's full name.

shopperReference class-attribute instance-attribute
shopperReference = None

Required for recurring payments. Your reference to uniquely identify this shopper, for example user ID or account ID. Minimum length: 3 characters.

Your reference must not include personally identifiable information (PII), for example name or email address.

socialSecurityNumber class-attribute instance-attribute
socialSecurityNumber = None

The shopper's social security number.

telephoneNumber class-attribute instance-attribute
telephoneNumber = None

The shopper's telephone number. The phone number must include a plus sign (+) and a country code (1-3 digits), followed by the number (4-15 digits). If the value you provide does not follow the guidelines, we do not submit it for authentication.

Required for Visa and JCB transactions that require 3D Secure 2 authentication, if you did not include the shopperEmail.

threeDS2RequestData class-attribute instance-attribute
threeDS2RequestData = None

Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to Online payments ⧉ or Classic integration ⧉ documentation.

threeDSAuthenticationOnly class-attribute instance-attribute
threeDSAuthenticationOnly = False

Required to trigger the authentication-only flow ⧉. If set to true, you will only perform the 3D Secure 2 authentication, and will not proceed to the payment authorization.Default: false.

DonationPaymentResponse

Bases: BaseModel

amount class-attribute instance-attribute
amount = None

Authorised amount in the transaction.

donationAccount class-attribute instance-attribute
donationAccount = None

The Adyen account name of your charity. We will provide you with this account name once your chosen charity has been onboarded ⧉.

id class-attribute instance-attribute
id = None

Your unique resource identifier.

merchantAccount class-attribute instance-attribute
merchantAccount = None

The merchant account identifier, with which you want to process the transaction.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
payment class-attribute instance-attribute
payment = None

Action to be taken for completing the payment.

reference class-attribute instance-attribute
reference = None

The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. If you need to provide multiple references for a transaction, separate them with hyphens ("-"). Maximum length: 80 characters.

status class-attribute instance-attribute
status = None

The status of the donation transaction.

Possible values: * completed * pending * refused

DragonpayDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

issuer instance-attribute
issuer

The Dragonpay issuer value of the shopper's selected bank. Set this to an id of a Dragonpay issuer to preselect it.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

shopperEmail class-attribute instance-attribute
shopperEmail = None

The shopper’s email address.

type instance-attribute
type

dragonpay

EBankingFinlandDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

issuer class-attribute instance-attribute
issuer = None

The Ebanking Finland issuer value of the shopper's selected bank.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

type instance-attribute
type

ebanking_FI

EcontextVoucherDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

firstName instance-attribute
firstName

The shopper's first name.

lastName instance-attribute
lastName

The shopper's last name.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

shopperEmail instance-attribute
shopperEmail

The shopper's email.

telephoneNumber instance-attribute
telephoneNumber

The shopper's contact number. It must have an international number format, for example +31 20 779 1846. Formats like +31 (0)20 779 1846 or 0031 20 779 1846 are not accepted.

type instance-attribute
type

econtextvoucher

EftDetails

Bases: BaseModel

bankAccountNumber class-attribute instance-attribute
bankAccountNumber = None

The bank account number (without separators).

bankCode class-attribute instance-attribute
bankCode = None

The financial institution code.

bankLocationId class-attribute instance-attribute
bankLocationId = None

The bank routing number of the account.

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
ownerName class-attribute instance-attribute
ownerName = None

The name of the bank account holder. If you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example: * χ12 is converted to ch12. * üA is converted to euA. * Peter Møller is converted to Peter Mller, because banks don't accept 'ø'. After replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example: * John17 - allowed. * J17 - allowed. * 171 - not allowed. * John-7 - allowed.

If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.

recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type class-attribute instance-attribute
type = 'eft_directdebit_CA'

eft

EncryptedOrderData

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
orderData instance-attribute
orderData

The encrypted order data.

pspReference instance-attribute
pspReference

The pspReference that belongs to the order.

EnhancedSchemeData

Bases: BaseModel

airline class-attribute instance-attribute
airline = None

Airline enhanced scheme data ⧉ that may be required for processing the transaction and/or for interchange savings.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

ExternalPlatform

Bases: BaseModel

integrator class-attribute instance-attribute
integrator = None

External platform integrator.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name class-attribute instance-attribute
name = None

Name of the field. For example, Name of External Platform.

version class-attribute instance-attribute
version = None

Version of the field. For example, Version of External Platform.

FastlaneDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

fastlaneData instance-attribute
fastlaneData

The encoded fastlane data blob

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type instance-attribute
type

fastlane

ForexQuote

Bases: BaseModel

account class-attribute instance-attribute
account = None

The account name.

accountType class-attribute instance-attribute
accountType = None

The account type.

baseAmount class-attribute instance-attribute
baseAmount = None

The base amount.

basePoints instance-attribute
basePoints

The base points.

buy class-attribute instance-attribute
buy = None

The buy rate.

interbank class-attribute instance-attribute
interbank = None

The interbank amount.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
reference class-attribute instance-attribute
reference = None

The reference assigned to the forex quote request.

sell class-attribute instance-attribute
sell = None

The sell rate.

signature class-attribute instance-attribute
signature = None

The signature to validate the integrity.

source class-attribute instance-attribute
source = None

The source of the forex quote.

type class-attribute instance-attribute
type = None

The type of forex.

validTill instance-attribute
validTill

The date until which the forex quote is valid.

FraudCheckResult

Bases: BaseModel

accountScore instance-attribute
accountScore

The fraud score generated by the risk check.

checkId instance-attribute
checkId

The ID of the risk check.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name instance-attribute
name

The name of the risk check.

FraudResult

Bases: BaseModel

accountScore instance-attribute
accountScore

The total fraud score generated by the risk checks.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
results class-attribute instance-attribute
results = None

The result of the individual risk checks.

FundOrigin

Bases: BaseModel

billingAddress class-attribute instance-attribute
billingAddress = None

The address where to send the invoice.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
shopperEmail class-attribute instance-attribute
shopperEmail = None

The email address of the person funding the money.

shopperName class-attribute instance-attribute
shopperName = None

The name of the person funding the money.

telephoneNumber class-attribute instance-attribute
telephoneNumber = None

The phone number of the person funding the money.

walletIdentifier class-attribute instance-attribute
walletIdentifier = None

The unique identifier of the wallet where the funds are coming from.

FundRecipient

Bases: BaseModel

IBAN class-attribute instance-attribute
IBAN = None

The IBAN of the bank account where the funds are being transferred to.

billingAddress class-attribute instance-attribute
billingAddress = None

The address where to send the invoice.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentMethod class-attribute instance-attribute
paymentMethod = None

The payment method used by the shopper.

shopperEmail class-attribute instance-attribute
shopperEmail = None

The email address of the shopper.

shopperName class-attribute instance-attribute
shopperName = None

The name of the shopper.

shopperReference class-attribute instance-attribute
shopperReference = None

Required for recurring payments. Your reference to uniquely identify this shopper, for example user ID or account ID. The value is case-sensitive and must be at least three characters.

Your reference must not include personally identifiable information (PII) such as name or email address.

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

subMerchant class-attribute instance-attribute
subMerchant = None

Required for back-to-back/purchase-driven-load transactions, where the funds are taken from the shopper's stored card when the wallet balance is insufficient. The final merchant who will receive the money, also known as a sub-merchant ⧉.

telephoneNumber class-attribute instance-attribute
telephoneNumber = None

The telephone number of the shopper.

walletIdentifier class-attribute instance-attribute
walletIdentifier = None

The unique identifier for the wallet the funds are being transferred to. You can use the shopper reference or any other identifier.

walletOwnerTaxId class-attribute instance-attribute
walletOwnerTaxId = None

The tax identifier of the person receiving the funds.

walletPurpose class-attribute instance-attribute
walletPurpose = None

The purpose of a digital wallet transaction.

GenericIssuerPaymentMethodDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

issuer instance-attribute
issuer

The issuer id of the shopper's selected bank.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type instance-attribute
type

genericissuer

GooglePayDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

fundingSource class-attribute instance-attribute
fundingSource = None

The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to debit.

googlePayCardNetwork class-attribute instance-attribute
googlePayCardNetwork = None

The selected payment card network.

googlePayToken instance-attribute
googlePayToken

The token that you obtained from the Google Pay API ⧉ PaymentData response.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

threeDS2SdkVersion class-attribute instance-attribute
threeDS2SdkVersion = None

Required for mobile integrations. Version of the 3D Secure 2 mobile SDK.

type class-attribute instance-attribute
type = 'googlepay'

googlepay, paywithgoogle

GooglePayDonations

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

fundingSource class-attribute instance-attribute
fundingSource = None

The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to debit.

googlePayCardNetwork class-attribute instance-attribute
googlePayCardNetwork = None

The selected payment card network.

googlePayToken instance-attribute
googlePayToken

The token that you obtained from the Google Pay API ⧉ PaymentData response.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

threeDS2SdkVersion class-attribute instance-attribute
threeDS2SdkVersion = None

Required for mobile integrations. Version of the 3D Secure 2 mobile SDK.

type class-attribute instance-attribute
type = 'googlepay'

googlepay, paywithgoogle

IdealDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

issuer class-attribute instance-attribute
issuer = None

The iDEAL issuer value of the shopper's selected bank. Set this to an id of an iDEAL issuer to preselect it.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type class-attribute instance-attribute
type = 'ideal'

ideal

IdealDonations

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

issuer class-attribute instance-attribute
issuer = None

The iDEAL issuer value of the shopper's selected bank. Set this to an id of an iDEAL issuer to preselect it.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type class-attribute instance-attribute
type = 'ideal'

ideal

InputDetail

Bases: BaseModel

configuration class-attribute instance-attribute
configuration = None

Configuration parameters for the required input.

details class-attribute instance-attribute
details = None

Input details can also be provided recursively.

inputDetails class-attribute instance-attribute
inputDetails = None

Input details can also be provided recursively (deprecated).

itemSearchUrl class-attribute instance-attribute
itemSearchUrl = None

In case of a select, the URL from which to query the items.

items class-attribute instance-attribute
items = None

In case of a select, the items to choose from.

key class-attribute instance-attribute
key = None

The value to provide in the result.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
optional class-attribute instance-attribute
optional = None

True if this input value is optional.

type class-attribute instance-attribute
type = None

The type of the required input.

value class-attribute instance-attribute
value = None

The value can be pre-filled, if available.

InstallmentOption

Bases: BaseModel

maxValue class-attribute instance-attribute
maxValue = None

The maximum number of installments offered for this payment method.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
plans class-attribute instance-attribute
plans = None

Defines the type of installment plan. If not set, defaults to regular.

Possible values: * regular * revolving

preselectedValue class-attribute instance-attribute
preselectedValue = None

Preselected number of installments offered for this payment method.

values class-attribute instance-attribute
values = None

An array of the number of installments that the shopper can choose from. For example, [2,3,5]. This cannot be specified simultaneously with maxValue.

Installments

Bases: BaseModel

extra class-attribute instance-attribute
extra = None

Defines the bonus percentage, refund percentage or if the transaction is Buy now Pay later. Used for card installments in Mexico ⧉

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
plan class-attribute instance-attribute
plan = None

The installment plan, used for card installments in Japan ⧉. and Mexico ⧉. By default, this is set to regular.

value instance-attribute
value

Defines the number of installments. Usually, the maximum allowed number of installments is capped. For example, it may not be possible to split a payment in more than 24 installments. The acquirer sets this upper limit, so its value may vary. This value can be zero for Installments processed in Mexico.

InvalidField

Bases: BaseModel

message instance-attribute
message

Description of the validation error.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name instance-attribute
name

The field that has an invalid value.

value instance-attribute
value

The invalid value.

Item

Bases: BaseModel

id class-attribute instance-attribute
id = None

The value to provide in the result.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name class-attribute instance-attribute
name = None

The display name.

KlarnaDetails

Bases: BaseModel

billingAddress class-attribute instance-attribute
billingAddress = None

The address where to send the invoice.

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

deliveryAddress class-attribute instance-attribute
deliveryAddress = None

The address where the goods should be delivered.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
personalDetails class-attribute instance-attribute
personalDetails = None

Shopper name, date of birth, phone number, and email address.

recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

subtype class-attribute instance-attribute
subtype = None

The type of flow to initiate.

type instance-attribute
type

klarna

Leg

Bases: BaseModel

carrierCode class-attribute instance-attribute
carrierCode = None

The IATA ⧉ 2-letter accounting code (PAX) that identifies the carrier. This field is required if the airline data includes leg details. * Example: KLM = KL * minLength: 2 characters * maxLength: 2 characters * Must not start with a space or be all spaces. * Must not be all zeros.

classOfTravel class-attribute instance-attribute
classOfTravel = None

A one-letter travel class identifier. The following are common: * F: first class * J: business class * Y: economy class * W: premium economy

  • Encoding: ASCII
  • minLength: 1 character
  • maxLength: 1 character
  • Must not start with a space or be all spaces.
  • Must not be all zeros.
dateOfTravel class-attribute instance-attribute
dateOfTravel = None

Date and time of travel in format yyyy-MM-ddTHH:mm. * Use local time of departure airport. * minLength: 16 characters * maxLength: 16 characters

departureAirportCode class-attribute instance-attribute
departureAirportCode = None

The IATA ⧉ three-letter airport code of the departure airport. This field is required if the airline data includes leg details.

  • Encoding: ASCII
  • Example: Amsterdam = AMS
  • minLength: 3 characters
  • maxLength: 3 characters
  • Must not start with a space or be all spaces.
  • Must not be all zeros.
departureTax class-attribute instance-attribute
departureTax = None

The amount of departure tax ⧉ charged, in minor units ⧉. * Encoding: Numeric * minLength: 1 * maxLength: 11 * Must not be all zeros.

destinationAirportCode class-attribute instance-attribute
destinationAirportCode = None

The IATA ⧉ 3-letter airport code of the destination airport. This field is required if the airline data includes leg details. * Example: Amsterdam = AMS * Encoding: ASCII * minLength: 3 characters * maxLength: 3 characters * Must not start with a space or be all spaces. * Must not be all zeros.

fareBasisCode class-attribute instance-attribute
fareBasisCode = None

The fare basis code ⧉, alphanumeric. * minLength: 1 character * maxLength: 15 characters * Must not start with a space or be all spaces. * Must not be all zeros.

flightNumber class-attribute instance-attribute
flightNumber = None

The flight identifier. * minLength: 1 character * maxLength: 5 characters * Must not start with a space or be all spaces. * Must not be all zeros.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
stopOverCode class-attribute instance-attribute
stopOverCode = None

A one-letter code that indicates whether the passenger is entitled to make a stopover. Can be a space, O if the passenger is entitled to make a stopover, or X if they are not. * Encoding: ASCII * minLength: 1 character * maxLength: 1 character

LineItem

Bases: BaseModel

amountExcludingTax class-attribute instance-attribute
amountExcludingTax = None

Item amount excluding the tax, in minor units.

amountIncludingTax class-attribute instance-attribute
amountIncludingTax = None

Item amount including the tax, in minor units.

brand class-attribute instance-attribute
brand = None

Brand of the item.

color class-attribute instance-attribute
color = None

Color of the item.

description class-attribute instance-attribute
description = None

Description of the line item.

id class-attribute instance-attribute
id = None

ID of the line item.

imageUrl class-attribute instance-attribute
imageUrl = None

Link to the picture of the purchased item.

itemCategory class-attribute instance-attribute
itemCategory = None

Item category, used by the payment methods PayPal and Ratepay.

manufacturer class-attribute instance-attribute
manufacturer = None

Manufacturer of the item.

marketplaceSellerId class-attribute instance-attribute
marketplaceSellerId = None

Marketplace seller id.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
productUrl class-attribute instance-attribute
productUrl = None

Link to the purchased item.

quantity class-attribute instance-attribute
quantity = None

Number of items.

receiverEmail class-attribute instance-attribute
receiverEmail = None

Email associated with the given product in the basket (usually in electronic gift cards).

size class-attribute instance-attribute
size = None

Size of the item.

sku class-attribute instance-attribute
sku = None

Stock keeping unit.

taxAmount class-attribute instance-attribute
taxAmount = None

Tax amount, in minor units.

taxPercentage class-attribute instance-attribute
taxPercentage = None

Tax percentage, in minor units.

upc class-attribute instance-attribute
upc = None

Universal Product Code.

ListStoredPaymentMethodsResponse

Bases: BaseModel

merchantAccount class-attribute instance-attribute
merchantAccount = None

Your merchant account.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
shopperReference class-attribute instance-attribute
shopperReference = None

Your reference to uniquely identify this shopper, for example user ID or account ID. Minimum length: 3 characters.

Your reference must not include personally identifiable information (PII), for example name or email address.

storedPaymentMethods class-attribute instance-attribute
storedPaymentMethods = None

List of all stored payment methods.

Mandate

Bases: BaseModel

amount instance-attribute
amount

The billing amount (in minor units) of the recurring transactions.

amountRule class-attribute instance-attribute
amountRule = None

The limitation rule of the billing amount.

Possible values
  • max: The transaction amount can not exceed the amount.

  • exact: The transaction amount should be the same as the amount.

billingAttemptsRule class-attribute instance-attribute
billingAttemptsRule = None

The rule to specify the period, within which the recurring debit can happen, relative to the mandate recurring date.

Possible values:

  • on: On a specific date.

  • before: Before and on a specific date.

  • after: On and after a specific date.

billingDay class-attribute instance-attribute
billingDay = None

The number of the day, on which the recurring debit can happen. Should be within the same calendar month as the mandate recurring date.

Possible values: 1-31 based on the frequency.

count class-attribute instance-attribute
count = None

The number of transactions that can be performed within the given frequency.

endsAt instance-attribute
endsAt

End date of the billing plan, in YYYY-MM-DD format.

frequency instance-attribute
frequency

The frequency with which a shopper should be charged.

Possible values: adhoc, daily, weekly, biWeekly, monthly, quarterly, halfYearly, yearly.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
remarks class-attribute instance-attribute
remarks = None

The message shown by UPI to the shopper on the approval screen.

startsAt class-attribute instance-attribute
startsAt = None

Start date of the billing plan, in YYYY-MM-DD format. By default, the transaction date.

MasterpassDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

fundingSource class-attribute instance-attribute
fundingSource = None

The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to debit.

masterpassTransactionId instance-attribute
masterpassTransactionId

The Masterpass transaction ID.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

type class-attribute instance-attribute
type = 'masterpass'

masterpass

MbwayDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

shopperEmail instance-attribute
shopperEmail
telephoneNumber instance-attribute
telephoneNumber
type class-attribute instance-attribute
type = 'mbway'

mbway

MerchantDevice

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
os class-attribute instance-attribute
os = None

Operating system running on the merchant device.

osVersion class-attribute instance-attribute
osVersion = None

Version of the operating system on the merchant device.

reference class-attribute instance-attribute
reference = None

Merchant device reference.

MerchantRiskIndicator

Bases: BaseModel

addressMatch class-attribute instance-attribute
addressMatch = None

Whether the chosen delivery address is identical to the billing address.

deliveryAddressIndicator class-attribute instance-attribute
deliveryAddressIndicator = None

Indicator regarding the delivery address. Allowed values: * shipToBillingAddress * shipToVerifiedAddress * shipToNewAddress * shipToStore * digitalGoods * goodsNotShipped * other

deliveryEmail class-attribute instance-attribute
deliveryEmail = None

The delivery email address (for digital goods).

deliveryEmailAddress class-attribute instance-attribute
deliveryEmailAddress = None

For Electronic delivery, the email address to which the merchandise was delivered. Maximum length: 254 characters.

deliveryTimeframe class-attribute instance-attribute
deliveryTimeframe = None

The estimated delivery time for the shopper to receive the goods. Allowed values: * electronicDelivery * sameDayShipping * overnightShipping * twoOrMoreDaysShipping

giftCardAmount class-attribute instance-attribute
giftCardAmount = None

For prepaid or gift card purchase, the purchase amount total of prepaid or gift card(s).

giftCardCount class-attribute instance-attribute
giftCardCount = None

For prepaid or gift card purchase, total count of individual prepaid or gift cards/codes purchased.

giftCardCurr class-attribute instance-attribute
giftCardCurr = None

For prepaid or gift card purchase, ISO 4217 ⧉ three-digit currency code of the gift card, other than those listed in Table A.5 of the EMVCo 3D Secure Protocol and Core Functions Specification.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
preOrderDate class-attribute instance-attribute
preOrderDate = None

For pre-order purchases, the expected date this product will be available to the shopper.

preOrderPurchase class-attribute instance-attribute
preOrderPurchase = None

Indicator for whether this transaction is for pre-ordering a product.

preOrderPurchaseInd class-attribute instance-attribute
preOrderPurchaseInd = None

Indicates whether Cardholder is placing an order for merchandise with a future availability or release date.

reorderItems class-attribute instance-attribute
reorderItems = None

Indicator for whether the shopper has already purchased the same items in the past.

reorderItemsInd class-attribute instance-attribute
reorderItemsInd = None

Indicates whether the cardholder is reordering previously purchased merchandise.

shipIndicator class-attribute instance-attribute
shipIndicator = None

Indicates shipping method chosen for the transaction.

MobilePayDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

type class-attribute instance-attribute
type = 'mobilepay'

mobilepay

MolPayDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

issuer instance-attribute
issuer

The shopper's bank. Specify this with the issuer value that corresponds to this bank.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

type instance-attribute
type

molpay

Name

Bases: BaseModel

firstName instance-attribute
firstName

The first name.

lastName instance-attribute
lastName

The last name.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

OpenInvoiceDetails

Bases: BaseModel

billingAddress class-attribute instance-attribute
billingAddress = None

The address where to send the invoice.

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

deliveryAddress class-attribute instance-attribute
deliveryAddress = None

The address where the goods should be delivered.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
personalDetails class-attribute instance-attribute
personalDetails = None

Shopper name, date of birth, phone number, and email address.

recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type class-attribute instance-attribute
type = 'openinvoice'

openinvoice

Passenger

Bases: BaseModel

dateOfBirth class-attribute instance-attribute
dateOfBirth = None

The passenger's date of birth. * Format yyyy-MM-dd * minLength: 10 * maxLength: 10

firstName class-attribute instance-attribute
firstName = None

The passenger's first name.

This field is required if the airline data includes passenger details or leg details. * Encoding: ASCII

lastName class-attribute instance-attribute
lastName = None

The passenger's last name.

This field is required if the airline data includes passenger details or leg details. * Encoding: ASCII

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
phoneNumber class-attribute instance-attribute
phoneNumber = None

The passenger's phone number, including country code. This is an alphanumeric field that can include the '+' and '-' signs. * Encoding: ASCII * minLength: 3 characters * maxLength: 30 characters

travellerType class-attribute instance-attribute
travellerType = None

The IATA passenger type code (PTC). * Encoding: ASCII * minLength: 3 characters * maxLength: 6 characters

PayByBankAISDirectDebitDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type instance-attribute
type

paybybank_AIS_DD

PayByBankDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

issuer class-attribute instance-attribute
issuer = None

The PayByBank issuer value of the shopper's selected bank.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

type instance-attribute
type

paybybank

PayPalDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
orderID class-attribute instance-attribute
orderID = None

The unique ID associated with the order.

payeePreferred class-attribute instance-attribute
payeePreferred = None

IMMEDIATE_PAYMENT_REQUIRED or UNRESTRICTED

payerID class-attribute instance-attribute
payerID = None

The unique ID associated with the payer.

payerSelected class-attribute instance-attribute
payerSelected = None

PAYPAL or PAYPAL_CREDIT

recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

subtype class-attribute instance-attribute
subtype = None

The type of flow to initiate.

type instance-attribute
type

paypal

PayPayDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type class-attribute instance-attribute
type = 'paypay'

paypay

PayToDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

shopperAccountIdentifier class-attribute instance-attribute
shopperAccountIdentifier = None

The shopper's banking details or payId reference, used to complete payment.

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type class-attribute instance-attribute
type = 'payto'

payto

PayToPaymentMethod

Bases: ShopperIdPaymentMethod

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
shopperReference class-attribute instance-attribute
shopperReference = None
type instance-attribute
type

PayUUpiDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

shopperNotificationReference class-attribute instance-attribute
shopperNotificationReference = None

The shopperNotificationReference returned in the response when you requested to notify the shopper. Used for recurring payment only.

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type instance-attribute
type

payu_IN_upi

virtualPaymentAddress class-attribute instance-attribute
virtualPaymentAddress = None

The virtual payment address for UPI.

PayWithGoogleDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

fundingSource class-attribute instance-attribute
fundingSource = None

The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to debit.

googlePayToken instance-attribute
googlePayToken

The token that you obtained from the Google Pay API ⧉ PaymentData response.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

threeDS2SdkVersion class-attribute instance-attribute
threeDS2SdkVersion = None

Required for mobile integrations. Version of the 3D Secure 2 mobile SDK.

type class-attribute instance-attribute
type = 'paywithgoogle'

paywithgoogle

PayWithGoogleDonations

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

fundingSource class-attribute instance-attribute
fundingSource = None

The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to debit.

googlePayToken instance-attribute
googlePayToken

The token that you obtained from the Google Pay API ⧉ PaymentData response.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

threeDS2SdkVersion class-attribute instance-attribute
threeDS2SdkVersion = None

Required for mobile integrations. Version of the 3D Secure 2 mobile SDK.

type class-attribute instance-attribute
type = 'paywithgoogle'

paywithgoogle

Payment

Bases: BaseModel

amount class-attribute instance-attribute
amount = None

Authorised amount in the transaction.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentMethod class-attribute instance-attribute
paymentMethod = None

Only returned for resultCode: Authorised. Details about the payment method used in the transaction.

pspReference class-attribute instance-attribute
pspReference = None

Adyen's 16-character reference associated with the transaction/request. This value is globally unique. Use this reference when you communicate with us about this request.

resultCode class-attribute instance-attribute
resultCode = None

The result of the payment. For more information, see Result codes ⧉.

Possible values:

  • Authorised – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.

PaymentAmountUpdateRequest

Bases: BaseModel

amount instance-attribute
amount

The updated amount. The currency must match the currency used in authorisation.

applicationInfo class-attribute instance-attribute
applicationInfo = None

Information about your application. For more details, see Building Adyen solutions ⧉.

enhancedSchemeData class-attribute instance-attribute
enhancedSchemeData = None

Enhanced scheme data that may be required for processing the payment. For example, airline information.

industryUsage class-attribute instance-attribute
industryUsage = None

The reason for the amount update. Possible values: * delayedCharge * noShow * installment

lineItems class-attribute instance-attribute
lineItems = None

Price and product information of the refunded items, required for partial refunds ⧉.

This field is required for partial refunds with 3x 4x Oney, Affirm, Afterpay, Atome, Clearpay, Klarna, Ratepay, Walley, and Zip.

merchantAccount instance-attribute
merchantAccount

The merchant account that is used to process the payment.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
reference class-attribute instance-attribute
reference = None

Your reference for the amount update request. Maximum length: 80 characters.

splits class-attribute instance-attribute
splits = None

An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For more information, see how to process payments for marketplaces ⧉ or platforms ⧉.

PaymentAmountUpdateResponse

Bases: BaseModel

amount instance-attribute
amount

The updated amount.

industryUsage class-attribute instance-attribute
industryUsage = None

The reason for the amount update. Possible values: * delayedCharge * noShow * installment

lineItems class-attribute instance-attribute
lineItems = None

Price and product information of the refunded items, required for partial refunds ⧉.

This field is required for partial refunds with 3x 4x Oney, Affirm, Afterpay, Atome, Clearpay, Klarna, Ratepay, Walley, and Zip.

merchantAccount instance-attribute
merchantAccount

The merchant account that is used to process the payment.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentPspReference instance-attribute
paymentPspReference

The pspReference ⧉ of the payment to update.

pspReference instance-attribute
pspReference

Adyen's 16-character reference associated with the amount update request.

reference instance-attribute
reference

Your reference for the amount update request. Maximum length: 80 characters.

splits class-attribute instance-attribute
splits = None

An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For more information, see how to process payments for marketplaces ⧉ or platforms ⧉.

status instance-attribute
status

The status of your request. This will always have the value received.

PaymentCancelRequest

Bases: BaseModel

applicationInfo class-attribute instance-attribute
applicationInfo = None

Information about your application. For more details, see Building Adyen solutions ⧉.

enhancedSchemeData class-attribute instance-attribute
enhancedSchemeData = None

Enhanced scheme data that may be required for processing the payment. For example, airline information.

merchantAccount instance-attribute
merchantAccount

The merchant account that is used to process the payment.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
reference class-attribute instance-attribute
reference = None

Your reference for the cancel request. Maximum length: 80 characters.

PaymentCancelResponse

Bases: BaseModel

merchantAccount instance-attribute
merchantAccount

The merchant account that is used to process the payment.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentPspReference instance-attribute
paymentPspReference

The pspReference ⧉ of the payment to cancel.

pspReference instance-attribute
pspReference

Adyen's 16-character reference associated with the cancel request.

reference class-attribute instance-attribute
reference = None

Your reference for the cancel request.

status instance-attribute
status

The status of your request. This will always have the value received.

PaymentCaptureRequest

Bases: BaseModel

amount instance-attribute
amount

The amount that you want to capture. The currency must match the currency used in authorisation, the value must be smaller than or equal to the authorised amount.

applicationInfo class-attribute instance-attribute
applicationInfo = None

Information about your application. For more details, see Building Adyen solutions ⧉.

enhancedSchemeData class-attribute instance-attribute
enhancedSchemeData = None

Enhanced scheme data that may be required for processing the payment. For example, airline information.

lineItems class-attribute instance-attribute
lineItems = None

Price and product information of the refunded items, required for partial refunds ⧉.

This field is required for partial refunds with 3x 4x Oney, Affirm, Afterpay, Atome, Clearpay, Klarna, Ratepay, Walley, and Zip.

merchantAccount instance-attribute
merchantAccount

The merchant account that is used to process the payment.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
platformChargebackLogic class-attribute instance-attribute
platformChargebackLogic = None

Defines how to book chargebacks when using Adyen for Platforms ⧉.

reference class-attribute instance-attribute
reference = None

Your reference for the capture request. Maximum length: 80 characters.

splits class-attribute instance-attribute
splits = None

An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For more information, see how to process payments for marketplaces ⧉ or platforms ⧉.

subMerchants class-attribute instance-attribute
subMerchants = None

A List of sub-merchants.

PaymentCaptureResponse

Bases: BaseModel

amount instance-attribute
amount

The captured amount.

lineItems class-attribute instance-attribute
lineItems = None

Price and product information of the refunded items, required for partial refunds ⧉.

This field is required for partial refunds with 3x 4x Oney, Affirm, Afterpay, Atome, Clearpay, Klarna, Ratepay, Walley, and Zip.

merchantAccount instance-attribute
merchantAccount

The merchant account that is used to process the payment.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentPspReference instance-attribute
paymentPspReference

The pspReference ⧉ of the payment to capture.

platformChargebackLogic class-attribute instance-attribute
platformChargebackLogic = None

Defines how to book chargebacks when using Adyen for Platforms ⧉.

pspReference instance-attribute
pspReference

Adyen's 16-character reference associated with the capture request.

reference class-attribute instance-attribute
reference = None

Your reference for the capture request.

splits class-attribute instance-attribute
splits = None

An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For more information, see how to process payments for marketplaces ⧉ or platforms ⧉.

status instance-attribute
status

The status of your request. This will always have the value received.

subMerchants class-attribute instance-attribute
subMerchants = None

List of sub-merchants.

PaymentCompletionDetails

Bases: BaseModel

MD class-attribute instance-attribute
MD = None

A payment session identifier returned by the card issuer.

PaReq class-attribute instance-attribute
PaReq = None

(3D) Payment Authentication Request data for the card issuer.

PaRes class-attribute instance-attribute
PaRes = None

(3D) Payment Authentication Response data by the card issuer.

authorization_token class-attribute instance-attribute
authorization_token = None
billingToken class-attribute instance-attribute
billingToken = None

PayPal-generated token for recurring payments.

cupsecureplus_smscode class-attribute instance-attribute
cupsecureplus_smscode = None

The SMS verification code collected from the shopper.

facilitatorAccessToken class-attribute instance-attribute
facilitatorAccessToken = None

PayPal-generated third party access token.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
oneTimePasscode class-attribute instance-attribute
oneTimePasscode = None

A random number sent to the mobile phone number of the shopper to verify the payment.

orderID class-attribute instance-attribute
orderID = None

PayPal-assigned ID for the order.

payerID class-attribute instance-attribute
payerID = None

PayPal-assigned ID for the payer (shopper).

payload class-attribute instance-attribute
payload = None

Payload appended to the returnURL as a result of the redirect.

paymentID class-attribute instance-attribute
paymentID = None

PayPal-generated ID for the payment.

paymentStatus class-attribute instance-attribute
paymentStatus = None

Value passed from the WeChat MiniProgram wx.requestPayment complete callback. Possible values: any value starting with requestPayment:.

redirectResult class-attribute instance-attribute
redirectResult = None

The result of the redirect as appended to the returnURL.

resultCode class-attribute instance-attribute
resultCode = None

Value you received from the WeChat Pay SDK.

returnUrlQueryString class-attribute instance-attribute
returnUrlQueryString = None

The query string as appended to the returnURL when using direct issuer links .

threeDSResult class-attribute instance-attribute
threeDSResult = None

Base64-encoded string returned by the Component after the challenge flow. It contains the following parameters: transStatus, authorisationToken.

threeds2_challengeResult class-attribute instance-attribute
threeds2_challengeResult = None

Base64-encoded string returned by the Component after the challenge flow. It contains the following parameter: transStatus.

threeds2_fingerprint class-attribute instance-attribute
threeds2_fingerprint = None

Base64-encoded string returned by the Component after the challenge flow. It contains the following parameter: threeDSCompInd.

vaultToken class-attribute instance-attribute
vaultToken = None

PayPalv2-generated token for recurring payments.

PaymentDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

type class-attribute instance-attribute
type = None

The payment method type.

PaymentDetailsRequest

Bases: BaseModel

authenticationData class-attribute instance-attribute
authenticationData = None

Data for 3DS authentication.

details instance-attribute
details

Use this collection to submit the details that were returned as a result of the /payments call.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentData class-attribute instance-attribute
paymentData = None

Encoded payment data. For authorizing a payment after using 3D Secure 2 Authentication-only ⧉:

If you received resultCode: AuthenticationNotRequired in the /payments response, use the threeDSPaymentData from the same response.

If you received resultCode: AuthenticationFinished in the /payments response, use the action.paymentData from the same response.

threeDSAuthenticationOnly class-attribute instance-attribute
threeDSAuthenticationOnly = None

Change the authenticationOnly indicator originally set in the /payments request. Only needs to be set if you want to modify the value set previously.

PaymentDetailsResponse

Bases: BaseModel

action class-attribute instance-attribute
action = None

Action to be taken for completing the payment. When returned, only the 3D Secure action is needed in most cases.

additionalData class-attribute instance-attribute
additionalData = None

Contains additional information about the payment. Some data fields are included only if you select them first: Go to Customer Area > Developers > Additional data.

amount class-attribute instance-attribute
amount = None

Authorised amount in the transaction.

donationToken class-attribute instance-attribute
donationToken = None

Donation Token containing payment details for Adyen Giving.

fraudResult class-attribute instance-attribute
fraudResult = None

The fraud result properties of the payment.

merchantReference class-attribute instance-attribute
merchantReference = None

The reference used during the /payments request.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
order class-attribute instance-attribute
order = None

Contains updated information regarding the order in case order information was provided in the request.

paymentMethod class-attribute instance-attribute
paymentMethod = None

Details about the payment method used in the transaction. Only returned if resultCode is Authorised.

paymentValidations class-attribute instance-attribute
paymentValidations = None

The object that contains the validation outcomes. Only returned if resultCode is Authorised and if you have requested a payment validation in the request.

pspReference class-attribute instance-attribute
pspReference = None

Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.

refusalReason class-attribute instance-attribute
refusalReason = None

If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes resultCode and refusalReason values.

For more information, see Refusal reasons ⧉.

refusalReasonCode class-attribute instance-attribute
refusalReasonCode = None

Code that specifies the refusal reason. For more information, see Authorisation refusal reasons ⧉.

resultCode class-attribute instance-attribute
resultCode = None

The result of the payment. For more information, see Result codes ⧉.

Possible values:

  • AuthenticationFinished – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.
  • AuthenticationNotRequired – The transaction does not require 3D Secure authentication. Returned for standalone authentication-only integrations ⧉.
  • Authorised – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.
  • Cancelled – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.
  • ChallengeShopper – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.
  • Error – There was an error when the payment was being processed. The reason is given in the refusalReason field. This is a final state.
  • IdentifyShopper – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.
  • PartiallyAuthorised – The payment has been authorised for a partial amount. This happens for card payments when the merchant supports Partial Authorisations and the cardholder has insufficient funds.
  • Pending – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.
  • PresentToShopper – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.
  • Received – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.
  • RedirectShopper – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.
  • Refused – Indicates the payment was refused. The reason is given in the refusalReason field. This is a final state.
shopperLocale class-attribute instance-attribute
shopperLocale = None

The shopperLocale.

threeDS2ResponseData class-attribute instance-attribute
threeDS2ResponseData = None

Response of the 3D Secure 2 authentication.

threeDS2Result class-attribute instance-attribute
threeDS2Result = None

Result of the 3D Secure 2 authentication.

threeDSPaymentData class-attribute instance-attribute
threeDSPaymentData = None

When non-empty, contains a value that you must submit to the /payments/details endpoint as paymentData.

PaymentLinkRequest

Bases: BaseModel

allowedPaymentMethods class-attribute instance-attribute
allowedPaymentMethods = None

List of payment methods to be presented to the shopper. To refer to payment methods, use their payment method type ⧉.

Example: "allowedPaymentMethods":["ideal","applepay"]

amount instance-attribute
amount

The payment amount and currency.

applicationInfo class-attribute instance-attribute
applicationInfo = None

Information about your application. For more details, see Building Adyen solutions ⧉.

billingAddress class-attribute instance-attribute
billingAddress = None

The address where to send the invoice.

blockedPaymentMethods class-attribute instance-attribute
blockedPaymentMethods = None

List of payment methods to be hidden from the shopper. To refer to payment methods, use their payment method type ⧉.

Example: "blockedPaymentMethods":["ideal","applepay"]

captureDelayHours class-attribute instance-attribute
captureDelayHours = None

The delay between the authorisation and scheduled auto-capture, specified in hours.

countryCode class-attribute instance-attribute
countryCode = None

The shopper's two-letter country code.

dateOfBirth class-attribute instance-attribute
dateOfBirth = None

The shopper's date of birth.

Format ISO-8601 ⧉: YYYY-MM-DD

deliverAt class-attribute instance-attribute
deliverAt = None

The date and time when the purchased goods should be delivered.

ISO 8601 ⧉ format: YYYY-MM-DDThh:mm:ss+TZD, for example, 2020-12-18T10:15:30+01:00.

deliveryAddress class-attribute instance-attribute
deliveryAddress = None

The address where the purchased goods should be delivered.

description class-attribute instance-attribute
description = None

A short description visible on the payment page. Maximum length: 280 characters.

expiresAt class-attribute instance-attribute
expiresAt = None

The date when the payment link expires.

ISO 8601 ⧉ format with time zone offset: YYYY-MM-DDThh:mm:ss+TZD, for example, 2020-12-18T10:15:30+01:00.

The maximum expiry date is 70 days after the payment link is created.

If not provided, the payment link expires 24 hours after it was created.

fundOrigin class-attribute instance-attribute
fundOrigin = None

The person or entity funding the money.

fundRecipient class-attribute instance-attribute
fundRecipient = None

the person or entity receiving the money

installmentOptions class-attribute instance-attribute
installmentOptions = None

A set of key-value pairs that specifies the installment options available per payment method. The key must be a payment method name in lowercase. For example, card to specify installment options for all cards, or visa or mc. The value must be an object containing the installment options.

lineItems class-attribute instance-attribute
lineItems = None

Price and product information about the purchased items, to be included on the invoice sent to the shopper.

This field is required for 3x 4x Oney, Affirm, Afterpay, Clearpay, Klarna, Ratepay, and Riverty.

manualCapture class-attribute instance-attribute
manualCapture = None

Indicates if the payment must be captured manually ⧉.

mcc class-attribute instance-attribute
mcc = None

The merchant category code ⧉ (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.

merchantAccount instance-attribute
merchantAccount

The merchant account identifier for which the payment link is created.

merchantOrderReference class-attribute instance-attribute
merchantOrderReference = None

This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.

metadata class-attribute instance-attribute
metadata = None

Metadata consists of entries, each of which includes a key and a value. Limitations: * Maximum 20 key-value pairs per request. Otherwise, error "177" occurs: "Metadata size exceeds limit" * Maximum 20 characters per key. Otherwise, error "178" occurs: "Metadata key size exceeds limit" * A key cannot have the name checkout.linkId. Any value that you provide with this key is going to be replaced by the real payment link ID.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
platformChargebackLogic class-attribute instance-attribute
platformChargebackLogic = None

Dictates the behavior of how a potential chargeback should be booked when using Adyen Platforms.

recurringProcessingModel class-attribute instance-attribute
recurringProcessingModel = None

Defines a recurring payment type. Required when storePaymentMethodMode is set to askForConsent or enabled. Possible values: * Subscription – A transaction for a fixed or variable amount, which follows a fixed schedule. * CardOnFile – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. * UnscheduledCardOnFile – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.

reference instance-attribute
reference

A reference that is used to uniquely identify the payment in future communications about the payment status.

requiredShopperFields class-attribute instance-attribute
requiredShopperFields = None

List of fields that the shopper has to provide on the payment page before completing the payment. For more information, refer to Provide shopper information ⧉.

Possible values: * billingAddress – The address where to send the invoice. * deliveryAddress – The address where the purchased goods should be delivered. * shopperEmail – The shopper's email address. * shopperName – The shopper's full name. * telephoneNumber – The shopper's phone number.

returnUrl class-attribute instance-attribute
returnUrl = None

Website URL used for redirection after payment is completed. If provided, a Continue button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL.

reusable class-attribute instance-attribute
reusable = None

Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to false which means the link can be used for one successful payment only.

riskData class-attribute instance-attribute
riskData = None

Any risk-related settings to apply to the payment.

shopperEmail class-attribute instance-attribute
shopperEmail = None

The shopper's email address.

shopperLocale class-attribute instance-attribute
shopperLocale = None

The language to be used in the payment page, specified by a combination of a language and country code. For example, en-US.

For a list of shopper locales that Pay by Link supports, refer to Language and localization ⧉.

shopperName class-attribute instance-attribute
shopperName = None

The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.

shopperReference class-attribute instance-attribute
shopperReference = None

Your reference to uniquely identify this shopper, for example user ID or account ID. The value is case-sensitive and must be at least three characters.

Your reference must not include personally identifiable information (PII) such as name or email address.

shopperStatement class-attribute instance-attribute
shopperStatement = None

The text to be shown on the shopper's bank statement. We recommend sending a maximum of 22 characters, otherwise banks might truncate the string. Allowed characters: a-z, A-Z, 0-9, spaces, and special characters . , ' _ - ? + * /.

showRemovePaymentMethodButton class-attribute instance-attribute
showRemovePaymentMethodButton = True

Set to false to hide the button that lets the shopper remove a stored payment method.

socialSecurityNumber class-attribute instance-attribute
socialSecurityNumber = None

The shopper's social security number.

splitCardFundingSources class-attribute instance-attribute
splitCardFundingSources = False

Boolean value indicating whether the card payment method should be split into separate debit and credit options.

splits class-attribute instance-attribute
splits = None

An array of objects specifying how to split a payment when using Adyen for Platforms ⧉, Classic Platforms integration ⧉, or Issuing ⧉.

store class-attribute instance-attribute
store = None

The physical store, for which this payment is processed.

storePaymentMethodMode class-attribute instance-attribute
storePaymentMethodMode = None

Indicates if the details of the payment method will be stored for the shopper. Possible values: * disabled – No details will be stored (default). * askForConsent – If the shopperReference is provided, the UI lets the shopper choose if they want their payment details to be stored. * enabled – If the shopperReference is provided, the details will be stored without asking the shopper for consent. When set to askForConsent or enabled, you must also include the recurringProcessingModel parameter.

telephoneNumber class-attribute instance-attribute
telephoneNumber = None

The shopper's telephone number. The phone number must include a plus sign (+) and a country code (1-3 digits), followed by the number (4-15 digits). If the value you provide does not follow the guidelines, we do not submit it for authentication.

Required for Visa and JCB transactions that require 3D Secure 2 authentication, if you did not include the shopperEmail.

themeId class-attribute instance-attribute
themeId = None

A theme ⧉ to customize the appearance of the payment page. If not specified, the payment page is rendered according to the theme set as default in your Customer Area.

threeDS2RequestData class-attribute instance-attribute
threeDS2RequestData = None

The cardholder phone number need to be part of the authentication message for payment data. It is a requirement for Visa Secure Authentication Data Field Mandate effective August 2024.

PaymentLinkResponse

Bases: BaseModel

allowedPaymentMethods class-attribute instance-attribute
allowedPaymentMethods = None

List of payment methods to be presented to the shopper. To refer to payment methods, use their payment method type ⧉.

Example: "allowedPaymentMethods":["ideal","applepay"]

amount instance-attribute
amount

The payment amount and currency.

applicationInfo class-attribute instance-attribute
applicationInfo = None

Information about your application. For more details, see Building Adyen solutions ⧉.

billingAddress class-attribute instance-attribute
billingAddress = None

The address where to send the invoice.

blockedPaymentMethods class-attribute instance-attribute
blockedPaymentMethods = None

List of payment methods to be hidden from the shopper. To refer to payment methods, use their payment method type ⧉.

Example: "blockedPaymentMethods":["ideal","applepay"]

captureDelayHours class-attribute instance-attribute
captureDelayHours = None

The delay between the authorisation and scheduled auto-capture, specified in hours.

countryCode class-attribute instance-attribute
countryCode = None

The shopper's two-letter country code.

dateOfBirth class-attribute instance-attribute
dateOfBirth = None

The shopper's date of birth.

Format ISO-8601 ⧉: YYYY-MM-DD

deliverAt class-attribute instance-attribute
deliverAt = None

The date and time when the purchased goods should be delivered.

ISO 8601 ⧉ format: YYYY-MM-DDThh:mm:ss+TZD, for example, 2020-12-18T10:15:30+01:00.

deliveryAddress class-attribute instance-attribute
deliveryAddress = None

The address where the purchased goods should be delivered.

description class-attribute instance-attribute
description = None

A short description visible on the payment page. Maximum length: 280 characters.

expiresAt class-attribute instance-attribute
expiresAt = None

The date when the payment link expires.

ISO 8601 ⧉ format with time zone offset: YYYY-MM-DDThh:mm:ss+TZD, for example, 2020-12-18T10:15:30+01:00.

The maximum expiry date is 70 days after the payment link is created.

If not provided, the payment link expires 24 hours after it was created.

fundOrigin class-attribute instance-attribute
fundOrigin = None

The person or entity funding the money.

fundRecipient class-attribute instance-attribute
fundRecipient = None

the person or entity receiving the money

id instance-attribute
id

A unique identifier of the payment link.

installmentOptions class-attribute instance-attribute
installmentOptions = None

A set of key-value pairs that specifies the installment options available per payment method. The key must be a payment method name in lowercase. For example, card to specify installment options for all cards, or visa or mc. The value must be an object containing the installment options.

lineItems class-attribute instance-attribute
lineItems = None

Price and product information about the purchased items, to be included on the invoice sent to the shopper.

This field is required for 3x 4x Oney, Affirm, Afterpay, Clearpay, Klarna, Ratepay, and Riverty.

manualCapture class-attribute instance-attribute
manualCapture = None

Indicates if the payment must be captured manually ⧉.

mcc class-attribute instance-attribute
mcc = None

The merchant category code ⧉ (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.

merchantAccount instance-attribute
merchantAccount

The merchant account identifier for which the payment link is created.

merchantOrderReference class-attribute instance-attribute
merchantOrderReference = None

This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.

metadata class-attribute instance-attribute
metadata = None

Metadata consists of entries, each of which includes a key and a value. Limitations: * Maximum 20 key-value pairs per request. Otherwise, error "177" occurs: "Metadata size exceeds limit" * Maximum 20 characters per key. Otherwise, error "178" occurs: "Metadata key size exceeds limit" * A key cannot have the name checkout.linkId. Any value that you provide with this key is going to be replaced by the real payment link ID.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
platformChargebackLogic class-attribute instance-attribute
platformChargebackLogic = None

Dictates the behavior of how a potential chargeback should be booked when using Adyen Platforms.

recurringProcessingModel class-attribute instance-attribute
recurringProcessingModel = None

Defines a recurring payment type. Required when storePaymentMethodMode is set to askForConsent or enabled. Possible values: * Subscription – A transaction for a fixed or variable amount, which follows a fixed schedule. * CardOnFile – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. * UnscheduledCardOnFile – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.

reference instance-attribute
reference

A reference that is used to uniquely identify the payment in future communications about the payment status.

requiredShopperFields class-attribute instance-attribute
requiredShopperFields = None

List of fields that the shopper has to provide on the payment page before completing the payment. For more information, refer to Provide shopper information ⧉.

Possible values: * billingAddress – The address where to send the invoice. * deliveryAddress – The address where the purchased goods should be delivered. * shopperEmail – The shopper's email address. * shopperName – The shopper's full name. * telephoneNumber – The shopper's phone number.

returnUrl class-attribute instance-attribute
returnUrl = None

Website URL used for redirection after payment is completed. If provided, a Continue button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL.

reusable class-attribute instance-attribute
reusable = None

Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to false which means the link can be used for one successful payment only.

riskData class-attribute instance-attribute
riskData = None

Any risk-related settings to apply to the payment.

shopperEmail class-attribute instance-attribute
shopperEmail = None

The shopper's email address.

shopperLocale class-attribute instance-attribute
shopperLocale = None

The language to be used in the payment page, specified by a combination of a language and country code. For example, en-US.

For a list of shopper locales that Pay by Link supports, refer to Language and localization ⧉.

shopperName class-attribute instance-attribute
shopperName = None

The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.

shopperReference class-attribute instance-attribute
shopperReference = None

Your reference to uniquely identify this shopper, for example user ID or account ID. The value is case-sensitive and must be at least three characters.

Your reference must not include personally identifiable information (PII) such as name or email address.

shopperStatement class-attribute instance-attribute
shopperStatement = None

The text to be shown on the shopper's bank statement. We recommend sending a maximum of 22 characters, otherwise banks might truncate the string. Allowed characters: a-z, A-Z, 0-9, spaces, and special characters . , ' _ - ? + * /.

showRemovePaymentMethodButton class-attribute instance-attribute
showRemovePaymentMethodButton = True

Set to false to hide the button that lets the shopper remove a stored payment method.

socialSecurityNumber class-attribute instance-attribute
socialSecurityNumber = None

The shopper's social security number.

splitCardFundingSources class-attribute instance-attribute
splitCardFundingSources = False

Boolean value indicating whether the card payment method should be split into separate debit and credit options.

splits class-attribute instance-attribute
splits = None

An array of objects specifying how to split a payment when using Adyen for Platforms ⧉, Classic Platforms integration ⧉, or Issuing ⧉.

status instance-attribute
status

Status of the payment link. Possible values: * active: The link can be used to make payments. * expired: The expiry date for the payment link has passed. Shoppers can no longer use the link to make payments. * completed: The shopper completed the payment. * paymentPending: The shopper is in the process of making the payment. Applies to payment methods with an asynchronous flow.

store class-attribute instance-attribute
store = None

The physical store, for which this payment is processed.

storePaymentMethodMode class-attribute instance-attribute
storePaymentMethodMode = None

Indicates if the details of the payment method will be stored for the shopper. Possible values: * disabled – No details will be stored (default). * askForConsent – If the shopperReference is provided, the UI lets the shopper choose if they want their payment details to be stored. * enabled – If the shopperReference is provided, the details will be stored without asking the shopper for consent. When set to askForConsent or enabled, you must also include the recurringProcessingModel parameter.

telephoneNumber class-attribute instance-attribute
telephoneNumber = None

The shopper's telephone number. The phone number must include a plus sign (+) and a country code (1-3 digits), followed by the number (4-15 digits). If the value you provide does not follow the guidelines, we do not submit it for authentication.

Required for Visa and JCB transactions that require 3D Secure 2 authentication, if you did not include the shopperEmail.

themeId class-attribute instance-attribute
themeId = None

A theme ⧉ to customize the appearance of the payment page. If not specified, the payment page is rendered according to the theme set as default in your Customer Area.

threeDS2RequestData class-attribute instance-attribute
threeDS2RequestData = None

The cardholder phone number need to be part of the authentication message for payment data. It is a requirement for Visa Secure Authentication Data Field Mandate effective August 2024.

updatedAt class-attribute instance-attribute
updatedAt = None

The date when the payment link status was updated.

ISO 8601 ⧉ format: YYYY-MM-DDThh:mm:ss+TZD, for example, 2020-12-18T10:15:30+01:00.

url instance-attribute
url

The URL at which the shopper can complete the payment.

PaymentMethod

Bases: BaseModel

apps class-attribute instance-attribute
apps = None

A list of apps for this payment method.

brand class-attribute instance-attribute
brand = None

Brand for the selected gift card. For example: plastix, hmclub.

brands class-attribute instance-attribute
brands = None

List of possible brands. For example: visa, mc.

configuration class-attribute instance-attribute
configuration = None

The configuration of the payment method.

fundingSource class-attribute instance-attribute
fundingSource = None

The funding source of the payment method.

group class-attribute instance-attribute
group = None

The group where this payment method belongs to.

inputDetails class-attribute instance-attribute
inputDetails = None

All input details to be provided to complete the payment with this payment method.

issuers class-attribute instance-attribute
issuers = None

A list of issuers for this payment method.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name class-attribute instance-attribute
name = None

The displayable name of this payment method.

promoted class-attribute instance-attribute
promoted = None

Indicates whether this payment method should be promoted or not.

type class-attribute instance-attribute
type = None

The unique payment method code.

PaymentMethodGroup

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name class-attribute instance-attribute
name = None

The name of the group.

paymentMethodData class-attribute instance-attribute
paymentMethodData = None

Echo data to be used if the payment method is displayed as part of this group.

type class-attribute instance-attribute
type = None

The unique code of the group.

PaymentMethodIssuer

Bases: BaseModel

disabled class-attribute instance-attribute
disabled = False

A boolean value indicating whether this issuer is unavailable. Can be true whenever the issuer is offline.

id instance-attribute
id

The unique identifier of this issuer, to submit in requests to /payments.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name instance-attribute
name

A localized name of the issuer.

PaymentMethodToStore

Bases: BaseModel

brand class-attribute instance-attribute
brand = None

Secondary brand of the card. For example: plastix, hmclub.

cvc class-attribute instance-attribute
cvc = None

The card verification code. Only collect raw card data if you are fully PCI compliant ⧉.

encryptedCard class-attribute instance-attribute
encryptedCard = None

The encrypted card.

encryptedCardNumber class-attribute instance-attribute
encryptedCardNumber = None

The encrypted card number.

encryptedExpiryMonth class-attribute instance-attribute
encryptedExpiryMonth = None

The encrypted card expiry month.

encryptedExpiryYear class-attribute instance-attribute
encryptedExpiryYear = None

The encrypted card expiry year.

encryptedSecurityCode class-attribute instance-attribute
encryptedSecurityCode = None

The encrypted card verification code.

expiryMonth class-attribute instance-attribute
expiryMonth = None

The card expiry month. Only collect raw card data if you are fully PCI compliant ⧉.

expiryYear class-attribute instance-attribute
expiryYear = None

The card expiry year. Only collect raw card data if you are fully PCI compliant ⧉.

holderName class-attribute instance-attribute
holderName = None

The name of the card holder.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
number class-attribute instance-attribute
number = None

The card number. Only collect raw card data if you are fully PCI compliant ⧉.

type class-attribute instance-attribute
type = None

Set to scheme.

PaymentMethodUPIApps

Bases: BaseModel

id instance-attribute
id

The unique identifier of this app, to submit in requests to /payments.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name instance-attribute
name

A localized name of the app.

PaymentMethodsRequest

Bases: BaseModel

additionalData class-attribute instance-attribute
additionalData = None

This field contains additional data, which may be required for a particular payment request.

The additionalData object consists of entries, each of which includes the key and value.

allowedPaymentMethods class-attribute instance-attribute
allowedPaymentMethods = None

List of payment methods to be presented to the shopper. To refer to payment methods, use their payment method type ⧉.

Example: "allowedPaymentMethods":["ideal","applepay"]

amount class-attribute instance-attribute
amount = None

The amount information for the transaction (in minor units ⧉). For BIN or card verification ⧉ requests, set amount to 0 (zero).

blockedPaymentMethods class-attribute instance-attribute
blockedPaymentMethods = None

List of payment methods to be hidden from the shopper. To refer to payment methods, use their payment method type ⧉.

Example: "blockedPaymentMethods":["ideal","applepay"]

browserInfo class-attribute instance-attribute
browserInfo = None

The shopper's browser information.

For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the userAgent and acceptHeader fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 2 redirect.

channel class-attribute instance-attribute
channel = None

The platform where a payment transaction takes place. This field can be used for filtering out payment methods that are only available on specific platforms. Possible values: * iOS * Android * Web

countryCode class-attribute instance-attribute
countryCode = None

The shopper's country code.

merchantAccount instance-attribute
merchantAccount

The merchant account identifier, with which you want to process the transaction.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
order class-attribute instance-attribute
order = None

The order information required for partial payments.

shopperConversionId class-attribute instance-attribute
shopperConversionId = None

A unique ID that can be used to associate /paymentMethods and /payments requests with the same shopper transaction, offering insights into conversion rates.

shopperEmail class-attribute instance-attribute
shopperEmail = None

The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. > Required for Visa and JCB transactions that require 3D Secure 2 authentication if you did not include the telephoneNumber.

shopperIP class-attribute instance-attribute
shopperIP = None

The shopper's IP address. We recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).

Required for Visa and JCB transactions that require 3D Secure 2 authentication for all web and mobile integrations, if you did not include the shopperEmail. For native mobile integrations, the field is required to support cases where authentication is routed to the redirect flow. This field is also mandatory for some merchants depending on your business model. For more information, contact Support ⧉.

shopperLocale class-attribute instance-attribute
shopperLocale = None

The combination of a language code and a country code to specify the language to be used in the payment.

shopperReference class-attribute instance-attribute
shopperReference = None

Required for recurring payments. Your reference to uniquely identify this shopper, for example user ID or account ID. The value is case-sensitive and must be at least three characters.

Your reference must not include personally identifiable information (PII) such as name or email address.

splitCardFundingSources class-attribute instance-attribute
splitCardFundingSources = False

Boolean value indicating whether the card payment method should be split into separate debit and credit options.

store class-attribute instance-attribute
store = None

Required for Adyen for Platforms integrations if you are a platform model. This is your reference ⧉ (on balance platform ⧉) or the storeReference ⧉ (in the classic integration ⧉) for the ecommerce or point-of-sale store that is processing the payment.

storeFiltrationMode class-attribute instance-attribute
storeFiltrationMode = None

Specifies how payment methods should be filtered based on the 'store' parameter: - 'exclusive': Only payment methods belonging to the specified 'store' are returned. - 'inclusive': Payment methods from the 'store' and those not associated with any other store are returned.

telephoneNumber class-attribute instance-attribute
telephoneNumber = None

The shopper's telephone number. The phone number must include a plus sign (+) and a country code (1-3 digits), followed by the number (4-15 digits). If the value you provide does not follow the guidelines, we do not submit it for authentication.

Required for Visa and JCB transactions that require 3D Secure 2 authentication, if you did not include the shopperEmail.

PaymentMethodsResponse

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentMethods class-attribute instance-attribute
paymentMethods = None

Detailed list of payment methods required to generate payment forms.

storedPaymentMethods class-attribute instance-attribute
storedPaymentMethods = None

List of all stored payment methods.

PaymentRefundRequest

Bases: BaseModel

amount instance-attribute
amount

The amount that you want to refund. The currency must match the currency used in authorisation, the value must be smaller than or equal to the authorised amount.

applicationInfo class-attribute instance-attribute
applicationInfo = None

Information about your application. For more details, see Building Adyen solutions ⧉.

capturePspReference class-attribute instance-attribute
capturePspReference = None

This is only available for PayPal refunds. The pspReference ⧉ of the specific capture to refund.

enhancedSchemeData class-attribute instance-attribute
enhancedSchemeData = None

Enhanced scheme data that may be required for processing the payment. For example, airline information.

lineItems class-attribute instance-attribute
lineItems = None

Price and product information of the refunded items, required for partial refunds ⧉.

This field is required for partial refunds with 3x 4x Oney, Affirm, Afterpay, Atome, Clearpay, Klarna, Ratepay, Walley, and Zip.

merchantAccount instance-attribute
merchantAccount

The merchant account that is used to process the payment.

merchantRefundReason class-attribute instance-attribute
merchantRefundReason = None

The reason for the refund request.

Possible values:

  • FRAUD

  • CUSTOMER REQUEST

  • RETURN

  • DUPLICATE

  • OTHER

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
reference class-attribute instance-attribute
reference = None

Your reference for the refund request. Maximum length: 80 characters.

splits class-attribute instance-attribute
splits = None

An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For more information, see how to process payments for marketplaces ⧉ or platforms ⧉.

store class-attribute instance-attribute
store = None

The online store or physical store ⧉ that is processing the refund. This must be the same as the store name configured in your Customer Area. Otherwise, you get an error and the refund fails.

PaymentRefundResponse

Bases: BaseModel

amount instance-attribute
amount

The refund amount.

capturePspReference class-attribute instance-attribute
capturePspReference = None

This is only available for PayPal refunds. The pspReference ⧉ of the specific capture to refund.

lineItems class-attribute instance-attribute
lineItems = None

Price and product information of the refunded items, required for partial refunds ⧉.

This field is required for partial refunds with 3x 4x Oney, Affirm, Afterpay, Atome, Clearpay, Klarna, Ratepay, Walley, and Zip.

merchantAccount instance-attribute
merchantAccount

The merchant account that is used to process the payment.

merchantRefundReason class-attribute instance-attribute
merchantRefundReason = None

Your reason for the refund request.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentPspReference instance-attribute
paymentPspReference

The pspReference ⧉ of the payment to refund.

pspReference instance-attribute
pspReference

Adyen's 16-character reference associated with the refund request.

reference class-attribute instance-attribute
reference = None

Your reference for the refund request.

splits class-attribute instance-attribute
splits = None

An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For more information, see how to process payments for marketplaces ⧉ or platforms ⧉.

status instance-attribute
status

The status of your request. This will always have the value received.

store class-attribute instance-attribute
store = None

The online store or physical store ⧉ that is processing the refund. This must be the same as the store name configured in your Customer Area. Otherwise, you get an error and the refund fails.

PaymentRequest

Bases: BaseModel

accountInfo class-attribute instance-attribute
accountInfo = None

Shopper account information for 3D Secure 2.

For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.

additionalAmount class-attribute instance-attribute
additionalAmount = None

If you want a BIN or card verification ⧉ request to use a non-zero value, assign this value to additionalAmount (while the amount must be still set to 0 to trigger BIN or card verification). Required to be in the same currency as the amount.

additionalData class-attribute instance-attribute
additionalData = None

This field contains additional data, which may be required for a particular payment request.

The additionalData object consists of entries, each of which includes the key and value.

amount instance-attribute
amount

The amount information for the transaction (in minor units ⧉). For BIN or card verification ⧉ requests, set amount to 0 (zero).

applicationInfo class-attribute instance-attribute
applicationInfo = None

Information about your application. For more details, see Building Adyen solutions ⧉.

authenticationData class-attribute instance-attribute
authenticationData = None

Data for 3DS authentication.

bankAccount class-attribute instance-attribute
bankAccount = None

The details of the bank account, from which the payment should be made.

Either bankAccount or card field must be provided in a payment request.

billingAddress class-attribute instance-attribute
billingAddress = None

The address where to send the invoice.

The billingAddress object is required in the following scenarios. Include all of the fields within this object. * For 3D Secure 2 transactions in all browser-based and mobile implementations. * For cross-border payouts to and from Canada.

browserInfo class-attribute instance-attribute
browserInfo = None

The shopper's browser information.

For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the userAgent and acceptHeader fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 2 redirect.

captureDelayHours class-attribute instance-attribute
captureDelayHours = None

The delay between the authorisation and scheduled auto-capture, specified in hours.

channel class-attribute instance-attribute
channel = None

The platform where a payment transaction takes place. This field is optional for filtering out payment methods that are only available on specific platforms. If this value is not set, then we will try to infer it from the sdkVersion or token.

Possible values: * iOS * Android * Web

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

Checkout attempt ID that corresponds to the Id generated by the client SDK for tracking user payment journey.

company class-attribute instance-attribute
company = None

Information regarding the company.

conversionId class-attribute instance-attribute
conversionId = None

Conversion ID that corresponds to the Id generated by the client SDK for tracking user payment journey.

countryCode class-attribute instance-attribute
countryCode = None

The shopper country.

Format: ISO 3166-1 alpha-2 ⧉ Example: NL or DE

dateOfBirth class-attribute instance-attribute
dateOfBirth = None

The shopper's date of birth.

Format ISO-8601 ⧉: YYYY-MM-DD

dccQuote class-attribute instance-attribute
dccQuote = None

The forex quote as returned in the response of the forex service.

deliverAt class-attribute instance-attribute
deliverAt = None

The date and time the purchased goods should be delivered.

Format ISO 8601 ⧉: YYYY-MM-DDThh:mm:ss.sssTZD

Example: 2017-07-17T13:42:40.428+01:00

deliveryAddress class-attribute instance-attribute
deliveryAddress = None

The address where the purchased goods should be delivered.

deliveryDate class-attribute instance-attribute
deliveryDate = None

The date and time the purchased goods should be delivered.

Format ISO 8601 ⧉: YYYY-MM-DDThh:mm:ss.sssTZD

Example: 2017-07-17T13:42:40.428+01:00

deviceFingerprint class-attribute instance-attribute
deviceFingerprint = None

A string containing the shopper's device fingerprint. For more information, refer to Device fingerprinting ⧉.

enableOneClick class-attribute instance-attribute
enableOneClick = None

When true and shopperReference is provided, the shopper will be asked if the payment details should be stored for future one-click payments ⧉.

enablePayOut class-attribute instance-attribute
enablePayOut = None

When true and shopperReference is provided, the payment details will be tokenized for payouts.

enableRecurring class-attribute instance-attribute
enableRecurring = None

When true and shopperReference is provided, the payment details will be stored for recurring payments ⧉ where the shopper is not present, such as subscription or automatic top-up payments.

enhancedSchemeData class-attribute instance-attribute
enhancedSchemeData = None

Enhanced scheme data ⧉ that may be required for processing the payment and/or interchange savings can apply.

entityType class-attribute instance-attribute
entityType = None

The type of the entity the payment is processed for.

fraudOffset class-attribute instance-attribute
fraudOffset = None

An integer value that is added to the normal fraud score. The value can be either positive or negative.

fundOrigin class-attribute instance-attribute
fundOrigin = None

The person or entity funding the money.

fundRecipient class-attribute instance-attribute
fundRecipient = None

the person or entity receiving the money

industryUsage class-attribute instance-attribute
industryUsage = None

The reason for the amount update. Possible values: * delayedCharge * noShow * installment

installments class-attribute instance-attribute
installments = None

Contains installment settings. For more information, refer to Installments ⧉.

lineItems class-attribute instance-attribute
lineItems = None

Price and product information about the purchased items, to be included on the invoice sent to the shopper.

This field is required for 3x 4x Oney, Affirm, Afterpay, Clearpay, Klarna, Ratepay, and Riverty.

localizedShopperStatement class-attribute instance-attribute
localizedShopperStatement = None

The localizedShopperStatement field lets you use dynamic values for your shopper statement in a local character set. If this parameter is left empty, not provided, or not applicable (in case of cross-border transactions), then shopperStatement is used.

Currently, localizedShopperStatement is only supported for payments with Visa, Mastercard, JCB, Diners, and Discover.

Supported characters: Hiragana, Katakana, Kanji, and alphanumeric.

mandate class-attribute instance-attribute
mandate = None

The mandate details to initiate recurring transaction.

mcc class-attribute instance-attribute
mcc = None

The merchant category code ⧉ (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.

merchantAccount instance-attribute
merchantAccount

The merchant account identifier, with which you want to process the transaction.

merchantOrderReference class-attribute instance-attribute
merchantOrderReference = None

This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.

We strongly recommend you send the merchantOrderReference value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide retry.orderAttemptNumber, retry.chainAttemptNumber, and retry.skipRetry values in PaymentRequest.additionalData.

merchantRiskIndicator class-attribute instance-attribute
merchantRiskIndicator = None

Additional risk fields for 3D Secure 2.

For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.

metadata class-attribute instance-attribute
metadata = None

Metadata consists of entries, each of which includes a key and a value. Limits: * Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". * Maximum 20 characters per key. * Maximum 80 characters per value.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
mpiData class-attribute instance-attribute
mpiData = None

Authentication data produced by an MPI (Mastercard SecureCode, Visa Secure, or Cartes Bancaires).

order class-attribute instance-attribute
order = None

The order information required for partial payments.

orderReference class-attribute instance-attribute
orderReference = None

When you are doing multiple partial (gift card) payments, this is the pspReference of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the merchantOrderReferenceinstead.

origin class-attribute instance-attribute
origin = None

Required for browser-based (channel Web) 3D Secure 2 transactions.Set this to the origin URL of the page where you are rendering the Drop-in/Component. Do not include subdirectories and a trailing slash.

paymentMethod instance-attribute
paymentMethod

The type and required details of a payment method to use.

paymentValidations class-attribute instance-attribute
paymentValidations = None

The object that you can use to enable payment validations for a transaction.

platformChargebackLogic class-attribute instance-attribute
platformChargebackLogic = None

Defines how to book chargebacks when using Adyen for Platforms ⧉.

recurringExpiry class-attribute instance-attribute
recurringExpiry = None

Date after which no further authorisations shall be performed. Only for 3D Secure 2.

recurringFrequency class-attribute instance-attribute
recurringFrequency = None

Minimum number of days between authorisations. Only for 3D Secure 2.

recurringProcessingModel class-attribute instance-attribute
recurringProcessingModel = None

Defines a recurring payment type. Required when creating a token to store payment details or using stored payment details. Allowed values: * Subscription – A transaction for a fixed or variable amount, which follows a fixed schedule. * CardOnFile – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. * UnscheduledCardOnFile – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.

redirectFromIssuerMethod class-attribute instance-attribute
redirectFromIssuerMethod = None

Specifies the redirect method (GET or POST) when redirecting back from the issuer.

redirectToIssuerMethod class-attribute instance-attribute
redirectToIssuerMethod = None

Specifies the redirect method (GET or POST) when redirecting to the issuer.

reference instance-attribute
reference

The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. If you need to provide multiple references for a transaction, separate them with hyphens ("-"). Maximum length: 80 characters.

returnUrl instance-attribute
returnUrl

The URL to return to in case of a redirection. The format depends on the channel. * For web, include the protocol http:// or https://. You can also include your own additional query parameters, for example, shopper ID or order reference number. Example: https://your-company.example.com/checkout?shopperOrder=12xy * For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the Apple Developer documentation ⧉. Example: my-app:// * For Android, use a custom URL handled by an Activity on your app. You can configure it with an intent filter ⧉. Example: my-app://your.package.name

If the URL to return to includes non-ASCII characters, like spaces or special letters, URL encode the value.

We strongly recommend that you use a maximum of 1024 characters.

The URL must not include personally identifiable information (PII), for example name or email address.

riskData class-attribute instance-attribute
riskData = None

Contains risk data, such as client-side data, used to identify risk for a transaction.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK to function optimally. Clients must not add unrelated or sensitive personal information.

sessionValidity class-attribute instance-attribute
sessionValidity = None

The date and time until when the session remains valid, in ISO 8601 ⧉ format.

For example: 2020-07-18T15:42:40.428+01:00

shopperConversionId class-attribute instance-attribute
shopperConversionId = None

A unique ID that can be used to associate /paymentMethods and /payments requests with the same shopper transaction, offering insights into conversion rates.

shopperEmail class-attribute instance-attribute
shopperEmail = None

The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. > Required for Visa and JCB transactions that require 3D Secure 2 authentication if you did not include the telephoneNumber.

shopperIP class-attribute instance-attribute
shopperIP = None

The shopper's IP address. We recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).

Required for Visa and JCB transactions that require 3D Secure 2 authentication for all web and mobile integrations, if you did not include the shopperEmail. For native mobile integrations, the field is required to support cases where authentication is routed to the redirect flow. This field is also mandatory for some merchants depending on your business model. For more information, contact Support ⧉.

shopperInteraction class-attribute instance-attribute
shopperInteraction = None

Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default.

This field has the following possible values: * Ecommerce - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * ContAuth - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * Moto - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * POS - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.

shopperLocale class-attribute instance-attribute
shopperLocale = None

The combination of a language code and a country code to specify the language to be used in the payment.

shopperName class-attribute instance-attribute
shopperName = None

The shopper's full name.

shopperReference class-attribute instance-attribute
shopperReference = None

Required for recurring payments. Your reference to uniquely identify this shopper, for example user ID or account ID. Minimum length: 3 characters.

Your reference must not include personally identifiable information (PII), for example name or email address.

shopperStatement class-attribute instance-attribute
shopperStatement = None

The text to be shown on the shopper's bank statement. We recommend sending a maximum of 22 characters, otherwise banks might truncate the string. Allowed characters: a-z, A-Z, 0-9, spaces, and special characters . , ' _ - ? + * /.

socialSecurityNumber class-attribute instance-attribute
socialSecurityNumber = None

The shopper's social security number.

splits class-attribute instance-attribute
splits = None

An array of objects specifying how to split a payment when using Adyen for Platforms ⧉, Classic Platforms integration ⧉, or Issuing ⧉.

store class-attribute instance-attribute
store = None

Required for Adyen for Platforms integrations if you are a platform model. This is your reference ⧉ (on balance platform ⧉) or the storeReference ⧉ (in the classic integration ⧉) for the ecommerce or point-of-sale store that is processing the payment.

storePaymentMethod class-attribute instance-attribute
storePaymentMethod = None

When true and shopperReference is provided, the payment details will be stored for future recurring payments ⧉.

subMerchants class-attribute instance-attribute
subMerchants = None

This field contains additional information on the submerchant, who is onboarded to an acquirer through a payment facilitator or aggregator

surcharge class-attribute instance-attribute
surcharge = None

The surcharge ⧉ amount to apply to the transaction, in minor units ⧉. When you apply surcharge, include the surcharge in the amount.value field.

Review our Surcharge compliance guide ⧉ to learn about how to comply with regulatory requirements when applying surcharge.

telephoneNumber class-attribute instance-attribute
telephoneNumber = None

The shopper's telephone number. The phone number must include a plus sign (+) and a country code (1-3 digits), followed by the number (4-15 digits). If the value you provide does not follow the guidelines, we do not submit it for authentication.

Required for Visa and JCB transactions that require 3D Secure 2 authentication, if you did not include the shopperEmail.

threeDS2RequestData class-attribute instance-attribute
threeDS2RequestData = None

Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to Online payments ⧉ or Classic integration ⧉ documentation.

threeDSAuthenticationOnly class-attribute instance-attribute
threeDSAuthenticationOnly = False

Required to trigger the authentication-only flow ⧉. If set to true, you will only perform the 3D Secure 2 authentication, and will not proceed to the payment authorisation.Default: false.

trustedShopper class-attribute instance-attribute
trustedShopper = None

Set to true if the payment should be routed to a trusted MID.

PaymentResponse

Bases: BaseModel

action class-attribute instance-attribute
action = None

Action to be taken for completing the payment.

additionalData class-attribute instance-attribute
additionalData = None

Contains additional information about the payment. Some data fields are included only if you select them first: Go to Customer Area > Developers > Additional data.

amount class-attribute instance-attribute
amount = None

Authorised amount in the transaction.

donationToken class-attribute instance-attribute
donationToken = None

Donation Token containing payment details for Adyen Giving.

fraudResult class-attribute instance-attribute
fraudResult = None

The fraud result properties of the payment.

merchantReference class-attribute instance-attribute
merchantReference = None

The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. If you need to provide multiple references for a transaction, separate them with hyphens ("-"). Maximum length: 80 characters.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
order class-attribute instance-attribute
order = None

Contains updated information regarding the order in case order information was provided in the request.

paymentMethod class-attribute instance-attribute
paymentMethod = None

Details about the payment method used in the transaction. Only returned if resultCode is Authorised.

paymentValidations class-attribute instance-attribute
paymentValidations = None

The object that contains the validation outcomes. Only returned if resultCode is Authorised and if you have requested a payment validation in the request.

pspReference class-attribute instance-attribute
pspReference = None

Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.

For payment methods that require a redirect or additional action, you will get this value in the /payments/details response.

refusalReason class-attribute instance-attribute
refusalReason = None

If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes resultCode and refusalReason values.

For more information, see Refusal reasons ⧉.

refusalReasonCode class-attribute instance-attribute
refusalReasonCode = None

Code that specifies the refusal reason. For more information, see Authorisation refusal reasons ⧉.

resultCode class-attribute instance-attribute
resultCode = None

The result of the payment. For more information, see Result codes ⧉.

Possible values:

  • AuthenticationFinished – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.
  • AuthenticationNotRequired – The transaction does not require 3D Secure authentication. Returned for standalone authentication-only integrations ⧉.
  • Authorised – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.
  • Cancelled – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.
  • ChallengeShopper – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.
  • Error – There was an error when the payment was being processed. The reason is given in the refusalReason field. This is a final state.
  • IdentifyShopper – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.
  • PartiallyAuthorised – The payment has been authorised for a partial amount. This happens for card payments when the merchant supports Partial Authorisations and the cardholder has insufficient funds.
  • Pending – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.
  • PresentToShopper – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.
  • Received – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.
  • RedirectShopper – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.
  • Refused – Indicates the payment was refused. The reason is given in the refusalReason field. This is a final state.
threeDS2ResponseData class-attribute instance-attribute
threeDS2ResponseData = None

Response of the 3D Secure 2 authentication.

threeDS2Result class-attribute instance-attribute
threeDS2Result = None

Result of the 3D Secure 2 authentication.

threeDSPaymentData class-attribute instance-attribute
threeDSPaymentData = None

When non-empty, contains a value that you must submit to the /payments/details endpoint as paymentData.

PaymentReversalRequest

Bases: BaseModel

applicationInfo class-attribute instance-attribute
applicationInfo = None

Information about your application. For more details, see Building Adyen solutions ⧉.

enhancedSchemeData class-attribute instance-attribute
enhancedSchemeData = None

Enhanced scheme data that may be required for processing the payment. For example, airline information.

merchantAccount instance-attribute
merchantAccount

The merchant account that is used to process the payment.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
reference class-attribute instance-attribute
reference = None

Your reference for the reversal request. Maximum length: 80 characters.

PaymentReversalResponse

Bases: BaseModel

merchantAccount instance-attribute
merchantAccount

The merchant account that is used to process the payment.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentPspReference instance-attribute
paymentPspReference

The pspReference ⧉ of the payment to reverse.

pspReference instance-attribute
pspReference

Adyen's 16-character reference associated with the reversal request.

reference class-attribute instance-attribute
reference = None

Your reference for the reversal request.

status instance-attribute
status

The status of your request. This will always have the value received.

PaymentValidations

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name class-attribute instance-attribute
name = None

PaymentValidationsNameResponse

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
rawResponse class-attribute instance-attribute
rawResponse = None

Contains the raw response(s) returned by the scheme for the name validation.

result class-attribute instance-attribute
result = None

Contains the scheme-agnostic match values returned by Adyen.

status class-attribute instance-attribute
status = None

Informs you if the name validation was performed. Possible values:

performed, notPerformed, notSupported

PaymentValidationsNameResultRawResponse

Bases: BaseModel

firstName class-attribute instance-attribute
firstName = None

The raw first name validation result that Adyen received from the scheme. First name validation result is only returned for Visa.

fullName class-attribute instance-attribute
fullName = None

The raw full name validation result that Adyen received from the scheme. Full name is the only field that is validated for Mastercard

lastName class-attribute instance-attribute
lastName = None

The raw last name validation result that Adyen received from the scheme. Last name validation result is only returned for Visa.

middleName class-attribute instance-attribute
middleName = None

The raw middle name validation result that Adyen received from the scheme. Middle name validation result is only returned for Visa.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
status class-attribute instance-attribute
status = None

The raw name validation status value that Adyen received from the scheme. Only returned for Visa.

PaymentValidationsNameResultResponse

Bases: BaseModel

firstName class-attribute instance-attribute
firstName = None

Informs you if the first name your shopper provided matches the cardholder first name on file at the issuing bank. The first name is only validated for Visa. Possible values:

match, partialMatch, noMatch

fullName class-attribute instance-attribute
fullName = None

Informs you if the full name your shopper provided matches the cardholder name on file at the issuing bank. The full name is the only field that is validated for Mastercard. Possible values:

match, partialMatch, noMatch

lastName class-attribute instance-attribute
lastName = None

Informs you if the last name your shopper provided matches the cardholder last name on file at the issuing bank. The last name is only validated for Visa. Possible values:

match, partialMatch, noMatch

middleName class-attribute instance-attribute
middleName = None

Informs you if the middle name your shopper provided matches the cardholder middle name on file at the issuing bank. The middle name is only validated for Visa. Possible values:

match, partialMatch, noMatch

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

PaymentValidationsResponse

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name class-attribute instance-attribute
name = None

Object that contains the status and outcomes of the name validation ⧉.

PaypalUpdateOrderRequest

Bases: BaseModel

amount class-attribute instance-attribute
amount = None

The updated final payment amount. This amount is the item total plus the shipping costs of the selected deliveryMethod.

deliveryMethods class-attribute instance-attribute
deliveryMethods = None

The list of new delivery methods and the cost of each.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentData class-attribute instance-attribute
paymentData = None

The paymentData from the client side. This value changes every time you make a /paypal/updateOrder request.

pspReference class-attribute instance-attribute
pspReference = None

The original pspReference from the /payments response.

sessionId class-attribute instance-attribute
sessionId = None

The original sessionId from the /sessions response.

taxTotal class-attribute instance-attribute
taxTotal = None

Total tax amount from the order.

PaypalUpdateOrderResponse

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentData instance-attribute
paymentData

The updated paymentData.

status instance-attribute
status

The status of the request. This indicates whether the order was successfully updated with PayPal.

Phone

Bases: BaseModel

cc class-attribute instance-attribute
cc = None

Country code. Length: 1–3 digits.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
subscriber class-attribute instance-attribute
subscriber = None

Subscriber number. Length: 4-15 digits.

PixDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
pixRecurring class-attribute instance-attribute
pixRecurring = None
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type class-attribute instance-attribute
type = None

The payment method type.

PixRecurring

Bases: BaseModel

billingDate class-attribute instance-attribute
billingDate = None

The date on which the shopper's payment method will be charged, in YYYY-MM-DD format.

businessDayOnly class-attribute instance-attribute
businessDayOnly = None

Flag used to define whether liquidation can happen only on business days

endsAt class-attribute instance-attribute
endsAt = None

End date of the billing plan, in YYYY-MM-DD format. The end date must align with the frequency and the start date of the billing plan. If left blank, the subscription will continue indefinitely unless it is cancelled by the shopper.

frequency class-attribute instance-attribute
frequency = None

The frequency at which the shopper will be charged.

minAmount class-attribute instance-attribute
minAmount = None

For a billing plan where the payment amounts are variable, the minimum amount to charge the shopper for each recurring payment. When a shopper approves the billing plan, they can also specify a maximum amount in their banking app.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
originalPspReference class-attribute instance-attribute
originalPspReference = None

The pspReference for the failed recurring payment. Find this in AUTHORISATION webhook you received after the billing date.

recurringAmount class-attribute instance-attribute
recurringAmount = None

For a billing plan where the payment amount is fixed, the amount the shopper will be charged for each recurring payment.

recurringStatement class-attribute instance-attribute
recurringStatement = None

The text that that will be shown on the shopper's bank statement for the recurring payments. We recommend to add a descriptive text about the subscription to let your shoppers recognize your recurring payments. Maximum length: 35 characters.

retryPolicy class-attribute instance-attribute
retryPolicy = None

When set to true, you can retry for failed recurring payments. The default value is true.

startsAt class-attribute instance-attribute
startsAt = None

Start date of the billing plan, in YYYY-MM-DD format. The default value is the transaction date.

PlatformChargebackLogic

Bases: BaseModel

behavior class-attribute instance-attribute
behavior = None

The method of handling the chargeback.

Possible values: deductFromLiableAccount, deductFromOneBalanceAccount, deductAccordingToSplitRatio.

costAllocationAccount class-attribute instance-attribute
costAllocationAccount = None

The unique identifier of the balance account to which the chargeback fees are booked. By default, the chargeback fees are booked to your liable balance account.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
targetAccount class-attribute instance-attribute
targetAccount = None

The unique identifier of the balance account against which the disputed amount is booked.

Required if behavior is deductFromOneBalanceAccount.

PseDetails

Bases: BaseModel

bank instance-attribute
bank

The shopper's bank.

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

clientType instance-attribute
clientType

The client type.

identification instance-attribute
identification

The identification code.

identificationType instance-attribute
identificationType

The identification type.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

type class-attribute instance-attribute
type = None

The payment method type.

RakutenPayDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type class-attribute instance-attribute
type = 'rakutenpay'

rakutenpay

RatepayDetails

Bases: BaseModel

billingAddress class-attribute instance-attribute
billingAddress = None

The address where to send the invoice.

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

deliveryAddress class-attribute instance-attribute
deliveryAddress = None

The address where the goods should be delivered.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
personalDetails class-attribute instance-attribute
personalDetails = None

Shopper name, date of birth, phone number, and email address.

recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type instance-attribute
type

ratepay

Recurring

Bases: BaseModel

contract class-attribute instance-attribute
contract = None

The type of recurring contract to be used. Possible values: * ONECLICK – Payment details can be used to initiate a one-click payment, where the shopper enters the card security code (CVC/CVV) ⧉. * RECURRING – Payment details can be used without the card security code to initiate card-not-present transactions ⧉. * ONECLICK,RECURRING – Payment details can be used regardless of whether the shopper is on your site or not. * PAYOUT – Payment details can be used to make a payout ⧉. * EXTERNAL - Use this when you store payment details and send the raw card number or network token directly in your API request.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailName class-attribute instance-attribute
recurringDetailName = None

A descriptive name for this detail.

recurringExpiry class-attribute instance-attribute
recurringExpiry = None

Date after which no further authorisations shall be performed. Only for 3D Secure 2.

recurringFrequency class-attribute instance-attribute
recurringFrequency = None

Minimum number of days between authorisations. Only for 3D Secure 2.

tokenService class-attribute instance-attribute
tokenService = None

The name of the token service.

ResponseAdditionalData3DSecure

Bases: BaseModel

cardHolderInfo class-attribute instance-attribute
cardHolderInfo = None

Information provided by the issuer to the cardholder. If this field is present, you need to display this information to the cardholder.

cavv class-attribute instance-attribute
cavv = None

The Cardholder Authentication Verification Value (CAVV) for the 3D Secure authentication session, as a Base64-encoded 20-byte array.

cavvAlgorithm class-attribute instance-attribute
cavvAlgorithm = None

The CAVV algorithm used.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
scaExemptionRequested class-attribute instance-attribute
scaExemptionRequested = None

Shows the exemption type ⧉ that Adyen requested for the payment.

Possible values: * lowValue * secureCorporate * trustedBeneficiary * transactionRiskAnalysis

threeds2_cardEnrolled class-attribute instance-attribute
threeds2_cardEnrolled = None

Indicates whether a card is enrolled for 3D Secure 2.

ResponseAdditionalDataBillingAddress

Bases: BaseModel

billingAddress_city class-attribute instance-attribute
billingAddress_city = None

The billing address city passed in the payment request.

billingAddress_country class-attribute instance-attribute
billingAddress_country = None

The billing address country passed in the payment request.

Example: NL

billingAddress_houseNumberOrName class-attribute instance-attribute
billingAddress_houseNumberOrName = None

The billing address house number or name passed in the payment request.

billingAddress_postalCode class-attribute instance-attribute
billingAddress_postalCode = None

The billing address postal code passed in the payment request.

Example: 1011 DJ

billingAddress_stateOrProvince class-attribute instance-attribute
billingAddress_stateOrProvince = None

The billing address state or province passed in the payment request.

Example: NH

billingAddress_street class-attribute instance-attribute
billingAddress_street = None

The billing address street passed in the payment request.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

ResponseAdditionalDataCard

Bases: BaseModel

cardBin class-attribute instance-attribute
cardBin = None

The first six digits of the card number.

This is the Bank Identification Number (BIN) ⧉ for card numbers with a six-digit BIN.

Example: 521234

cardHolderName class-attribute instance-attribute
cardHolderName = None

The cardholder name passed in the payment request.

cardIssuingBank class-attribute instance-attribute
cardIssuingBank = None

The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.

cardIssuingCountry class-attribute instance-attribute
cardIssuingCountry = None

The country where the card was issued.

Example: US

cardIssuingCurrency class-attribute instance-attribute
cardIssuingCurrency = None

The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard.

Example: USD

cardPaymentMethod class-attribute instance-attribute
cardPaymentMethod = None

The card payment method used for the transaction.

Example: amex

cardProductId class-attribute instance-attribute
cardProductId = None

The Card Product ID represents the type of card following card scheme product definitions and can be returned for Adyen Acquiring service level payments.

Possible values Visa: * A - Visa Traditional * B - Visa Traditional Rewards * C - Visa Signature * D - Visa Signature Preferred * F - Visa Classic

Possible values Mastercard: * MCC - Mastercard Card * MCE - Mastercard Electronic Card * MCF - Mastercard Corporate Fleet Card * MCG - Gold Mastercard Card * MCH - Mastercard Premium Charge * MCI - Mastercard Select Debit

cardSummary class-attribute instance-attribute
cardSummary = None

The last four digits of a card number.

Returned only in case of a card payment.

issuerBin class-attribute instance-attribute
issuerBin = None

The first eight digits of the card number. Only returned if the card number is 16 digits or more.

This is the Bank Identification Number (BIN) ⧉ for card numbers with an eight-digit BIN.

Example: 52123423

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

ResponseAdditionalDataCommon

Bases: BaseModel

acquirerAccountCode class-attribute instance-attribute
acquirerAccountCode = None

The name of the Adyen acquirer account.

Example: PayPalSandbox_TestAcquirer

Only relevant for PayPal transactions.

acquirerCode class-attribute instance-attribute
acquirerCode = None

The name of the acquirer processing the payment request.

Example: TestPmmAcquirer

acquirerReference class-attribute instance-attribute
acquirerReference = None

The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.

Example: 7C9N3FNBKT9

alias class-attribute instance-attribute
alias = None

The Adyen alias of the card.

Example: H167852639363479

aliasType class-attribute instance-attribute
aliasType = None

The type of the card alias.

Example: Default

authCode class-attribute instance-attribute
authCode = None

Authorisation code: * When the payment is authorised successfully, this field holds the authorisation code for the payment. * When the payment is not authorised, this field is empty.

Example: 58747

authorisationMid class-attribute instance-attribute
authorisationMid = None

Merchant ID known by the acquirer.

authorisedAmountCurrency class-attribute instance-attribute
authorisedAmountCurrency = None

The currency of the authorised amount, as a three-character ISO currency code ⧉.

authorisedAmountValue class-attribute instance-attribute
authorisedAmountValue = None

Value of the amount authorised.

This amount is represented in minor units according to the following table ⧉.

avsResult class-attribute instance-attribute
avsResult = None

The AVS result code of the payment, which provides information about the outcome of the AVS check.

For possible values, see AVS ⧉.

avsResultRaw class-attribute instance-attribute
avsResultRaw = None

Raw AVS result received from the acquirer, where available.

Example: D

bic class-attribute instance-attribute
bic = None

BIC of a bank account.

Example: TESTNL01

Only relevant for SEPA Direct Debit transactions.

coBrandedWith class-attribute instance-attribute
coBrandedWith = None

Includes the co-branded card information.

cvcResult class-attribute instance-attribute
cvcResult = None

The result of CVC verification.

cvcResultRaw class-attribute instance-attribute
cvcResultRaw = None

The raw result of CVC verification.

dsTransID class-attribute instance-attribute
dsTransID = None

Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.

eci class-attribute instance-attribute
eci = None

The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.

Example: 02

expiryDate class-attribute instance-attribute
expiryDate = None

The expiry date on the card.

Example: 6/2016

Returned only in case of a card payment.

extraCostsCurrency class-attribute instance-attribute
extraCostsCurrency = None

The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.

Example: EUR

extraCostsValue class-attribute instance-attribute
extraCostsValue = None

The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.

fraudCheck__itemNr___FraudCheckname_ class-attribute instance-attribute
fraudCheck__itemNr___FraudCheckname_ = None

The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.

fraudManualReview class-attribute instance-attribute
fraudManualReview = None

Indicates if the payment is sent to manual review.

fraudResultType class-attribute instance-attribute
fraudResultType = None

The fraud result properties of the payment.

fraudRiskLevel class-attribute instance-attribute
fraudRiskLevel = None

The risk level of the transaction as classified by the machine learning ⧉ fraud risk rule. The risk level indicates the likelihood that a transaction will result in a fraudulent dispute. The possible return values are: * veryLow * low * medium * high * veryHigh

fundingSource class-attribute instance-attribute
fundingSource = None

Information regarding the funding type of the card. The possible return values are: * CHARGE * CREDIT * DEBIT * PREPAID * PREPAID_RELOADABLE

  • PREPAID_NONRELOADABLE
  • DEFFERED_DEBIT

This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.

For receiving this field in the notification, enable Include Funding Source in Notifications > Additional settings.

fundsAvailability class-attribute instance-attribute
fundsAvailability = None

Indicates availability of funds.

Visa: * "I" (fast funds are supported) * "N" (otherwise)

Mastercard: * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) * "N" (otherwise)

Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D".

inferredRefusalReason class-attribute instance-attribute
inferredRefusalReason = None

Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the inferredRefusalReason, field is populated and the refusalReason, is set to "Not Supported".

Possible values:

  • 3D Secure Mandated
  • Closed Account
  • ContAuth Not Supported
  • CVC Mandated
  • Ecommerce Not Allowed
  • Crossborder Not Supported
  • Card Updated

  • Low Authrate Bin

  • Non-reloadable prepaid card
isCardCommercial class-attribute instance-attribute
isCardCommercial = None

Indicates if the card is used for business purposes only.

issuerCountry class-attribute instance-attribute
issuerCountry = None

The issuing country of the card based on the BIN list that Adyen maintains.

Example: JP

liabilityShift class-attribute instance-attribute
liabilityShift = None

A Boolean value indicating whether a liability shift was offered for this payment.

mcBankNetReferenceNumber class-attribute instance-attribute
mcBankNetReferenceNumber = None

The mcBankNetReferenceNumber, is a minimum of six characters and a maximum of nine characters long.

Contact Support Team to enable this field.

merchantAdviceCode class-attribute instance-attribute
merchantAdviceCode = None

The Merchant Advice Code (MAC) can be returned by Mastercard issuers for refused payments. If present, the MAC contains information about why the payment failed, and whether it can be retried.

For more information see Mastercard Merchant Advice Codes ⧉.

merchantReference class-attribute instance-attribute
merchantReference = None

The reference provided for the transaction.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
networkTxReference class-attribute instance-attribute
networkTxReference = None

Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.

This contains either the Mastercard Trace ID or the Visa Transaction ID.

ownerName class-attribute instance-attribute
ownerName = None

The owner name of a bank account.

Only relevant for SEPA Direct Debit transactions.

paymentAccountReference class-attribute instance-attribute
paymentAccountReference = None

The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.

paymentMethod class-attribute instance-attribute
paymentMethod = None

The payment method used in the transaction.

paymentMethodVariant class-attribute instance-attribute
paymentMethodVariant = None

The Adyen sub-variant of the payment method used for the payment request.

For more information, refer to PaymentMethodVariant ⧉.

Example: mcpro

payoutEligible class-attribute instance-attribute
payoutEligible = None

Indicates whether a payout is eligible or not for this card.

Visa: * "Y" * "N"

Mastercard: * "Y" (domestic and cross-border)

  • "D" (only domestic)
  • "N" (no MoneySend)
  • "U" (unknown)
realtimeAccountUpdaterStatus class-attribute instance-attribute
realtimeAccountUpdaterStatus = None

The response code from the Real Time Account Updater service.

Possible return values are: * CardChanged * CardExpiryChanged * CloseAccount

  • ContactCardAccountHolder
receiptFreeText class-attribute instance-attribute
receiptFreeText = None

Message to be displayed on the terminal.

recurringProcessingModel class-attribute instance-attribute
recurringProcessingModel = None

The processing model used for the recurring transaction.

recurring_contractTypes class-attribute instance-attribute
recurring_contractTypes = None

The recurring contract types applicable to the transaction.

recurring_firstPspReference class-attribute instance-attribute
recurring_firstPspReference = None

The pspReference, of the first recurring payment that created the recurring detail.

This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.

recurring_recurringDetailReference class-attribute instance-attribute
recurring_recurringDetailReference = None

The reference that uniquely identifies the recurring transaction.

recurring_shopperReference class-attribute instance-attribute
recurring_shopperReference = None

The provided reference of the shopper for a recurring transaction.

referred class-attribute instance-attribute
referred = None

If the payment is referred, this field is set to true.

This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.

Example: true

refusalReasonRaw class-attribute instance-attribute
refusalReasonRaw = None

Raw refusal reason received from the acquirer, where available.

Example: AUTHORISED

requestAmount class-attribute instance-attribute
requestAmount = None

The amount of the payment request.

requestCurrencyCode class-attribute instance-attribute
requestCurrencyCode = None

The currency of the payment request.

shopperInteraction class-attribute instance-attribute
shopperInteraction = None

The shopper interaction type of the payment request.

Example: Ecommerce

shopperReference class-attribute instance-attribute
shopperReference = None

The shopperReference passed in the payment request.

Example: AdyenTestShopperXX

terminalId class-attribute instance-attribute
terminalId = None

The terminal ID used in a point-of-sale payment.

Example: 06022622

threeDAuthenticated class-attribute instance-attribute
threeDAuthenticated = None

A Boolean value indicating whether 3DS authentication was completed on this payment.

Example: true

threeDAuthenticatedResponse class-attribute instance-attribute
threeDAuthenticatedResponse = None

The raw 3DS authentication result from the card issuer.

Example: N

threeDOffered class-attribute instance-attribute
threeDOffered = None

A Boolean value indicating whether 3DS was offered for this payment.

Example: true

threeDOfferedResponse class-attribute instance-attribute
threeDOfferedResponse = None

The raw enrollment result from the 3DS directory services of the card schemes.

Example: Y

threeDSVersion class-attribute instance-attribute
threeDSVersion = None

The 3D Secure 2 version.

tokenization_shopperReference class-attribute instance-attribute
tokenization_shopperReference = None

The reference for the shopper that you sent when tokenizing the payment details.

tokenization_store_operationType class-attribute instance-attribute
tokenization_store_operationType = None

The operation performed on the token. Possible values:

  • created: the token has been created.
  • updated: the existing token has been updated.
  • alreadyExisting: the details have already been stored.
tokenization_storedPaymentMethodId class-attribute instance-attribute
tokenization_storedPaymentMethodId = None

The reference that uniquely identifies tokenized payment details.

visaTransactionId class-attribute instance-attribute
visaTransactionId = None

The visaTransactionId, has a fixed length of 15 numeric characters.

Contact Support Team to enable this field.

xid class-attribute instance-attribute
xid = None

The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'.

Example: ODgxNDc2MDg2MDExODk5MAAAAAA=

ResponseAdditionalDataDomesticError

Bases: BaseModel

domesticRefusalReasonRaw class-attribute instance-attribute
domesticRefusalReasonRaw = None

The reason the transaction was declined, given by the local issuer. Currently available for merchants in Japan.

domesticShopperAdvice class-attribute instance-attribute
domesticShopperAdvice = None

The action the shopper should take, in a local language. Currently available in Japanese, for merchants in Japan.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

ResponseAdditionalDataInstallments

Bases: BaseModel

installmentPaymentData_installmentType class-attribute instance-attribute
installmentPaymentData_installmentType = None

Type of installment. The value of installmentType should be IssuerFinanced.

installmentPaymentData_option_itemNr__annualPercentageRate class-attribute instance-attribute
installmentPaymentData_option_itemNr__annualPercentageRate = (
    None
)

Annual interest rate.

installmentPaymentData_option_itemNr__firstInstallmentAmount class-attribute instance-attribute
installmentPaymentData_option_itemNr__firstInstallmentAmount = (
    None
)

First Installment Amount in minor units.

installmentPaymentData_option_itemNr__installmentFee class-attribute instance-attribute
installmentPaymentData_option_itemNr__installmentFee = None

Installment fee amount in minor units.

installmentPaymentData_option_itemNr__interestRate class-attribute instance-attribute
installmentPaymentData_option_itemNr__interestRate = None

Interest rate for the installment period.

installmentPaymentData_option_itemNr__maximumNumberOfInstallments class-attribute instance-attribute
installmentPaymentData_option_itemNr__maximumNumberOfInstallments = (
    None
)

Maximum number of installments possible for this payment.

installmentPaymentData_option_itemNr__minimumNumberOfInstallments class-attribute instance-attribute
installmentPaymentData_option_itemNr__minimumNumberOfInstallments = (
    None
)

Minimum number of installments possible for this payment.

installmentPaymentData_option_itemNr__numberOfInstallments class-attribute instance-attribute
installmentPaymentData_option_itemNr__numberOfInstallments = (
    None
)

Total number of installments possible for this payment.

installmentPaymentData_option_itemNr__subsequentInstallmentAmount class-attribute instance-attribute
installmentPaymentData_option_itemNr__subsequentInstallmentAmount = (
    None
)

Subsequent Installment Amount in minor units.

installmentPaymentData_option_itemNr__totalAmountDue class-attribute instance-attribute
installmentPaymentData_option_itemNr__totalAmountDue = None

Total amount in minor units.

installmentPaymentData_paymentOptions class-attribute instance-attribute
installmentPaymentData_paymentOptions = None

Possible values: * PayInInstallmentsOnly * PayInFullOnly * PayInFullOrInstallments

installments_value class-attribute instance-attribute
installments_value = None

The number of installments that the payment amount should be charged with.

Example: 5

Only relevant for card payments in countries that support installments.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

ResponseAdditionalDataNetworkTokens

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
networkToken_available class-attribute instance-attribute
networkToken_available = None

Indicates whether a network token is available for the specified card.

networkToken_bin class-attribute instance-attribute
networkToken_bin = None

The Bank Identification Number of a tokenized card, which is the first six digits of a card number.

networkToken_tokenSummary class-attribute instance-attribute
networkToken_tokenSummary = None

The last four digits of a network token.

ResponseAdditionalDataOpi

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
opi_transToken class-attribute instance-attribute
opi_transToken = None

Returned in the response if you included opi.includeTransToken: true in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see Oracle Opera ⧉.

ResponseAdditionalDataSepa

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sepadirectdebit_dateOfSignature class-attribute instance-attribute
sepadirectdebit_dateOfSignature = None

The transaction signature date.

Format: yyyy-MM-dd

sepadirectdebit_mandateId class-attribute instance-attribute
sepadirectdebit_mandateId = None

Its value corresponds to the pspReference value of the transaction.

sepadirectdebit_sepadirectdebit_dueDate class-attribute instance-attribute
sepadirectdebit_sepadirectdebit_dueDate = None

The date that the the shopper's bank account is charged.

sepadirectdebit_sequenceType class-attribute instance-attribute
sepadirectdebit_sequenceType = None

This field can take one of the following values: * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.

  • First: (FRST) Initial/first collection in a series of direct debit instructions.
  • Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.
  • Final: (FNAL) Last/final collection in a series of direct debit instructions.

Example: OOFF

ResponseAdditionalDataSwish

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
swish_payerAlias class-attribute instance-attribute
swish_payerAlias = None

A Swish shopper's telephone number.

ResponsePaymentMethod

Bases: BaseModel

brand class-attribute instance-attribute
brand = None

The card brand that the shopper used to pay. Only returned if paymentMethod.type is scheme.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type class-attribute instance-attribute
type = None

The paymentMethod.type value used in the request.

Result

Bases: RootModel[Literal['VALID', 'INVALID', 'UNKNOWN']]

root instance-attribute
root

RiskData

Bases: BaseModel

clientData class-attribute instance-attribute
clientData = None

Contains client-side data, like the device fingerprint, cookies, and specific browser settings.

customFields class-attribute instance-attribute
customFields = None

Any custom fields used as part of the input to configured risk rules.

fraudOffset class-attribute instance-attribute
fraudOffset = None

An integer value that is added to the normal fraud score. The value can be either positive or negative.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
profileReference class-attribute instance-attribute
profileReference = None

The risk profile to assign to this payment. When left empty, the merchant-level account's default risk profile will be applied.

RivertyDetails

Bases: BaseModel

billingAddress class-attribute instance-attribute
billingAddress = None

The address where to send the invoice.

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

deliveryAddress class-attribute instance-attribute
deliveryAddress = None

The address where the goods should be delivered.

deviceFingerprint class-attribute instance-attribute
deviceFingerprint = None

A string containing the shopper's device fingerprint. For more information, refer to Device fingerprinting ⧉.

iban class-attribute instance-attribute
iban = None

The iban number of the customer

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
personalDetails class-attribute instance-attribute
personalDetails = None

Shopper name, date of birth, phone number, and email address.

recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

subtype class-attribute instance-attribute
subtype = None

The payment method subtype.

type instance-attribute
type

riverty

SDKEphemPubKey

Bases: BaseModel

crv class-attribute instance-attribute
crv = None

The crv value as received from the 3D Secure 2 SDK.

kty class-attribute instance-attribute
kty = None

The kty value as received from the 3D Secure 2 SDK.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
x class-attribute instance-attribute
x = None

The x value as received from the 3D Secure 2 SDK.

y class-attribute instance-attribute
y = None

The y value as received from the 3D Secure 2 SDK.

SamsungPayDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

fundingSource class-attribute instance-attribute
fundingSource = None

The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to debit.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

samsungPayToken instance-attribute
samsungPayToken

The payload you received from the Samsung Pay SDK response.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type class-attribute instance-attribute
type = 'samsungpay'

samsungpay

SepaDirectDebitDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

dueDate class-attribute instance-attribute
dueDate = None

The date that the the shopper's bank account is charged.

iban instance-attribute
iban

The International Bank Account Number (IBAN).

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
ownerName instance-attribute
ownerName

The name of the bank account holder.

recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

transferInstrumentId class-attribute instance-attribute
transferInstrumentId = None

The unique identifier of your user's verified transfer instrument, which you can use to top up their balance accounts.

type class-attribute instance-attribute
type = 'sepadirectdebit'

sepadirectdebit

ServiceError

Bases: BaseModel

additionalData class-attribute instance-attribute
additionalData = None

Contains additional information about the payment. Some data fields are included only if you select them first. Go to Customer Area > Developers > Additional data.

errorCode class-attribute instance-attribute
errorCode = None

The error code mapped to the error message.

errorType class-attribute instance-attribute
errorType = None

The category of the error.

message class-attribute instance-attribute
message = None

A short explanation of the issue.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
pspReference class-attribute instance-attribute
pspReference = None

The PSP reference of the payment.

status class-attribute instance-attribute
status = None

The HTTP response status.

SessionResultResponse

Bases: BaseModel

additionalData class-attribute instance-attribute
additionalData = None

Contains additional information about the payment. Some fields are included only if you enable them. To enable these fields in your Customer Area, go to Developers > Additional data.

id class-attribute instance-attribute
id = None

A unique identifier of the session.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
payments class-attribute instance-attribute
payments = None

A list of all authorised payments done for this session.

reference class-attribute instance-attribute
reference = None

The unique reference that you provided in the original /sessions request. This identifies the payment and is used in all communication with you about the payment status.

status class-attribute instance-attribute
status = None

The status of the session. The status included in the response doesn't get updated. Don't make the request again to check for payment status updates.

Possible values: * completed: the shopper completed the payment, and the payment was authorized. * paymentPending: the shopper is in the process of making the payment. This applies to payment methods with an asynchronous flow, like voucher payments where the shopper completes the payment in a physical shop. * refused: the session has been refused, because of too many refused payment attempts. The shopper can no longer complete the payment with this session. * canceled: the shopper canceled the payment. * expired: the session expired. The shopper can no longer complete the payment with this session. By default, the session expires one hour after it is created.

ShopperIdPaymentMethod

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

ShopperInteractionDevice

Bases: BaseModel

locale class-attribute instance-attribute
locale = None

Locale on the shopper interaction device.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
os class-attribute instance-attribute
os = None

Operating system running on the shopper interaction device.

osVersion class-attribute instance-attribute
osVersion = None

Version of the operating system on the shopper interaction device.

ShopperName

Bases: BaseModel

firstName instance-attribute
firstName

The first name.

lastName instance-attribute
lastName

The last name.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

Split

Bases: BaseModel

account class-attribute instance-attribute
account = None

The unique identifier of the account to which the split amount is booked. Required if type is MarketPlace or BalanceAccount.

amount class-attribute instance-attribute
amount = None

The amount of the split item.

description class-attribute instance-attribute
description = None

Your description for the split item.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
reference class-attribute instance-attribute
reference = None

Your unique reference for the part of the payment booked to the specified account.

This is required if type is MarketPlace (Classic Platforms integration ⧉) or BalanceAccount (Balance Platform ⧉).

For the other types, we also recommend providing a unique reference so you can reconcile the split and the associated payment in the transaction overview and in the reports.

type instance-attribute
type

The part of the payment you want to book to the specified account.

Possible values for the Balance Platform ⧉: * BalanceAccount: books part of the payment (specified in amount) to the specified account. * Transaction fees types that you can book to the specified account: * AcquiringFees: the aggregated amount of the interchange and scheme fees. * PaymentFee: the aggregated amount of all transaction fees. * AdyenFees: the aggregated amount of Adyen's commission and markup fees. * AdyenCommission: the transaction fees due to Adyen under blended rates ⧉. * AdyenMarkup: the transaction fees due to Adyen under Interchange ++ pricing ⧉. * Interchange: the fees paid to the issuer for each payment made with the card network. * SchemeFee: the fees paid to the card scheme for using their network. * Commission: your platform's commission on the payment (specified in amount), booked to your liable balance account. * Remainder: the amount left over after a currency conversion, booked to the specified account. * TopUp: allows you and your users to top up balance accounts using direct debit, card payments, or other payment methods. * VAT: the value-added tax charged on the payment, booked to your platforms liable balance account. * Default: in very specific use cases, allows you to book the specified amount to the specified account. For more information, contact Adyen support.

Possible values for the Classic Platforms integration ⧉: Commission, Default, MarketPlace, PaymentFee, VAT.

SplitAmount

Bases: BaseModel

currency class-attribute instance-attribute
currency = None

The three-character ISO currency code ⧉. By default, this is the original payment currency.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
value instance-attribute
value

The value of the split amount, in minor units ⧉.

StandalonePaymentCancelRequest

Bases: BaseModel

applicationInfo class-attribute instance-attribute
applicationInfo = None

Information about your application. For more details, see Building Adyen solutions ⧉.

enhancedSchemeData class-attribute instance-attribute
enhancedSchemeData = None

Enhanced scheme data that may be required for processing the payment. For example, airline information.

merchantAccount instance-attribute
merchantAccount

The merchant account that is used to process the payment.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentReference instance-attribute
paymentReference

The reference ⧉ of the payment that you want to cancel.

reference class-attribute instance-attribute
reference = None

Your reference for the cancel request. Maximum length: 80 characters.

StandalonePaymentCancelResponse

Bases: BaseModel

merchantAccount instance-attribute
merchantAccount

The merchant account that is used to process the payment.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentReference instance-attribute
paymentReference

The reference ⧉ of the payment to cancel.

pspReference instance-attribute
pspReference

Adyen's 16-character reference associated with the cancel request.

reference class-attribute instance-attribute
reference = None

Your reference for the cancel request.

status instance-attribute
status

The status of your request. This will always have the value received.

StoredPaymentMethod

Bases: BaseModel

bankAccountNumber class-attribute instance-attribute
bankAccountNumber = None

The bank account number (without separators).

bankLocationId class-attribute instance-attribute
bankLocationId = None

The location id of the bank. The field value is nil in most cases.

brand class-attribute instance-attribute
brand = None

The brand of the card.

expiryMonth class-attribute instance-attribute
expiryMonth = None

The two-digit month when the card expires

expiryYear class-attribute instance-attribute
expiryYear = None

The last two digits of the year the card expires. For example, 22 for the year 2022.

holderName class-attribute instance-attribute
holderName = None

The unique payment method code.

iban class-attribute instance-attribute
iban = None

The IBAN of the bank account.

id class-attribute instance-attribute
id = None

A unique identifier of this stored payment method.

label class-attribute instance-attribute
label = None

The shopper’s issuer account label

lastFour class-attribute instance-attribute
lastFour = None

The last four digits of the PAN.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name class-attribute instance-attribute
name = None

The display name of the stored payment method.

networkTxReference class-attribute instance-attribute
networkTxReference = None

Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.

This contains either the Mastercard Trace ID or the Visa Transaction ID.

ownerName class-attribute instance-attribute
ownerName = None

The name of the bank account holder.

shopperEmail class-attribute instance-attribute
shopperEmail = None

The shopper’s email address.

supportedRecurringProcessingModels class-attribute instance-attribute
supportedRecurringProcessingModels = None

The supported recurring processing models for this stored payment method.

supportedShopperInteractions class-attribute instance-attribute
supportedShopperInteractions = None

The supported shopper interactions for this stored payment method.

type class-attribute instance-attribute
type = None

The type of payment method.

StoredPaymentMethodDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type class-attribute instance-attribute
type = None

The payment method type.

StoredPaymentMethodRequest

Bases: BaseModel

merchantAccount instance-attribute
merchantAccount

The merchant account identifier, with which you want to process the transaction.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentMethod instance-attribute
paymentMethod

Contains the information required to store a payment method.

recurringProcessingModel instance-attribute
recurringProcessingModel

Defines a recurring payment type. Required when creating a token to store payment details. Allowed values: * Subscription – A transaction for a fixed or variable amount, which follows a fixed schedule. * CardOnFile – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. * UnscheduledCardOnFile – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.

shopperEmail class-attribute instance-attribute
shopperEmail = None

The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.

shopperIP class-attribute instance-attribute
shopperIP = None

The IP address of a shopper.

shopperReference instance-attribute
shopperReference

A unique identifier for the shopper (for example, user ID or account ID).

StoredPaymentMethodResource

Bases: BaseModel

brand class-attribute instance-attribute
brand = None

The brand of the card.

expiryMonth class-attribute instance-attribute
expiryMonth = None

The month the card expires.

expiryYear class-attribute instance-attribute
expiryYear = None

The last two digits of the year the card expires. For example, 22 for the year 2022.

externalResponseCode class-attribute instance-attribute
externalResponseCode = None

The response code returned by an external system (for example after a provisioning operation).

externalTokenReference class-attribute instance-attribute
externalTokenReference = None

The token reference of a linked token in an external system (for example a network token reference).

holderName class-attribute instance-attribute
holderName = None

The unique payment method code.

iban class-attribute instance-attribute
iban = None

The IBAN of the bank account.

id class-attribute instance-attribute
id = None

A unique identifier of this stored payment method.

issuerName class-attribute instance-attribute
issuerName = None

The name of the issuer of token or card.

lastFour class-attribute instance-attribute
lastFour = None

The last four digits of the PAN.

mandate class-attribute instance-attribute
mandate = None

Mandate details for the stored payment method.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name class-attribute instance-attribute
name = None

The display name of the stored payment method.

networkTxReference class-attribute instance-attribute
networkTxReference = None

Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.

This contains either the Mastercard Trace ID or the Visa Transaction ID.

ownerName class-attribute instance-attribute
ownerName = None

The name of the bank account holder.

shopperEmail class-attribute instance-attribute
shopperEmail = None

The shopper’s email address.

shopperReference class-attribute instance-attribute
shopperReference = None

Your reference to uniquely identify this shopper, for example user ID or account ID. The value is case-sensitive and must be at least three characters.

Your reference must not include personally identifiable information (PII) such as name or email address.

supportedRecurringProcessingModels class-attribute instance-attribute
supportedRecurringProcessingModels = None

Defines a recurring payment type. Allowed values: * Subscription – A transaction for a fixed or variable amount, which follows a fixed schedule. * CardOnFile – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. * UnscheduledCardOnFile – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.

type class-attribute instance-attribute
type = None

The type of payment method.

SubInputDetail

Bases: BaseModel

configuration class-attribute instance-attribute
configuration = None

Configuration parameters for the required input.

items class-attribute instance-attribute
items = None

In case of a select, the items to choose from.

key class-attribute instance-attribute
key = None

The value to provide in the result.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
optional class-attribute instance-attribute
optional = None

True if this input is optional to provide.

type class-attribute instance-attribute
type = None

The type of the required input.

value class-attribute instance-attribute
value = None

The value can be pre-filled, if available.

SubMerchant

Bases: BaseModel

city class-attribute instance-attribute
city = None

The city of the sub-merchant's address. * Format: Alphanumeric * Maximum length: 13 characters

country class-attribute instance-attribute
country = None

The three-letter country code of the sub-merchant's address. For example, BRA for Brazil. * Format: ISO 3166-1 alpha-3 ⧉ * Fixed length: 3 characters

mcc class-attribute instance-attribute
mcc = None

The sub-merchant's 4-digit Merchant Category Code (MCC). * Format: Numeric * Fixed length: 4 digits

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name class-attribute instance-attribute
name = None

The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement. * Format: Alphanumeric * Maximum length: 22 characters

taxId class-attribute instance-attribute
taxId = None

The tax ID of the sub-merchant. * Format: Numeric * Fixed length: 11 digits for the CPF or 14 digits for the CNPJ

SubMerchantInfo

Bases: BaseModel

address class-attribute instance-attribute
address = None

Required for transactions performed by registered payment facilitators. The sub-merchant's address.

amount class-attribute instance-attribute
amount = None

Required for transactions performed by registered payment facilitators. The amount of the payment corresponding to each sub-merchant. This value will be different than the request amount if shopper is purchasing items at different sub-merchants' shops.

email class-attribute instance-attribute
email = None

Required for transactions performed by registered payment facilitators. The email associated with the sub-merchant's account.

id class-attribute instance-attribute
id = None

Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. * Format: Alphanumeric * Maximum length: 15 characters

mcc class-attribute instance-attribute
mcc = None

Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). * Format: Numeric * Fixed length: 4 digits

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name class-attribute instance-attribute
name = None

Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement that will appear in the card statement. Exception: for acquirers in Brazil, this value does not overwrite the shopper statement. * Format: Alphanumeric * Maximum length: 22 characters

phoneNumber class-attribute instance-attribute
phoneNumber = None

Required for transactions performed by registered payment facilitators. The phone number associated with the sub-merchant's account.

registeredSince class-attribute instance-attribute
registeredSince = None
taxId class-attribute instance-attribute
taxId = None

Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant. * Format: Numeric * Fixed length: 11 digits for the CPF or 14 digits for the CNPJ

url class-attribute instance-attribute
url = None

Required for transactions performed by registered payment facilitators. The sub-merchant's URL on the platform, i.e. the sub-merchant's shop.

Surcharge

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
value instance-attribute
value

The surcharge ⧉ amount to apply to the transaction, in minor units ⧉. When you apply surcharge, include the surcharge in the amount.value field.

Review our Surcharge compliance guide ⧉ to learn about how to comply with regulatory requirements when applying surcharge.

TaxTotal

Bases: BaseModel

amount class-attribute instance-attribute
amount = None
model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

ThreeDS2RequestData

Bases: BaseModel

acctInfo class-attribute instance-attribute
acctInfo = None

Additional information about the cardholder’s account provided by the 3DS Requestor.

acctType class-attribute instance-attribute
acctType = None

Indicates the type of account. For example, for a multi-account card product. Length: 2 characters. Allowed values: * 01 — Not applicable * 02 — Credit * 03 — Debit

acquirerBIN class-attribute instance-attribute
acquirerBIN = None

Required for authentication-only integration ⧉. The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.

acquirerMerchantID class-attribute instance-attribute
acquirerMerchantID = None

Required for authentication-only integration ⧉. The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.

addrMatch class-attribute instance-attribute
addrMatch = None

Indicates whether the cardholder shipping address and cardholder billing address are the same. Allowed values: * Y — Shipping address matches billing address. * N — Shipping address does not match billing address.

authenticationOnly class-attribute instance-attribute
authenticationOnly = False

If set to true, you will only perform the 3D Secure 2 authentication ⧉, and not the payment authorisation.

challengeIndicator class-attribute instance-attribute
challengeIndicator = None

Possibility to specify a preference for receiving a challenge from the issuer. Allowed values: * noPreference * requestNoChallenge * requestChallenge * requestChallengeAsMandate

deviceChannel instance-attribute
deviceChannel

The environment of the shopper. Allowed values: * app * browser

deviceRenderOptions class-attribute instance-attribute
deviceRenderOptions = None

Display options for the 3D Secure 2 SDK. Optional and only for deviceChannel app.

homePhone class-attribute instance-attribute
homePhone = None

The home phone number provided by the cardholder. The phone number must consist of a country code, followed by the number. If the value you provide does not follow the guidelines, we do not submit it for authentication.

Required for Visa and JCB transactions that require 3D Secure 2 authentication, if you did not include the shopperEmail, and did not send the shopper's phone number in telephoneNumber.

mcc class-attribute instance-attribute
mcc = None

Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly authentication-only integrations ⧉. The mcc is a four-digit code with which the previously given acquirerMerchantID is registered at the scheme.

merchantName class-attribute instance-attribute
merchantName = None

Required for authentication-only integration ⧉. The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.

Optional for a full 3D Secure 2 integration ⧉. Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.

messageVersion class-attribute instance-attribute
messageVersion = None

The messageVersion value indicating the 3D Secure 2 protocol version.

mobilePhone class-attribute instance-attribute
mobilePhone = None

The mobile phone number provided by the cardholder. The phone number must consist of a country code, followed by the number. If the value you provide does not follow the guidelines, we do not submit it for authentication.

Required for Visa and JCB transactions that require 3D Secure 2 authentication, if you did not include the shopperEmail, and did not send the shopper's phone number in telephoneNumber.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
notificationURL class-attribute instance-attribute
notificationURL = None

URL to where the issuer should send the CRes. Required if you are not using components for channel Web or if you are using classic integration deviceChannel browser.

payTokenInd class-attribute instance-attribute
payTokenInd = None

Value true indicates that the transaction was de-tokenised prior to being received by the ACS.

paymentAuthenticationUseCase class-attribute instance-attribute
paymentAuthenticationUseCase = None

Indicates the type of payment for which an authentication is requested (message extension)

purchaseInstalData class-attribute instance-attribute
purchaseInstalData = None

Indicates the maximum number of authorisations permitted for instalment payments. Length: 1–3 characters.

recurringExpiry class-attribute instance-attribute
recurringExpiry = None

Date after which no further authorisations shall be performed. Format: YYYYMMDD

recurringFrequency class-attribute instance-attribute
recurringFrequency = None

Indicates the minimum number of days between authorisations. Maximum length: 4 characters.

sdkAppID class-attribute instance-attribute
sdkAppID = None

The sdkAppID value as received from the 3D Secure 2 SDK. Required for deviceChannel set to app.

sdkEncData class-attribute instance-attribute
sdkEncData = None

The sdkEncData value as received from the 3D Secure 2 SDK. Required for deviceChannel set to app.

sdkEphemPubKey class-attribute instance-attribute
sdkEphemPubKey = None

The sdkEphemPubKey value as received from the 3D Secure 2 SDK. Required for deviceChannel set to app.

sdkMaxTimeout class-attribute instance-attribute
sdkMaxTimeout = 60

The maximum amount of time in minutes for the 3D Secure 2 authentication process. Optional and only for deviceChannel set to app. Defaults to 60 minutes.

sdkReferenceNumber class-attribute instance-attribute
sdkReferenceNumber = None

The sdkReferenceNumber value as received from the 3D Secure 2 SDK. Only for deviceChannel set to app.

sdkTransID class-attribute instance-attribute
sdkTransID = None

The sdkTransID value as received from the 3D Secure 2 SDK. Only for deviceChannel set to app.

sdkVersion class-attribute instance-attribute
sdkVersion = None

Version of the 3D Secure 2 mobile SDK. Only for deviceChannel set to app.

threeDSCompInd class-attribute instance-attribute
threeDSCompInd = None

Completion indicator for the device fingerprinting.

threeDSRequestorAuthenticationInd class-attribute instance-attribute
threeDSRequestorAuthenticationInd = None

Indicates the type of Authentication request.

threeDSRequestorAuthenticationInfo class-attribute instance-attribute
threeDSRequestorAuthenticationInfo = None

Information about how the 3DS Requestor authenticated the cardholder before or during the transaction

threeDSRequestorChallengeInd class-attribute instance-attribute
threeDSRequestorChallengeInd = None

Indicates whether a challenge is requested for this transaction. Possible values: * 01 — No preference * 02 — No challenge requested * 03 — Challenge requested (3DS Requestor preference) * 04 — Challenge requested (Mandate) * 05 — No challenge (transactional risk analysis is already performed) * 06 — Data Only

threeDSRequestorID class-attribute instance-attribute
threeDSRequestorID = None

Required for authentication-only integration ⧉ for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.

threeDSRequestorName class-attribute instance-attribute
threeDSRequestorName = None

Required for authentication-only integration ⧉ for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.

threeDSRequestorPriorAuthenticationInfo class-attribute instance-attribute
threeDSRequestorPriorAuthenticationInfo = None

Information about how the 3DS Requestor authenticated the cardholder as part of a previous 3DS transaction.

threeDSRequestorURL class-attribute instance-attribute
threeDSRequestorURL = None

URL of the (customer service) website that will be shown to the shopper in case of technical errors during the 3D Secure 2 process.

transType class-attribute instance-attribute
transType = None

Identifies the type of transaction being authenticated. Length: 2 characters. Allowed values: * 01 — Goods/Service Purchase * 03 — Check Acceptance * 10 — Account Funding * 11 — Quasi-Cash Transaction * 28 — Prepaid Activation and Load

transactionType class-attribute instance-attribute
transactionType = None

Identify the type of the transaction being authenticated.

whiteListStatus class-attribute instance-attribute
whiteListStatus = None

The whiteListStatus value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0.

workPhone class-attribute instance-attribute
workPhone = None

The work phone number provided by the cardholder. The phone number must consist of a country code, followed by the number. If the value you provide does not follow the guidelines, we do not submit it for authentication.

Required for Visa and JCB transactions that require 3D Secure 2 authentication, if you did not include the shopperEmail, and did not send the shopper's phone number in telephoneNumber.

ThreeDS2RequestFields

Bases: BaseModel

acctInfo class-attribute instance-attribute
acctInfo = None

Additional information about the cardholder’s account provided by the 3DS Requestor.

acctType class-attribute instance-attribute
acctType = None

Indicates the type of account. For example, for a multi-account card product. Length: 2 characters. Allowed values: * 01 — Not applicable * 02 — Credit * 03 — Debit

acquirerBIN class-attribute instance-attribute
acquirerBIN = None

Required for authentication-only integration ⧉. The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.

acquirerMerchantID class-attribute instance-attribute
acquirerMerchantID = None

Required for authentication-only integration ⧉. The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.

addrMatch class-attribute instance-attribute
addrMatch = None

Indicates whether the cardholder shipping Address and cardholder billing address are the same. Allowed values: * Y — Shipping Address matches Billing Address. * N — Shipping Address does not match Billing Address.

authenticationOnly class-attribute instance-attribute
authenticationOnly = False

If set to true, you will only perform the 3D Secure 2 authentication ⧉, and not the payment authorisation.

challengeIndicator class-attribute instance-attribute
challengeIndicator = None

Possibility to specify a preference for receiving a challenge from the issuer. Allowed values: * noPreference * requestNoChallenge * requestChallenge * requestChallengeAsMandate

deviceRenderOptions class-attribute instance-attribute
deviceRenderOptions = None

Display options for the 3D Secure 2 SDK. Optional and only for deviceChannel app.

homePhone class-attribute instance-attribute
homePhone = None

The home phone number provided by the cardholder. The phone number must consist of a country code, followed by the number. If the value you provide does not follow the guidelines, we do not submit it for authentication.

Required for Visa and JCB transactions that require 3D Secure 2 authentication, if you did not include the shopperEmail, and did not send the shopper's phone number in telephoneNumber.

mcc class-attribute instance-attribute
mcc = None

Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly authentication-only integrations ⧉. The mcc is a four-digit code with which the previously given acquirerMerchantID is registered at the scheme.

merchantName class-attribute instance-attribute
merchantName = None

Required for authentication-only integration ⧉. The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.

Optional for a full 3D Secure 2 integration ⧉. Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.

messageVersion class-attribute instance-attribute
messageVersion = None

The messageVersion value indicating the 3D Secure 2 protocol version.

mobilePhone class-attribute instance-attribute
mobilePhone = None

The mobile phone number provided by the cardholder. The phone number must consist of a country code, followed by the number. If the value you provide does not follow the guidelines, we do not submit it for authentication.

Required for Visa and JCB transactions that require 3D Secure 2 authentication, if you did not include the shopperEmail, and did not send the shopper's phone number in telephoneNumber.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
notificationURL class-attribute instance-attribute
notificationURL = None

URL to where the issuer should send the CRes. Required if you are not using components for channel Web or if you are using classic integration deviceChannel browser.

payTokenInd class-attribute instance-attribute
payTokenInd = None

Value true indicates that the transaction was de-tokenised prior to being received by the ACS.

paymentAuthenticationUseCase class-attribute instance-attribute
paymentAuthenticationUseCase = None

Indicates the type of payment for which an authentication is requested (message extension)

purchaseInstalData class-attribute instance-attribute
purchaseInstalData = None

Indicates the maximum number of authorisations permitted for instalment payments. Length: 1–3 characters.

recurringExpiry class-attribute instance-attribute
recurringExpiry = None

Date after which no further authorisations shall be performed. Format: YYYYMMDD

recurringFrequency class-attribute instance-attribute
recurringFrequency = None

Indicates the minimum number of days between authorisations. Maximum length: 4 characters.

sdkAppID class-attribute instance-attribute
sdkAppID = None

The sdkAppID value as received from the 3D Secure 2 SDK.

sdkEphemPubKey class-attribute instance-attribute
sdkEphemPubKey = None

The sdkEphemPubKey value as received from the 3D Secure 2 SDK.

sdkMaxTimeout class-attribute instance-attribute
sdkMaxTimeout = 60

The maximum amount of time in minutes for the 3D Secure 2 authentication process. Optional and only for deviceChannel set to app. Defaults to 60 minutes.

sdkReferenceNumber class-attribute instance-attribute
sdkReferenceNumber = None

The sdkReferenceNumber value as received from the 3D Secure 2 SDK.

sdkTransID class-attribute instance-attribute
sdkTransID = None

The sdkTransID value as received from the 3D Secure 2 SDK.

threeDSCompInd class-attribute instance-attribute
threeDSCompInd = None

Completion indicator for the device fingerprinting.

threeDSRequestorAuthenticationInd class-attribute instance-attribute
threeDSRequestorAuthenticationInd = None

Indicates the type of Authentication request.

threeDSRequestorAuthenticationInfo class-attribute instance-attribute
threeDSRequestorAuthenticationInfo = None

Information about how the 3DS Requestor authenticated the cardholder before or during the transaction

threeDSRequestorChallengeInd class-attribute instance-attribute
threeDSRequestorChallengeInd = None

Indicates whether a challenge is requested for this transaction. Possible values: * 01 — No preference * 02 — No challenge requested * 03 — Challenge requested (3DS Requestor preference) * 04 — Challenge requested (Mandate) * 05 — No challenge (transactional risk analysis is already performed) * 06 — Data Only

threeDSRequestorID class-attribute instance-attribute
threeDSRequestorID = None

Required for authentication-only integration ⧉ for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.

threeDSRequestorName class-attribute instance-attribute
threeDSRequestorName = None

Required for authentication-only integration ⧉ for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.

threeDSRequestorPriorAuthenticationInfo class-attribute instance-attribute
threeDSRequestorPriorAuthenticationInfo = None

Information about how the 3DS Requestor authenticated the cardholder as part of a previous 3DS transaction.

threeDSRequestorURL class-attribute instance-attribute
threeDSRequestorURL = None

URL of the (customer service) website that will be shown to the shopper in case of technical errors during the 3D Secure 2 process.

transType class-attribute instance-attribute
transType = None

Identifies the type of transaction being authenticated. Length: 2 characters. Allowed values: * 01 — Goods/Service Purchase * 03 — Check Acceptance * 10 — Account Funding * 11 — Quasi-Cash Transaction * 28 — Prepaid Activation and Load

transactionType class-attribute instance-attribute
transactionType = None

Identify the type of the transaction being authenticated.

whiteListStatus class-attribute instance-attribute
whiteListStatus = None

The whiteListStatus value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0.

workPhone class-attribute instance-attribute
workPhone = None

The work phone number provided by the cardholder. The phone number must consist of a country code, followed by the number. If the value you provide does not follow the guidelines, we do not submit it for authentication.

Required for Visa and JCB transactions that require 3D Secure 2 authentication, if you did not include the shopperEmail, and did not send the shopper's phone number in telephoneNumber.

ThreeDS2ResponseData

Bases: BaseModel

acsChallengeMandated class-attribute instance-attribute
acsChallengeMandated = None
acsOperatorID class-attribute instance-attribute
acsOperatorID = None
acsReferenceNumber class-attribute instance-attribute
acsReferenceNumber = None
acsSignedContent class-attribute instance-attribute
acsSignedContent = None
acsTransID class-attribute instance-attribute
acsTransID = None
acsURL class-attribute instance-attribute
acsURL = None
authenticationType class-attribute instance-attribute
authenticationType = None
cardHolderInfo class-attribute instance-attribute
cardHolderInfo = None
cavvAlgorithm class-attribute instance-attribute
cavvAlgorithm = None
challengeIndicator class-attribute instance-attribute
challengeIndicator = None
dsReferenceNumber class-attribute instance-attribute
dsReferenceNumber = None
dsTransID class-attribute instance-attribute
dsTransID = None
exemptionIndicator class-attribute instance-attribute
exemptionIndicator = None
messageVersion class-attribute instance-attribute
messageVersion = None
model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
riskScore class-attribute instance-attribute
riskScore = None
sdkEphemPubKey class-attribute instance-attribute
sdkEphemPubKey = None
threeDSServerTransID class-attribute instance-attribute
threeDSServerTransID = None
transStatus class-attribute instance-attribute
transStatus = None
transStatusReason class-attribute instance-attribute
transStatusReason = None

ThreeDS2Result

Bases: BaseModel

authenticationValue class-attribute instance-attribute
authenticationValue = None

The authenticationValue value as defined in the 3D Secure 2 specification.

cavvAlgorithm class-attribute instance-attribute
cavvAlgorithm = None

The algorithm used by the ACS to calculate the authentication value, only for Cartes Bancaires integrations.

challengeCancel class-attribute instance-attribute
challengeCancel = None

Indicator informing the Access Control Server (ACS) and the Directory Server (DS) that the authentication has been cancelled. For possible values, refer to 3D Secure API reference ⧉.

dsTransID class-attribute instance-attribute
dsTransID = None

The dsTransID value as defined in the 3D Secure 2 specification.

eci class-attribute instance-attribute
eci = None

The eci value as defined in the 3D Secure 2 specification.

exemptionIndicator class-attribute instance-attribute
exemptionIndicator = None

Indicates the exemption type that was applied by the issuer to the authentication, if exemption applied. Allowed values: * lowValue * secureCorporate * trustedBeneficiary * transactionRiskAnalysis

messageVersion class-attribute instance-attribute
messageVersion = None

The messageVersion value as defined in the 3D Secure 2 specification.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
riskScore class-attribute instance-attribute
riskScore = None

Risk score calculated by Cartes Bancaires Directory Server (DS).

threeDSRequestorChallengeInd class-attribute instance-attribute
threeDSRequestorChallengeInd = None

Indicates whether a challenge is requested for this transaction. Possible values: * 01 — No preference * 02 — No challenge requested * 03 — Challenge requested (3DS Requestor preference) * 04 — Challenge requested (Mandate) * 05 — No challenge (transactional risk analysis is already performed) * 06 — Data Only

threeDSServerTransID class-attribute instance-attribute
threeDSServerTransID = None

The threeDSServerTransID value as defined in the 3D Secure 2 specification.

timestamp class-attribute instance-attribute
timestamp = None

The timestamp value of the 3D Secure 2 authentication.

transStatus class-attribute instance-attribute
transStatus = None

The transStatus value as defined in the 3D Secure 2 specification.

transStatusReason class-attribute instance-attribute
transStatusReason = None

Provides information on why the transStatus field has the specified value. For possible values, refer to our docs ⧉.

whiteListStatus class-attribute instance-attribute
whiteListStatus = None

The whiteListStatus value as defined in the 3D Secure 2 specification.

ThreeDSRequestData

Bases: BaseModel

challengeWindowSize class-attribute instance-attribute
challengeWindowSize = None

Dimensions of the 3DS2 challenge window to be displayed to the cardholder.

Possible values:

  • 01 - size of 250x400
  • 02 - size of 390x400
  • 03 - size of 500x600
  • 04 - size of 600x400
  • 05 - Fullscreen
dataOnly class-attribute instance-attribute
dataOnly = None

Required to trigger the data-only flow ⧉. When set to true, forces the 3D Secure 2 data-only flow for all transactions where it is possible.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
nativeThreeDS class-attribute instance-attribute
nativeThreeDS = None

Indicates if native 3D Secure authentication ⧉ should be triggered when available. Adyen can still select to fallback to the redirect flow to optimize authorization rates and improve the shopper's experience.

Possible values: * preferred: Use native 3D Secure authentication when available. * disabled: Use the redirect 3D Secure authentication flow.

threeDSVersion class-attribute instance-attribute
threeDSVersion = None

The version of 3D Secure to use.

Possible values:

  • 2.1.0
  • 2.2.0

ThreeDSRequestorAuthenticationInfo

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
threeDSReqAuthData class-attribute instance-attribute
threeDSReqAuthData = None

Data that documents and supports a specific authentication process. Maximum length: 2048 bytes.

threeDSReqAuthMethod class-attribute instance-attribute
threeDSReqAuthMethod = None

Mechanism used by the Cardholder to authenticate to the 3DS Requestor. Allowed values: * 01 — No 3DS Requestor authentication occurred (for example, cardholder “logged in” as guest). * 02 — Login to the cardholder account at the 3DS Requestor system using 3DS Requestor’s own credentials. * 03 — Login to the cardholder account at the 3DS Requestor system using federated ID. * 04 — Login to the cardholder account at the 3DS Requestor system using issuer credentials. * 05 — Login to the cardholder account at the 3DS Requestor system using third-party authentication. * 06 — Login to the cardholder account at the 3DS Requestor system using FIDO Authenticator.

threeDSReqAuthTimestamp class-attribute instance-attribute
threeDSReqAuthTimestamp = None

Date and time in UTC of the cardholder authentication. Format: YYYYMMDDHHMM

ThreeDSRequestorPriorAuthenticationInfo

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
threeDSReqPriorAuthData class-attribute instance-attribute
threeDSReqPriorAuthData = None

Data that documents and supports a specific authentication process. Maximum length: 2048 bytes.

threeDSReqPriorAuthMethod class-attribute instance-attribute
threeDSReqPriorAuthMethod = None

Mechanism used by the Cardholder to previously authenticate to the 3DS Requestor. Allowed values: * 01 — Frictionless authentication occurred by ACS. * 02 — Cardholder challenge occurred by ACS. * 03 — AVS verified. * 04 — Other issuer methods.

threeDSReqPriorAuthTimestamp class-attribute instance-attribute
threeDSReqPriorAuthTimestamp = None

Date and time in UTC of the prior cardholder authentication. Format: YYYYMMDDHHMM

threeDSReqPriorRef class-attribute instance-attribute
threeDSReqPriorRef = None

This data element provides additional information to the ACS to determine the best approach for handing a request. This data element contains an ACS Transaction ID for a prior authenticated transaction. For example, the first recurring transaction that was authenticated with the cardholder. Length: 30 characters.

ThreeDSecureData

Bases: BaseModel

authenticationResponse class-attribute instance-attribute
authenticationResponse = None

In 3D Secure 2, this is the transStatus from the challenge result. If the transaction was frictionless, omit this parameter.

cavv class-attribute instance-attribute
cavv = None

The cardholder authentication value (base64 encoded, 20 bytes in a decoded form).

cavvAlgorithm class-attribute instance-attribute
cavvAlgorithm = None

The CAVV algorithm used. Include this only for 3D Secure 1.

challengeCancel class-attribute instance-attribute
challengeCancel = None

Indicator informing the Access Control Server (ACS) and the Directory Server (DS) that the authentication has been cancelled. For possible values, refer to 3D Secure API reference ⧉.

directoryResponse class-attribute instance-attribute
directoryResponse = None

In 3D Secure 2, this is the transStatus from the ARes.

dsTransID class-attribute instance-attribute
dsTransID = None

Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.

eci class-attribute instance-attribute
eci = None

The electronic commerce indicator.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
riskScore class-attribute instance-attribute
riskScore = None

Risk score calculated by Directory Server (DS). Required for Cartes Bancaires integrations.

threeDSVersion class-attribute instance-attribute
threeDSVersion = None

The version of the 3D Secure protocol.

tokenAuthenticationVerificationValue class-attribute instance-attribute
tokenAuthenticationVerificationValue = None

Network token authentication verification value (TAVV). The network token cryptogram.

transStatusReason class-attribute instance-attribute
transStatusReason = None

Provides information on why the transStatus field has the specified value. For possible values, refer to our docs ⧉.

xid class-attribute instance-attribute
xid = None

Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form).

Ticket

Bases: BaseModel

issueAddress class-attribute instance-attribute
issueAddress = None

The address of the organization that issued the ticket. * minLength: 0 characters * maxLength: 16 characters

issueDate class-attribute instance-attribute
issueDate = None

The date that the ticket was issued to the passenger. * minLength: 10 characters * maxLength: 10 characters * Format ISO 8601 ⧉: yyyy-MM-dd

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
number class-attribute instance-attribute
number = None

The ticket's unique identifier. * minLength: 1 character * maxLength: 15 characters * Must not start with a space or be all spaces. * Must not be all zeros.

TokenMandate

Bases: BaseModel

accountIdType class-attribute instance-attribute
accountIdType = None

The type of account identifier for the masked account number.

amount instance-attribute
amount

The billing amount (in minor units) of the recurring transactions.

amountRule class-attribute instance-attribute
amountRule = None

The limitation rule of the billing amount.

Possible values
  • max: The transaction amount can not exceed the amount.

  • exact: The transaction amount should be the same as the amount.

billingAttemptsRule class-attribute instance-attribute
billingAttemptsRule = None

The rule to specify the period, within which the recurring debit can happen, relative to the mandate recurring date.

Possible values:

  • on: On a specific date.

  • before: Before and on a specific date.

  • after: On and after a specific date.

billingDay class-attribute instance-attribute
billingDay = None

The number of the day, on which the recurring debit can happen. Should be within the same calendar month as the mandate recurring date.

Possible values: 1-31 based on the frequency.

count class-attribute instance-attribute
count = None

The number of transactions that can be performed within the given frequency.

currency instance-attribute
currency

The three-character ISO currency code ⧉.

endsAt instance-attribute
endsAt

End date of the billing plan, in YYYY-MM-DD format.

frequency instance-attribute
frequency

The frequency with which a shopper should be charged.

Possible values: adhoc, daily, weekly, biWeekly, monthly, quarterly, halfYearly, yearly.

mandateId instance-attribute
mandateId

The unique identifier of the mandate.

maskedAccountId class-attribute instance-attribute
maskedAccountId = None

The masked account number associated with the mandate.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
providerId instance-attribute
providerId

The provider-specific identifier for this mandate.

remarks class-attribute instance-attribute
remarks = None

Additional remarks or notes about the mandate.

startsAt class-attribute instance-attribute
startsAt = None

Start date of the billing plan, in YYYY-MM-DD format. By default, the transaction date.

status instance-attribute
status

The status of the mandate. Examples : active, revoked, completed, expired

txVariant instance-attribute
txVariant

The transaction variant used for this mandate.

TravelAgency

Bases: BaseModel

code class-attribute instance-attribute
code = None

The unique identifier from IATA or ARC for the travel agency that issues the ticket. * Encoding: ASCII * minLength: 1 character * maxLength: 8 characters * Must not start with a space or be all spaces. * Must not be all zeros.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name class-attribute instance-attribute
name = None

The name of the travel agency.

  • Encoding: ASCII
  • minLength: 1 character
  • maxLength: 25 characters
  • Must not start with a space or be all spaces.
  • Must not be all zeros.

TwintDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

subtype class-attribute instance-attribute
subtype = None

The type of flow to initiate.

type class-attribute instance-attribute
type = None

The payment method type.

UPIPaymentMethod

Bases: ShopperIdPaymentMethod

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type
virtualPaymentAddress class-attribute instance-attribute
virtualPaymentAddress = None

UpdatePaymentLinkRequest

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
status instance-attribute
status

Status of the payment link. Possible values: * expired

UpiCollectDetails

Bases: BaseModel

billingSequenceNumber class-attribute instance-attribute
billingSequenceNumber = None

The sequence number for the debit. For example, send 2 if this is the second debit for the subscription. The sequence number is included in the notification sent to the shopper.

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

shopperNotificationReference class-attribute instance-attribute
shopperNotificationReference = None

The shopperNotificationReference returned in the response when you requested to notify the shopper. Used for recurring payment only.

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type instance-attribute
type

upi_collect

virtualPaymentAddress class-attribute instance-attribute
virtualPaymentAddress = None

The virtual payment address for UPI.

UpiIntentDetails

Bases: BaseModel

appId class-attribute instance-attribute
appId = None

TPAP (Third Party Application) Id that is being used to make the UPI payment

billingSequenceNumber class-attribute instance-attribute
billingSequenceNumber = None

The sequence number for the debit. For example, send 2 if this is the second debit for the subscription. The sequence number is included in the notification sent to the shopper.

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

shopperNotificationReference class-attribute instance-attribute
shopperNotificationReference = None

The shopperNotificationReference returned in the response when you requested to notify the shopper. Used for recurring payment only.

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type instance-attribute
type

upi_intent

UpiQrDetails

Bases: BaseModel

billingSequenceNumber class-attribute instance-attribute
billingSequenceNumber = None

The sequence number for the debit. For example, send 2 if this is the second debit for the subscription. The sequence number is included in the notification sent to the shopper.

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

shopperNotificationReference class-attribute instance-attribute
shopperNotificationReference = None

The shopperNotificationReference returned in the response when you requested to notify the shopper. Used for recurring payment only.

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type instance-attribute
type

upi_qr

UtilityRequest

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
originDomains instance-attribute
originDomains

The list of origin domains, for which origin keys are requested.

UtilityResponse

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
originKeys class-attribute instance-attribute
originKeys = None

The list of origin keys for all requested domains. For each list item, the key is the domain and the value is the origin key.

ValidateShopperIdRequest

Bases: BaseModel

merchantAccount instance-attribute
merchantAccount

The merchant account identifier, with which you want to process the transaction.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
paymentMethod instance-attribute
paymentMethod

paymentMethod

shopperEmail class-attribute instance-attribute
shopperEmail = None
shopperIP class-attribute instance-attribute
shopperIP = None
shopperReference class-attribute instance-attribute
shopperReference = None

ValidateShopperIdResponse

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
reason class-attribute instance-attribute
reason = None

Reason for the result.

result class-attribute instance-attribute
result = None

Result of the validation. Ex: valid, invalid, unknown

VippsDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

telephoneNumber instance-attribute
telephoneNumber
type class-attribute instance-attribute
type = 'vipps'

vipps

VisaCheckoutDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

fundingSource class-attribute instance-attribute
fundingSource = None

The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to debit.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

type class-attribute instance-attribute
type = 'visacheckout'

visacheckout

visaCheckoutCallId instance-attribute
visaCheckoutCallId

The Visa Click to Pay Call ID value. When your shopper selects a payment and/or a shipping address from Visa Click to Pay, you will receive a Visa Click to Pay Call ID.

WeChatPayDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

type class-attribute instance-attribute
type = 'wechatpay'

wechatpay

WeChatPayMiniProgramDetails

Bases: BaseModel

appId class-attribute instance-attribute
appId = None
checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
openid class-attribute instance-attribute
openid = None
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type class-attribute instance-attribute
type = 'wechatpayMiniProgram'

wechatpayMiniProgram

ZipDetails

Bases: BaseModel

checkoutAttemptId class-attribute instance-attribute
checkoutAttemptId = None

The checkout attempt identifier.

clickAndCollect class-attribute instance-attribute
clickAndCollect = None

Set this to true if the shopper would like to pick up and collect their order, instead of having the goods delivered to them.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
recurringDetailReference class-attribute instance-attribute
recurringDetailReference = None

This is the recurringDetailReference returned in the response when you created the token.

sdkData class-attribute instance-attribute
sdkData = None

Base64-encoded JSON object containing SDK related parameters required by the SDK

storedPaymentMethodId class-attribute instance-attribute
storedPaymentMethodId = None

This is the recurringDetailReference returned in the response when you created the token.

type class-attribute instance-attribute
type = 'zip'

zip

legal_entity_service_v3

AULocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The bank account number, without separators or whitespace.

bsbCode instance-attribute
bsbCode

The 6-digit Bank State Branch (BSB) code ⧉, without separators or whitespace.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

auLocal

AcceptTermsOfServiceRequest

Bases: BaseModel

acceptedBy instance-attribute
acceptedBy

The legal entity ID of the user accepting the Terms of Service.

For organizations, this must be the individual legal entity ID of an authorized signatory for the organization.

For sole proprietorships, this must be the individual legal entity ID of the owner.

ipAddress class-attribute instance-attribute
ipAddress = None

The IP address of the user accepting the Terms of Service.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

AcceptTermsOfServiceResponse

Bases: BaseModel

acceptedBy class-attribute instance-attribute
acceptedBy = None

The unique identifier of the user that accepted the Terms of Service.

id class-attribute instance-attribute
id = None

The unique identifier of the Terms of Service acceptance.

ipAddress class-attribute instance-attribute
ipAddress = None

The IP address of the user that accepted the Terms of Service.

language class-attribute instance-attribute
language = None

The language used for the Terms of Service document, specified by the two-letter ISO 639-1 ⧉ language code. Possible value: en for English.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
termsOfServiceDocumentId class-attribute instance-attribute
termsOfServiceDocumentId = None

The unique identifier of the Terms of Service document.

type class-attribute instance-attribute
type = None

The type of Terms of Service.

Possible values: * adyenForPlatformsManage * adyenIssuing * adyenForPlatformsAdvanced * adyenCapital * adyenAccount * adyenCard * adyenFranchisee

AdditionalBankIdentification

Bases: BaseModel

code class-attribute instance-attribute
code = None

The value of the additional bank identification.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type class-attribute instance-attribute
type = None

The type of additional bank identification, depending on the country.

Possible values:

Address

Bases: BaseModel

city class-attribute instance-attribute
city = None

The name of the city. Required if stateOrProvince is provided.

If you specify the city, you must also send postalCode and street.

country instance-attribute
country

The two-letter ISO 3166-1 alpha-2 ⧉ country code.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
postalCode class-attribute instance-attribute
postalCode = None

Postal code. Required if stateOrProvince and/or city is provided.

stateOrProvince class-attribute instance-attribute
stateOrProvince = None

The two-letter ISO 3166-2 state or province code. For example, CA in the US.

If you specify the state or province, you must also send city, postalCode, and street.

street class-attribute instance-attribute
street = None

The name of the street, and the house or building number. Required if stateOrProvince and/or city is provided.

street2 class-attribute instance-attribute
street2 = None

The apartment, unit, or suite number.

Amount

Bases: BaseModel

currency class-attribute instance-attribute
currency = None

The type of currency. Must be EUR (or EUR equivalent)

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
value class-attribute instance-attribute
value = None

Total value of amount. Must be >= 0

Attachment

Bases: BaseModel

content instance-attribute
content

The document in Base64-encoded string format.

contentType class-attribute instance-attribute
contentType = None

The file format.

Possible values: application/pdf, image/jpg, image/jpeg, image/png.

filename class-attribute instance-attribute
filename = None

The name of the file including the file extension.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
pageName class-attribute instance-attribute
pageName = None

The name of the file including the file extension.

pageType class-attribute instance-attribute
pageType = None

Specifies which side of the ID card is uploaded.

  • When type is driversLicense or identityCard, set this to front or back.

  • When omitted, we infer the page number based on the order of attachments.

BankAccountInfo

Bases: BaseModel

accountIdentification class-attribute instance-attribute
accountIdentification = None

Identification of the bank account.

accountType class-attribute instance-attribute
accountType = None

The type of bank account.

bankName class-attribute instance-attribute
bankName = None

The name of the banking institution where the bank account is held.

countryCode class-attribute instance-attribute
countryCode = None

The two-character ISO 3166-1 alpha-2 ⧉ country code where the bank account is registered. For example, NL.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
trustedSource class-attribute instance-attribute
trustedSource = None

Identifies if the bank account was created through instant bank verification ⧉.

BirthData

Bases: BaseModel

dateOfBirth class-attribute instance-attribute
dateOfBirth = None

The individual's date of birth, in YYYY-MM-DD format.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

BusinessLine

Bases: BaseModel

capability class-attribute instance-attribute
capability = None

The capability for which you are creating the business line.

Possible values: receivePayments, receiveFromPlatformPayments, issueBankAccount

id instance-attribute
id

The unique identifier of the business line.

industryCode instance-attribute
industryCode

A code that represents the industry of the legal entity. For example, 4431A for computer software stores.

legalEntityId instance-attribute
legalEntityId

Unique identifier of the legal entity ⧉ that owns the business line.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
problems class-attribute instance-attribute
problems = None

The verification errors related to capabilities for this supporting entity.

salesChannels class-attribute instance-attribute
salesChannels = None

A list of channels where goods or services are sold.

Possible values: pos, posMoto, eCommerce, ecomMoto, payByLink.

Required only in combination with the service paymentProcessing.

service instance-attribute
service

The service for which you are creating the business line.

Possible values: * paymentProcessing * banking

sourceOfFunds class-attribute instance-attribute
sourceOfFunds = None

Contains information about the source of your user's funds. Required only for the service banking.

webData class-attribute instance-attribute
webData = None

List of website URLs where your user's goods or services are sold. When this is required for a service but your user does not have an online presence, provide the reason in the webDataExemption object.

webDataExemption class-attribute instance-attribute
webDataExemption = None

The reason why the web data is not provided.

BusinessLineInfo

Bases: BaseModel

capability class-attribute instance-attribute
capability = None

The capability for which you are creating the business line.

Possible values: receivePayments, receiveFromPlatformPayments, issueBankAccount

industryCode instance-attribute
industryCode

A code that represents the industry of the legal entity. For example, 4431A for computer software stores.

legalEntityId instance-attribute
legalEntityId

Unique identifier of the legal entity ⧉ that owns the business line.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
salesChannels class-attribute instance-attribute
salesChannels = None

A list of channels where goods or services are sold.

Possible values: pos, posMoto, eCommerce, ecomMoto, payByLink.

Required only in combination with the service paymentProcessing.

service instance-attribute
service

The service for which you are creating the business line.

Possible values: * paymentProcessing * banking

sourceOfFunds class-attribute instance-attribute
sourceOfFunds = None

Contains information about the source of your user's funds. Required only for the service banking.

webData class-attribute instance-attribute
webData = None

List of website URLs where your user's goods or services are sold. When this is required for a service but your user does not have an online presence, provide the reason in the webDataExemption object.

webDataExemption class-attribute instance-attribute
webDataExemption = None

The reason why the web data is not provided.

BusinessLineInfoUpdate

Bases: BaseModel

capability class-attribute instance-attribute
capability = None

The capability for which you are creating the business line. For example, receivePayments.

industryCode class-attribute instance-attribute
industryCode = None

A code that represents the industry of your legal entity. For example, 4431A for computer software stores.

legalEntityId class-attribute instance-attribute
legalEntityId = None

Unique identifier of the legal entity ⧉ that owns the business line.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
salesChannels class-attribute instance-attribute
salesChannels = None

A list of channels where goods or services are sold.

Possible values: pos, posMoto, eCommerce, ecomMoto, payByLink.

Required only in combination with the service paymentProcessing.

service class-attribute instance-attribute
service = None

The service for which you are creating the business line.

Possible values: * paymentProcessing * banking

sourceOfFunds class-attribute instance-attribute
sourceOfFunds = None

Contains information about the source of your user's funds. Required only for the service banking.

webData class-attribute instance-attribute
webData = None

List of website URLs where your user's goods or services are sold. When this is required for a service but your user does not have an online presence, provide the reason in the webDataExemption object.

webDataExemption class-attribute instance-attribute
webDataExemption = None

The reason why the web data is not provided.

BusinessLines

Bases: BaseModel

businessLines instance-attribute
businessLines

List of business lines.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

CALocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The 5- to 12-digit bank account number, without separators or whitespace.

accountType class-attribute instance-attribute
accountType = 'checking'

The bank account type.

Possible values: checking or savings. Defaults to checking.

institutionNumber instance-attribute
institutionNumber

The 3-digit institution number, without separators or whitespace.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
transitNumber instance-attribute
transitNumber

The 5-digit transit number, without separators or whitespace.

type instance-attribute
type

caLocal

CZLocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The 2- to 16-digit bank account number (Číslo účtu) in the following format:

  • The optional prefix (předčíslí).

  • The required second part (základní část) which must be at least two non-zero digits.

Examples:

  • 19-123457 (with prefix)

  • 123457 (without prefix)

  • 000019-0000123457 (with prefix, normalized)

  • 000000-0000123457 (without prefix, normalized)

bankCode instance-attribute
bankCode

The 4-digit bank code (Kód banky), without separators or whitespace.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

czLocal

CalculateTermsOfServiceStatusResponse

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
termsOfServiceTypes class-attribute instance-attribute
termsOfServiceTypes = None

The type of Terms of Service that the legal entity needs to accept. If empty, no Terms of Service needs to be accepted.

CapabilityProblem

Bases: BaseModel

entity class-attribute instance-attribute
entity = None
model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
verificationErrors class-attribute instance-attribute
verificationErrors = None

CapabilityProblemEntity

Bases: BaseModel

documents class-attribute instance-attribute
documents = None

List of document IDs corresponding to the verification errors from capabilities.

id class-attribute instance-attribute
id = None
model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
owner class-attribute instance-attribute
owner = None
type class-attribute instance-attribute
type = None

CapabilityProblemEntityRecursive

Bases: BaseModel

documents class-attribute instance-attribute
documents = None

List of document IDs corresponding to the verification errors from capabilities.

id class-attribute instance-attribute
id = None
model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type class-attribute instance-attribute
type = None

CapabilitySettings

Bases: BaseModel

amountPerIndustry class-attribute instance-attribute
amountPerIndustry = None

The maximum amount a card holder can spend per industry.

authorizedCardUsers class-attribute instance-attribute
authorizedCardUsers = None

The number of card holders who can use the card.

fundingSource class-attribute instance-attribute
fundingSource = None

The funding source of the card, for example debit.

interval class-attribute instance-attribute
interval = None

The period when the rule conditions apply.

maxAmount class-attribute instance-attribute
maxAmount = None

The maximum amount a card holder can withdraw per day.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

DKLocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The 4-10 digits bank account number (Kontonummer) (without separators or whitespace).

bankCode instance-attribute
bankCode

The 4-digit bank code (Registreringsnummer) (without separators or whitespace).

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

dkLocal

DataReviewConfirmationResponse

Bases: BaseModel

dataReviewedAt class-attribute instance-attribute
dataReviewedAt = None

Date when data review was confirmed.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

Document

Bases: BaseModel

attachment class-attribute instance-attribute
attachment = None

Object that contains the document.

attachments class-attribute instance-attribute
attachments = None

Array that contains the document. The array supports multiple attachments for uploading different sides or pages of a document.

creationDate class-attribute instance-attribute
creationDate = None

The creation date of the document.

description instance-attribute
description

Your description for the document.

expiryDate class-attribute instance-attribute
expiryDate = None

The expiry date of the document, in YYYY-MM-DD format.

fileName class-attribute instance-attribute
fileName = None

The filename of the document.

id class-attribute instance-attribute
id = None

The unique identifier of the document.

issuerCountry class-attribute instance-attribute
issuerCountry = None

The two-character ISO 3166-1 alpha-2 ⧉ country code where the document was issued. For example, US.

issuerState class-attribute instance-attribute
issuerState = None

The state or province where the document was issued (AU only).

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
modificationDate class-attribute instance-attribute
modificationDate = None

The modification date of the document.

number class-attribute instance-attribute
number = None

The number in the document.

owner class-attribute instance-attribute
owner = None

Contains information about the resource that owns the document.

type instance-attribute
type

Type of document, used when providing an ID number or uploading a document. The possible values depend on the legal entity type.

  • For organization, the type values can be proofOfAddress, registrationDocument, vatDocument, proofOfOrganizationTaxInfo, proofOfOwnership, proofOfIndustry, or proofOfFundingOrWealthSource.

  • For individual, the type values can be identityCard, driversLicense, passport, proofOfNationalIdNumber, proofOfResidency, proofOfIndustry, proofOfIndividualTaxId, or proofOfFundingOrWealthSource.

  • For soleProprietorship, the type values can be constitutionalDocument, proofOfAddress, or proofOfIndustry.

  • Use bankStatement to upload documents for a transfer instrument ⧉.

DocumentPage

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
pageName class-attribute instance-attribute
pageName = None
pageNumber class-attribute instance-attribute
pageNumber = None
type class-attribute instance-attribute
type = None

DocumentReference

Bases: BaseModel

active class-attribute instance-attribute
active = None

Identifies whether the document is active and used for checks.

description class-attribute instance-attribute
description = None

Your description for the document.

fileName class-attribute instance-attribute
fileName = None

Document name.

id class-attribute instance-attribute
id = None

The unique identifier of the resource.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
modificationDate class-attribute instance-attribute
modificationDate = None

The modification date of the document.

pages class-attribute instance-attribute
pages = None

List of document pages

type class-attribute instance-attribute
type = None

Type of document, used when providing an ID number or uploading a document.

EntityReference

Bases: BaseModel

id class-attribute instance-attribute
id = None

The unique identifier of the resource.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

GeneratePciDescriptionRequest

Bases: BaseModel

additionalSalesChannels class-attribute instance-attribute
additionalSalesChannels = None

An array of additional sales channels to generate PCI questionnaires. Include the relevant sales channels if you need your user to sign PCI questionnaires. Not required if you create stores ⧉ and add payment methods ⧉ before you generate the questionnaires.

Possible values: * eCommerce * pos * ecomMoto * posMoto

language class-attribute instance-attribute
language = None

Sets the language of the PCI questionnaire. Its value is a two-character ISO 639-1 ⧉ language code, for example, en.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

GeneratePciDescriptionResponse

Bases: BaseModel

content class-attribute instance-attribute
content = None

The generated questionnaires in a base64 encoded format.

language class-attribute instance-attribute
language = None

The two-letter ISO-639-1 ⧉ language code for the questionnaire. For example, en.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
pciTemplateReferences class-attribute instance-attribute
pciTemplateReferences = None

The array of Adyen-generated unique identifiers for the questionnaires.

GetPciQuestionnaireInfosResponse

Bases: BaseModel

data class-attribute instance-attribute
data = None

Information about the signed PCI questionnaires.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

GetPciQuestionnaireResponse

Bases: BaseModel

content class-attribute instance-attribute
content = None

The generated questionnaire in a base64 encoded format.

createdAt class-attribute instance-attribute
createdAt = None

The date the questionnaire was created, in ISO 8601 extended format. For example, 2022-12-18T10:15:30+01:00

id class-attribute instance-attribute
id = None

The unique identifier of the signed questionnaire.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
validUntil class-attribute instance-attribute
validUntil = None

The expiration date of the questionnaire, in ISO 8601 extended format. For example, 2022-12-18T10:15:30+01:00

GetTermsOfServiceAcceptanceInfosResponse

Bases: BaseModel

data class-attribute instance-attribute
data = None

The Terms of Service acceptance information.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

GetTermsOfServiceDocumentRequest

Bases: BaseModel

language instance-attribute
language

The language to be used for the Terms of Service document, specified by the two-letter ISO 639-1 ⧉ language code. Possible value: en for English.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

The type of Terms of Service.

Possible values: * adyenForPlatformsManage * adyenIssuing * adyenForPlatformsAdvanced * adyenCapital * adyenAccount * adyenCard * adyenFranchisee

GetTermsOfServiceDocumentResponse

Bases: BaseModel

document class-attribute instance-attribute
document = None

The Terms of Service document in Base64-encoded format.

id class-attribute instance-attribute
id = None

The unique identifier of the legal entity.

language class-attribute instance-attribute
language = None

The language used for the Terms of Service document, specified by the two-letter ISO 639-1 ⧉ language code. Possible value: en for English.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
termsOfServiceDocumentId class-attribute instance-attribute
termsOfServiceDocumentId = None

The unique identifier of the Terms of Service document.

type class-attribute instance-attribute
type = None

The type of Terms of Service.

Possible values: * adyenForPlatformsManage * adyenIssuing * adyenForPlatformsAdvanced * adyenCapital * adyenAccount * adyenCard * adyenFranchisee

HKLocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The 9- to 15-character bank account number (alphanumeric), without separators or whitespace. Starts with the 3-digit branch code.

clearingCode instance-attribute
clearingCode

The 3-digit clearing code, without separators or whitespace.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

hkLocal

HULocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The 24-digit bank account number, without separators or whitespace.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

huLocal

IbanAccountIdentification

Bases: BaseModel

iban instance-attribute
iban

The international bank account number as defined in the ISO-13616 ⧉ standard.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

iban

IdentificationData

Bases: BaseModel

cardNumber class-attribute instance-attribute
cardNumber = None

The card number of the document that was issued (AU only).

expiryDate class-attribute instance-attribute
expiryDate = None

The expiry date of the document, in YYYY-MM-DD format.

issuerCountry class-attribute instance-attribute
issuerCountry = None

The two-character ISO 3166-1 alpha-2 ⧉ country code where the document was issued. For example, US.

issuerState class-attribute instance-attribute
issuerState = None

The state or province where the document was issued (AU only).

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
nationalIdExempt class-attribute instance-attribute
nationalIdExempt = None

Applies only to individuals in the US. Set to true if the individual does not have an SSN. To verify their identity, Adyen will require them to upload an ID document.

number class-attribute instance-attribute
number = None

The number in the document.

type instance-attribute
type

Type of identity data. For individual, the type value is nationalIdNumber.

Individual

Bases: BaseModel

birthData class-attribute instance-attribute
birthData = None

The individual's birth information.

email class-attribute instance-attribute
email = None

The email address of the legal entity.

identificationData class-attribute instance-attribute
identificationData = None

Information about the individual's identification document.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name instance-attribute
name

The individual's name.

nationality class-attribute instance-attribute
nationality = None

The individual's nationality.

phone class-attribute instance-attribute
phone = None

The phone number of the legal entity.

residentialAddress instance-attribute
residentialAddress

The residential address of the individual.

taxInformation class-attribute instance-attribute
taxInformation = None

The tax information of the individual.

webData class-attribute instance-attribute
webData = None

The website and app URL of the legal entity.

LegalEntity

Bases: BaseModel

capabilities class-attribute instance-attribute
capabilities = None

Contains key-value pairs that specify the actions that the legal entity can do in your platform.The key is a capability required for your integration. For example, issueCard for Issuing.The value is an object containing the settings for the capability.

documentDetails class-attribute instance-attribute
documentDetails = None

List of documents uploaded for the legal entity.

documents class-attribute instance-attribute
documents = None

List of documents uploaded for the legal entity.

entityAssociations class-attribute instance-attribute
entityAssociations = None

List of legal entities associated with the current legal entity. For example, ultimate beneficial owners associated with an organization through ownership or control, or as signatories.

id instance-attribute
id

The unique identifier of the legal entity.

individual class-attribute instance-attribute
individual = None

Information about the individual. Required if type is individual.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
organization class-attribute instance-attribute
organization = None

Information about the organization. Required if type is organization.

problems class-attribute instance-attribute
problems = None

List of verification errors related to capabilities for the legal entity.

reference class-attribute instance-attribute
reference = None

Your reference for the legal entity, maximum 150 characters.

soleProprietorship class-attribute instance-attribute
soleProprietorship = None

Information about the sole proprietorship. Required if type is soleProprietorship.

transferInstruments class-attribute instance-attribute
transferInstruments = None

List of transfer instruments that the legal entity owns.

trust class-attribute instance-attribute
trust = None

Information about the trust. Required if type is trust.

type class-attribute instance-attribute
type = None

The type of legal entity.

Possible values: individual, organization, soleProprietorship, or trust.

unincorporatedPartnership class-attribute instance-attribute
unincorporatedPartnership = None

Information about the unincorporated partnership. Required if type is unincorporatedPartnership.

verificationDeadlines class-attribute instance-attribute
verificationDeadlines = None

List of verification deadlines and the capabilities that will be disallowed if verification errors are not resolved.

verificationPlan class-attribute instance-attribute
verificationPlan = None

A key-value pair that specifies the verification process ⧉ for a legal entity. Set to upfront for upfront verification ⧉.

LegalEntityAssociation

Bases: BaseModel

associatorId class-attribute instance-attribute
associatorId = None

The unique identifier of another legal entity with which the legalEntityId is associated. When the legalEntityId is associated to legal entities other than the current one, the response returns all the associations.

entityType class-attribute instance-attribute
entityType = None

The legal entity type of associated legal entity.

For example, organization, soleProprietorship or individual.

jobTitle class-attribute instance-attribute
jobTitle = None

The individual's job title if the type is uboThroughControl or signatory.

legalEntityId instance-attribute
legalEntityId

The unique identifier of the associated legal entity ⧉.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name class-attribute instance-attribute
name = None

The name of the associated legal entity ⧉.

  • For individual, name.firstName and name.lastName.
  • For organization, legalName.
  • For soleProprietorship, name.
settlorExemptionReason class-attribute instance-attribute
settlorExemptionReason = None

Defines the Kyc Exemption Reason for a Settlor associated with a trust.

For example, professionalServiceProvider, deceased, or contributionBelowThreshold.

type instance-attribute
type

Defines the relationship of the legal entity to the current legal entity.

Possible values for organizations: uboThroughOwnership, uboThroughControl, director, signatory, or ultimateParentCompany.

Possible values for sole proprietorships: soleProprietorship.

Possible value for trusts: trust

Possible values for trust members: definedBeneficiary, protector, secondaryTrustee, settlor, uboThroughControl, or uboThroughOwnership.

LegalEntityCapability

Bases: BaseModel

allowed class-attribute instance-attribute
allowed = None

Indicates whether the capability is allowed. Adyen sets this to true if the verification is successful.

allowedLevel class-attribute instance-attribute
allowedLevel = None

The capability level that is allowed for the legal entity.

Possible values: notApplicable, low, medium, high.

allowedSettings class-attribute instance-attribute
allowedSettings = None

The settings that are allowed for the legal entity.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
requested class-attribute instance-attribute
requested = None

Indicates whether the capability is requested. To check whether the legal entity is permitted to use the capability, refer to the allowed field.

requestedLevel class-attribute instance-attribute
requestedLevel = None

The requested level of the capability. Some capabilities, such as those used in card issuing ⧉, have different levels. Levels increase the capability, but also require additional checks and increased monitoring.

Possible values: notApplicable, low, medium, high.

requestedSettings class-attribute instance-attribute
requestedSettings = None

The settings that are requested for the legal entity.

transferInstruments class-attribute instance-attribute
transferInstruments = None

The capability status of transfer instruments associated with the legal entity.

verificationStatus class-attribute instance-attribute
verificationStatus = None

The status of the verification checks for the capability.

Possible values:

  • pending: Adyen is running the verification.

  • invalid: The verification failed. Check if the errors array contains more information.

  • valid: The verification has been successfully completed.

  • rejected: Adyen has verified the information, but found reasons to not allow the capability.

LegalEntityInfo

Bases: BaseModel

capabilities class-attribute instance-attribute
capabilities = None

Contains key-value pairs that specify the actions that the legal entity can do in your platform.The key is a capability required for your integration. For example, issueCard for Issuing.The value is an object containing the settings for the capability.

entityAssociations class-attribute instance-attribute
entityAssociations = None

List of legal entities associated with the current legal entity. For example, ultimate beneficial owners associated with an organization through ownership or control, or as signatories.

individual class-attribute instance-attribute
individual = None

Information about the individual. Required if type is individual.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
organization class-attribute instance-attribute
organization = None

Information about the organization. Required if type is organization.

reference class-attribute instance-attribute
reference = None

Your reference for the legal entity, maximum 150 characters.

soleProprietorship class-attribute instance-attribute
soleProprietorship = None

Information about the sole proprietorship. Required if type is soleProprietorship.

trust class-attribute instance-attribute
trust = None

Information about the trust. Required if type is trust.

type class-attribute instance-attribute
type = None

The type of legal entity.

Possible values: individual, organization, soleProprietorship, or trust.

unincorporatedPartnership class-attribute instance-attribute
unincorporatedPartnership = None

Information about the unincorporated partnership. Required if type is unincorporatedPartnership.

verificationPlan class-attribute instance-attribute
verificationPlan = None

A key-value pair that specifies the verification process ⧉ for a legal entity. Set to upfront for upfront verification ⧉.

LegalEntityInfoRequiredType

Bases: BaseModel

capabilities class-attribute instance-attribute
capabilities = None

Contains key-value pairs that specify the actions that the legal entity can do in your platform.The key is a capability required for your integration. For example, issueCard for Issuing.The value is an object containing the settings for the capability.

entityAssociations class-attribute instance-attribute
entityAssociations = None

List of legal entities associated with the current legal entity. For example, ultimate beneficial owners associated with an organization through ownership or control, or as signatories.

individual class-attribute instance-attribute
individual = None

Information about the individual. Required if type is individual.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
organization class-attribute instance-attribute
organization = None

Information about the organization. Required if type is organization.

reference class-attribute instance-attribute
reference = None

Your reference for the legal entity, maximum 150 characters.

soleProprietorship class-attribute instance-attribute
soleProprietorship = None

Information about the sole proprietorship. Required if type is soleProprietorship.

trust class-attribute instance-attribute
trust = None

Information about the trust. Required if type is trust.

type instance-attribute
type

The type of legal entity.

Possible values: individual, organization, soleProprietorship, or trust.

unincorporatedPartnership class-attribute instance-attribute
unincorporatedPartnership = None

Information about the unincorporated partnership. Required if type is unincorporatedPartnership.

verificationPlan class-attribute instance-attribute
verificationPlan = None

A key-value pair that specifies the verification process ⧉ for a legal entity. Set to upfront for upfront verification ⧉.

NOLocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The 11-digit bank account number, without separators or whitespace.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

noLocal

NZLocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The 15-16 digit bank account number. The first 2 digits are the bank number, the next 4 digits are the branch number, the next 7 digits are the account number, and the final 2-3 digits are the suffix.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

nzLocal

Name

Bases: BaseModel

firstName instance-attribute
firstName

The individual's first name.

infix class-attribute instance-attribute
infix = None

The infix in the individual's name, if any.

lastName instance-attribute
lastName

The individual's last name.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

NumberAndBicAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The bank account number, without separators or whitespace. The length and format depends on the bank or country.

additionalBankIdentification class-attribute instance-attribute
additionalBankIdentification = None

Additional identification codes of the bank. Some banks may require these identifiers for cross-border transfers.

bic instance-attribute
bic

The bank's 8- or 11-character BIC or SWIFT code.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

numberAndBic

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
url class-attribute instance-attribute
url = None

The URL of the hosted onboarding page where you need to redirect your user. This URL expires after 4 minutes and can only be used once.

If the link expires, you need to create a new link.

OnboardingLinkInfo

Bases: BaseModel

locale class-attribute instance-attribute
locale = None

The language that will be used for the page, specified by a combination of two letter ISO 639-1 ⧉ language and ISO 3166-1 alpha-2 ⧉ country codes. See possible values ⧉.

If not specified in the request or if the language is not supported, the page uses the browser language. If the browser language is not supported, the page uses en-US by default.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
redirectUrl class-attribute instance-attribute
redirectUrl = None

The URL where the user is redirected after they complete hosted onboarding.

settings class-attribute instance-attribute
settings = None

Boolean key-value pairs indicating the settings for the hosted onboarding page. The keys are the settings.

Possible keys:

By default, these values are set to true. Set to false to not allow the action.

  • changeLegalEntityType: The user can change their legal entity type.

  • editPrefilledCountry: The user can change the country of their legal entity's address, for example the registered address of an organization.

By default, these values are set to false. Set to true to allow the action.

  • allowBankAccountFormatSelection: The user can select the format for their payout account if applicable.

  • allowIntraRegionCrossBorderPayout: The user can select a payout account in a different EU/EEA country than the country of their legal entity.

By default, these value are set to false. Set the following values to true to require the user to sign PCI questionnaires based on their sales channels. The user must sign PCI questionnaires for all relevant sales channels.

  • requirePciSignEcommerce

  • requirePciSignPos

  • requirePciSignEcomMoto

  • requirePciSignPosMoto

themeId class-attribute instance-attribute
themeId = None

The unique identifier of the hosted onboarding theme.

OnboardingTheme

Bases: BaseModel

createdAt instance-attribute
createdAt

The creation date of the theme.

description class-attribute instance-attribute
description = None

The description of the theme.

id instance-attribute
id

The unique identifier of the theme.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
properties instance-attribute
properties

The properties of the theme.

updatedAt class-attribute instance-attribute
updatedAt = None

The date when the theme was last updated.

OnboardingThemes

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
next class-attribute instance-attribute
next = None

The next page. Only present if there is a next page.

previous class-attribute instance-attribute
previous = None

The previous page. Only present if there is a previous page.

themes instance-attribute
themes

List of onboarding themes.

Organization

Bases: BaseModel

dateOfIncorporation class-attribute instance-attribute
dateOfIncorporation = None

The date when the organization was incorporated in YYYY-MM-DD format.

description class-attribute instance-attribute
description = None

Your description for the organization.

doingBusinessAs class-attribute instance-attribute
doingBusinessAs = None

The organization's trading name, if different from the registered legal name.

email class-attribute instance-attribute
email = None

The email address of the legal entity.

legalName instance-attribute
legalName

The organization's legal name.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
phone class-attribute instance-attribute
phone = None

The phone number of the legal entity.

principalPlaceOfBusiness class-attribute instance-attribute
principalPlaceOfBusiness = None

The address where the organization operates from. Provide this if the principal place of business is different from the registeredAddress.

registeredAddress instance-attribute
registeredAddress

The address of the organization registered at their registrar (such as the Chamber of Commerce).

registrationNumber class-attribute instance-attribute
registrationNumber = None

The organization's registration number.

stockData class-attribute instance-attribute
stockData = None

Information about the organization's publicly traded stock. Provide this object only if type is listedPublicCompany.

taxInformation class-attribute instance-attribute
taxInformation = None

The tax information of the organization.

taxReportingClassification class-attribute instance-attribute
taxReportingClassification = None

The tax reporting classification (FATCA/CRS self-certification) of the organization.

type class-attribute instance-attribute
type = None

Type of organization.

Possible values: associationIncorporated, governmentalOrganization, listedPublicCompany, nonProfit, partnershipIncorporated, privateCompany.

vatAbsenceReason class-attribute instance-attribute
vatAbsenceReason = None

The reason the organization has not provided a VAT number.

Possible values: industryExemption, belowTaxThreshold.

vatNumber class-attribute instance-attribute
vatNumber = None

The organization's VAT number.

webData class-attribute instance-attribute
webData = None

The website and app URL of the legal entity.

OwnerEntity

Bases: BaseModel

id instance-attribute
id

Unique identifier of the resource that owns the document. For type legalEntity, this value is the unique identifier of the legal entity ⧉. For type bankAccount, this value is the unique identifier of the transfer instrument ⧉.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

Type of resource that owns the document.

Possible values: legalEntity, bankAccount.

PLLocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The 26-digit bank account number (Numer rachunku ⧉), without separators or whitespace.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

plLocal

PciDocumentInfo

Bases: BaseModel

createdAt class-attribute instance-attribute
createdAt = None

The date the questionnaire was created, in ISO 8601 extended format. For example, 2022-12-18T10:15:30+01:00

id class-attribute instance-attribute
id = None

The unique identifier of the signed questionnaire.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
validUntil class-attribute instance-attribute
validUntil = None

The expiration date of the questionnaire, in ISO 8601 extended format. For example, 2022-12-18T10:15:30+01:00

PciSigningRequest

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
pciTemplateReferences instance-attribute
pciTemplateReferences

The array of Adyen-generated unique identifiers for the questionnaires.

signedBy instance-attribute
signedBy

The legal entity ID ⧉ of the individual who signs the PCI questionnaire.

PciSigningResponse

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
pciQuestionnaireIds class-attribute instance-attribute
pciQuestionnaireIds = None

The unique identifiers of the signed PCI documents.

signedBy class-attribute instance-attribute
signedBy = None

The legal entity ID ⧉ of the individual who signed the PCI questionnaire.

PhoneNumber

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
number instance-attribute
number

The full phone number, including the country code. For example, +3112345678.

type class-attribute instance-attribute
type = None

The type of phone number. Possible values: mobile, landline, sip, fax.

RemediatingAction

Bases: BaseModel

code class-attribute instance-attribute
code = None
message class-attribute instance-attribute
message = None
model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

SELocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The 7- to 10-digit bank account number (Bankkontonummer ⧉), without the clearing number, separators, or whitespace.

clearingNumber instance-attribute
clearingNumber

The 4- to 5-digit clearing number (Clearingnummer ⧉), without separators or whitespace.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

seLocal

SGLocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The 4- to 19-digit bank account number, without separators or whitespace.

bic instance-attribute
bic

The bank's 8- or 11-character BIC or SWIFT code.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type class-attribute instance-attribute
type = 'sgLocal'

sgLocal

ServiceError

Bases: BaseModel

errorCode class-attribute instance-attribute
errorCode = None

The error code mapped to the error message.

errorType class-attribute instance-attribute
errorType = None

The category of the error.

message class-attribute instance-attribute
message = None

A short explanation of the issue.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
pspReference class-attribute instance-attribute
pspReference = None

The PSP reference of the payment.

status class-attribute instance-attribute
status = None

The HTTP response status.

SoleProprietorship

Bases: BaseModel

countryOfGoverningLaw instance-attribute
countryOfGoverningLaw

The two-character ISO 3166-1 alpha-2 ⧉ country code of the governing country.

dateOfIncorporation class-attribute instance-attribute
dateOfIncorporation = None

The date when the legal arrangement was incorporated in YYYY-MM-DD format.

description class-attribute instance-attribute
description = None

Short description about the Legal Arrangement.

doingBusinessAs class-attribute instance-attribute
doingBusinessAs = None

The registered name, if different from the name.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name instance-attribute
name

The legal name.

principalPlaceOfBusiness class-attribute instance-attribute
principalPlaceOfBusiness = None

The business address. Required if the principal place of business is different from the registeredAddress.

registeredAddress instance-attribute
registeredAddress

The address registered at the registrar, such as the Chamber of Commerce.

registrationNumber class-attribute instance-attribute
registrationNumber = None

The registration number.

taxInformation class-attribute instance-attribute
taxInformation = None

The tax information of the entity.

vatAbsenceReason class-attribute instance-attribute
vatAbsenceReason = None

The reason for not providing a VAT number.

Possible values: industryExemption, belowTaxThreshold.

vatNumber class-attribute instance-attribute
vatNumber = None

The VAT number.

SourceOfFunds

Bases: BaseModel

acquiringBusinessLineId class-attribute instance-attribute
acquiringBusinessLineId = None

The unique identifier of the business line that will be the source of funds.This must be a business line for a receivePayments or receiveFromPlatformPayments capability.

adyenProcessedFunds class-attribute instance-attribute
adyenProcessedFunds = None

Indicates whether the funds are coming from transactions processed by Adyen. If false, a description is required.

description class-attribute instance-attribute
description = None

Text describing the source of funds. For example, for type business, provide a description of where the business transactions come from, such as payments through bank transfer. Required when adyenProcessedFunds is false.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type class-attribute instance-attribute
type = None

The type of the source of funds. Possible value: business.

StockData

Bases: BaseModel

marketIdentifier class-attribute instance-attribute
marketIdentifier = None

The four-digit Market Identifier Code ⧉ of the stock market where the organization's stocks are traded.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
stockNumber class-attribute instance-attribute
stockNumber = None

The 12-digit International Securities Identification Number (ISIN) of the company, without dashes (-).

tickerSymbol class-attribute instance-attribute
tickerSymbol = None

The stock ticker symbol.

SupportingEntityCapability

Bases: BaseModel

allowed class-attribute instance-attribute
allowed = None

Indicates whether the capability is allowed for the supporting entity.

If a capability is allowed for a supporting entity but not for the parent legal entity, this means the legal entity has other supporting entities that failed verification.

You can use the allowed supporting entity regardless of the verification status of other supporting entities.

id class-attribute instance-attribute
id = None

Supporting entity reference

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
requested class-attribute instance-attribute
requested = None

Indicates whether the supporting entity capability is requested.

verificationStatus class-attribute instance-attribute
verificationStatus = None

The status of the verification checks for the capability of the supporting entity.

Possible values:

  • pending: Adyen is running the verification.

  • invalid: The verification failed. Check if the errors array contains more information.

  • valid: The verification has been successfully completed.

  • rejected: Adyen has verified the information, but found reasons to not allow the capability.

TaxInformation

Bases: BaseModel

country class-attribute instance-attribute
country = None

The two-letter ISO 3166-1 alpha-2 ⧉ country code.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
number class-attribute instance-attribute
number = None

The tax ID number (TIN) of the organization or individual.

type class-attribute instance-attribute
type = None

The TIN type depending on the country where it was issued. Provide only for countries that have multiple tax IDs, such as Sweden, the UK, or the US. For example, provide SSN, EIN, or ITIN for the US.

TaxReportingClassification

Bases: BaseModel

businessType class-attribute instance-attribute
businessType = None

The organization's business type.

Possible values: other, listedPublicCompany, subsidiaryOfListedPublicCompany, governmentalOrganization, internationalOrganization, financialInstitution.

financialInstitutionNumber class-attribute instance-attribute
financialInstitutionNumber = None

The Global Intermediary Identification Number (GIIN) required for FATCA. Only required if the organization is a US financial institution and the businessType is financialInstitution.

mainSourceOfIncome class-attribute instance-attribute
mainSourceOfIncome = None

The organization's main source of income.

Possible values: businessOperation, realEstateSales, investmentInterestOrRoyalty, propertyRental, other.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type class-attribute instance-attribute
type = None

The tax reporting classification type.

Possible values: nonFinancialNonReportable, financialNonReportable, nonFinancialActive, nonFinancialPassive.

TermsOfServiceAcceptanceInfo

Bases: BaseModel

acceptedBy class-attribute instance-attribute
acceptedBy = None

The unique identifier of the user that accepted the Terms of Service.

acceptedFor class-attribute instance-attribute
acceptedFor = None

The unique identifier of the legal entity for which the Terms of Service are accepted.

createdAt class-attribute instance-attribute
createdAt = None

The date when the Terms of Service were accepted.

id class-attribute instance-attribute
id = None

An Adyen-generated reference for the accepted Terms of Service.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type class-attribute instance-attribute
type = None

The type of Terms of Service.

Possible values: * adyenForPlatformsManage * adyenIssuing * adyenForPlatformsAdvanced * adyenCapital * adyenAccount * adyenCard * adyenFranchisee

TransferInstrument

Bases: BaseModel

bankAccount instance-attribute
bankAccount

Contains information about the legal entity's bank account.

capabilities class-attribute instance-attribute
capabilities = None

List of capabilities for this transfer instrument.

documentDetails class-attribute instance-attribute
documentDetails = None

List of documents uploaded for the transfer instrument.

id instance-attribute
id

The unique identifier of the transfer instrument.

legalEntityId instance-attribute
legalEntityId

The unique identifier of the legal entity ⧉ that owns the transfer instrument.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
problems class-attribute instance-attribute
problems = None

The verification errors related to capabilities for this transfer instrument.

type instance-attribute
type

The type of transfer instrument.

Possible value: bankAccount.

TransferInstrumentInfo

Bases: BaseModel

bankAccount instance-attribute
bankAccount

Contains information about the legal entity's bank account.

legalEntityId instance-attribute
legalEntityId

The unique identifier of the legal entity ⧉ that owns the transfer instrument.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
type instance-attribute
type

The type of transfer instrument.

Possible value: bankAccount.

TransferInstrumentReference

Bases: BaseModel

accountIdentifier instance-attribute
accountIdentifier

The masked IBAN or bank account number.

id instance-attribute
id

The unique identifier of the resource.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
realLastFour class-attribute instance-attribute
realLastFour = None

Four last digits of the bank account number. If the transfer instrument is created using instant bank account verification ⧉, and it is a virtual bank account, these digits may be different from the last four digits of the masked account number.

trustedSource class-attribute instance-attribute
trustedSource = None

Identifies if the bank account was created through instant bank verification ⧉.

Trust

Bases: BaseModel

countryOfGoverningLaw instance-attribute
countryOfGoverningLaw

The two-character ISO 3166-1 alpha-2 ⧉ country code of the governing country.

dateOfIncorporation class-attribute instance-attribute
dateOfIncorporation = None

The date when the legal arrangement was incorporated in YYYY-MM-DD format.

description class-attribute instance-attribute
description = None

Short description about the trust.

doingBusinessAs class-attribute instance-attribute
doingBusinessAs = None

The registered name, if different from the name.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name instance-attribute
name

The legal name.

principalPlaceOfBusiness class-attribute instance-attribute
principalPlaceOfBusiness = None

The business address. Required if the principal place of business is different from the registeredAddress.

registeredAddress instance-attribute
registeredAddress

The address registered at the registrar, such as the Chamber of Commerce.

registrationNumber class-attribute instance-attribute
registrationNumber = None

The registration number.

taxInformation class-attribute instance-attribute
taxInformation = None

The tax information of the entity.

type instance-attribute
type

Type of trust.

Possible values for Australian trusts: cashManagementTrust, corporateUnitTrust, deceasedEstate, discretionaryInvestmentTrust, discretionaryServicesManagementTrust, discretionaryTradingTrust, firstHomeSaverAccountsTrust, fixedTrust, fixedUnitTrust, hybridTrust, listedPublicUnitTrust, otherTrust, pooledSuperannuationTrust, publicTradingTrust, unlistedPublicUnitTrust.

undefinedBeneficiaryInfo class-attribute instance-attribute
undefinedBeneficiaryInfo = None

The undefined beneficiary information of the entity.

vatAbsenceReason class-attribute instance-attribute
vatAbsenceReason = None

The reason for not providing a VAT number.

Possible values: industryExemption, belowTaxThreshold.

vatNumber class-attribute instance-attribute
vatNumber = None

The VAT number.

UKLocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The 8-digit bank account number, without separators or whitespace.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
sortCode instance-attribute
sortCode

The 6-digit sort code ⧉, without separators or whitespace.

type instance-attribute
type

ukLocal

USLocalAccountIdentification

Bases: BaseModel

accountNumber instance-attribute
accountNumber

The bank account number, without separators or whitespace.

accountType class-attribute instance-attribute
accountType = 'checking'

The bank account type.

Possible values: checking or savings. Defaults to checking.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
routingNumber instance-attribute
routingNumber

The 9-digit routing number ⧉, without separators or whitespace.

type instance-attribute
type

usLocal

UndefinedBeneficiary

Bases: BaseModel

description class-attribute instance-attribute
description = None

The details of the undefined beneficiary.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
reference class-attribute instance-attribute
reference = None

The reference of the undefined beneficiary.

UnincorporatedPartnership

Bases: BaseModel

countryOfGoverningLaw instance-attribute
countryOfGoverningLaw

The two-character ISO 3166-1 alpha-2 ⧉ country code of the governing country.

dateOfIncorporation class-attribute instance-attribute
dateOfIncorporation = None

The date when the legal arrangement was incorporated in YYYY-MM-DD format.

description class-attribute instance-attribute
description = None

Short description about the Legal Arrangement.

doingBusinessAs class-attribute instance-attribute
doingBusinessAs = None

The registered name, if different from the name.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
name instance-attribute
name

The legal name.

principalPlaceOfBusiness class-attribute instance-attribute
principalPlaceOfBusiness = None

The business address. Required if the principal place of business is different from the registeredAddress.

registeredAddress instance-attribute
registeredAddress

The address registered at the registrar, such as the Chamber of Commerce.

registrationNumber class-attribute instance-attribute
registrationNumber = None

The registration number.

taxInformation class-attribute instance-attribute
taxInformation = None

The tax information of the entity.

type instance-attribute
type

Type of Partnership. Possible values:

limitedPartnership, generalPartnership, familyPartnership, commercialPartnership, publicPartnership, otherPartnership, gbr, kgaa, cv, vof, maatschap, privateFundLimitedPartnership, businessTrustEntity, or businessPartnership.

vatAbsenceReason class-attribute instance-attribute
vatAbsenceReason = None

The reason for not providing a VAT number.

Possible values: industryExemption, belowTaxThreshold.

vatNumber class-attribute instance-attribute
vatNumber = None

The VAT number.

VerificationDeadline

Bases: BaseModel

capabilities instance-attribute
capabilities

The list of capabilities that will be disallowed if information is not reviewed by the time of the deadline

entityIds class-attribute instance-attribute
entityIds = None

The unique identifiers of the bank account(s) that the deadline applies to

expiresAt instance-attribute
expiresAt

The date that verification is due by before capabilities are disallowed.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')

VerificationError

Bases: BaseModel

capabilities class-attribute instance-attribute
capabilities = None

Contains key-value pairs that specify the actions that the legal entity can do in your platform. The key is a capability required for your integration. For example, issueCard for Issuing.The value is an object containing the settings for the capability.

code class-attribute instance-attribute
code = None

The general error code.

message class-attribute instance-attribute
message = None

The general error message.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
remediatingActions class-attribute instance-attribute
remediatingActions = None

An object containing possible solutions to fix a verification error.

subErrors class-attribute instance-attribute
subErrors = None

An array containing more granular information about the cause of the verification error.

type class-attribute instance-attribute
type = None

The type of error.

VerificationErrorRecursive

Bases: BaseModel

capabilities class-attribute instance-attribute
capabilities = None

Contains key-value pairs that specify the actions that the legal entity can do in your platform. The key is a capability required for your integration. For example, issueCard for Issuing.The value is an object containing the settings for the capability.

code class-attribute instance-attribute
code = None

The general error code.

message class-attribute instance-attribute
message = None

The general error message.

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
remediatingActions class-attribute instance-attribute
remediatingActions = None

An object containing possible solutions to fix a verification error.

type class-attribute instance-attribute
type = None

The type of error.

VerificationErrors

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
problems class-attribute instance-attribute
problems = None

List of the verification errors.

WebData

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
webAddress class-attribute instance-attribute
webAddress = None

The URL of the website or the app store URL.

webAddressId class-attribute instance-attribute
webAddressId = None

The unique identifier of the web address.

WebDataExemption

Bases: BaseModel

model_config class-attribute instance-attribute
model_config = ConfigDict(extra='allow')
reason class-attribute instance-attribute
reason = None

The reason why the web data was not provided. Possible value: noOnlinePresence.

shared.services.payment_providers.adyen.raw_apis

authorisation_request_api

AuthorisationRequest dataclass

AuthorisationRequest(
    accountHolder,
    amount,
    balanceAccount,
    merchantData,
    paymentInstrument,
    schemeUniqueTransactionId,
)

Bases: DataClassJsonMixin

Adyen authorisation request payload.

Warning

We don't have any schema or documentation for the Adyen authorisation request payloads so we rely on all those we have recorded so far in WebhookLogs. Here we only declare the fields we need. Optional fields are those for which we have at least one missing record.

accountHolder instance-attribute
accountHolder
amount instance-attribute
amount
balanceAccount instance-attribute
balanceAccount
merchantData instance-attribute
merchantData
paymentInstrument instance-attribute
paymentInstrument
schemeUniqueTransactionId instance-attribute
schemeUniqueTransactionId

MerchantData dataclass

MerchantData(
    acquirerId,
    mcc,
    merchantId,
    nameLocation,
    postalCode=None,
)

Bases: DataClassJsonMixin

acquirerId instance-attribute
acquirerId
mcc instance-attribute
mcc
merchantId instance-attribute
merchantId
nameLocation instance-attribute
nameLocation
postalCode class-attribute instance-attribute
postalCode = None

NameLocation dataclass

NameLocation(country, name, city=None)

Bases: DataClassJsonMixin

city class-attribute instance-attribute
city = None
country instance-attribute
country
name instance-attribute
name

ResourceReference dataclass

ResourceReference(id)

Bases: DataClassJsonMixin

id instance-attribute
id

hosted_onboarding_api

HostedOnboardingApi

HostedOnboardingApi(client=None)

Bases: AdyenServiceBase

Raw API client for Adyen's Hosted Onboarding API.

This class was adapted from Adyen's Python library and follows the same patterns as other Adyen API clients.

NOTE: This class is based on the auto-generated OpenAPI client Ref: https://openapi-generator.tech ⧉

Source code in shared/services/payment_providers/adyen/raw_apis/hosted_onboarding_api.py
def __init__(self, client: AdyenClient | None = None) -> None:
    super().__init__(client=client)
    self.service = "legalEntityManagement"
    self.baseUrl = "https://kyc-test.adyen.com/lem/v3"
baseUrl instance-attribute
baseUrl = 'https://kyc-test.adyen.com/lem/v3'
get_link_to_adyenhosted_onboarding_page(
    request, id, idempotency_key=None, **kwargs
)

Get a link to an Adyen-hosted onboarding page.

Source code in shared/services/payment_providers/adyen/raw_apis/hosted_onboarding_api.py
def get_link_to_adyenhosted_onboarding_page(
    self,
    request: dict[str, Any],
    id: str,
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> AdyenResult:
    """Get a link to an Adyen-hosted onboarding page."""
    endpoint = self.baseUrl + f"/legalEntities/{id}/onboardingLinks"
    method = "POST"
    return self.client.call_adyen_api(
        request, self.service, method, endpoint, idempotency_key, **kwargs
    )
service instance-attribute
service = 'legalEntityManagement'

payment_instrument_reveal_api

PaymentInstrumentRevealApi

PaymentInstrumentRevealApi(client=None)

Bases: AdyenServiceBase

This class was adapted from Adyen's Python library. The public API is missing the needed methods for the PAN/PIN Reveal API, so we added them here following the same patterns as the other Adyen API clients.

Source code in shared/services/payment_providers/adyen/raw_apis/payment_instrument_reveal_api.py
def __init__(self, client: AdyenClient | None = None) -> None:
    super().__init__(client=client)
    self.service = "balancePlatform"
    self.baseUrl = "https://balanceplatform-api-test.adyen.com/bcl/v2"
baseUrl instance-attribute
baseUrl = (
    "https://balanceplatform-api-test.adyen.com/bcl/v2"
)
get_pan_reveal_public_key
get_pan_reveal_public_key(idempotency_key=None, **kwargs)

Get the public key used for PAN reveal requests

Source code in shared/services/payment_providers/adyen/raw_apis/payment_instrument_reveal_api.py
def get_pan_reveal_public_key(
    self, idempotency_key: str | None = None, **kwargs: Any
) -> AdyenResult:
    """
    Get the public key used for PAN reveal requests
    """
    endpoint = self.baseUrl + "/publicKey?purpose=panReveal"

    method = "GET"
    return self.client.call_adyen_api(
        None, self.service, method, endpoint, idempotency_key, **kwargs
    )
get_pin_reveal_public_key
get_pin_reveal_public_key(idempotency_key=None, **kwargs)

Get the public key used for PIN reveal requests

Source code in shared/services/payment_providers/adyen/raw_apis/payment_instrument_reveal_api.py
def get_pin_reveal_public_key(
    self, idempotency_key: str | None = None, **kwargs: Any
) -> AdyenResult:
    """
    Get the public key used for PIN reveal requests
    """
    endpoint = self.baseUrl + "/publicKey?purpose=pinReveal"

    method = "GET"
    return self.client.call_adyen_api(
        None, self.service, method, endpoint, idempotency_key, **kwargs
    )
reveal_pan_of_payment_instrument
reveal_pan_of_payment_instrument(
    request, idempotency_key=None, **kwargs
)

Reveal the PAN of a payment instrument

Source code in shared/services/payment_providers/adyen/raw_apis/payment_instrument_reveal_api.py
def reveal_pan_of_payment_instrument(
    self,
    request: PaymentInstrumentRevealPanRequest,
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> AdyenResult:
    """
    Reveal the PAN of a payment instrument
    """
    endpoint = self.baseUrl + "/paymentInstruments/reveal"

    method = "POST"
    return self.client.call_adyen_api(
        request.model_dump(),
        self.service,
        method,
        endpoint,
        idempotency_key,
        **kwargs,
    )
reveal_pin_of_payment_instrument
reveal_pin_of_payment_instrument(
    request, idempotency_key=None, **kwargs
)

Reveal the PIN of a payment instrument

Source code in shared/services/payment_providers/adyen/raw_apis/payment_instrument_reveal_api.py
def reveal_pin_of_payment_instrument(
    self,
    request: PaymentInstrumentRevealPinRequest,
    idempotency_key: str | None = None,
    **kwargs: Any,
) -> AdyenResult:
    """
    Reveal the PIN of a payment instrument
    """
    endpoint = self.baseUrl + "/pins/reveal"

    method = "POST"
    return self.client.call_adyen_api(
        request.model_dump(),
        self.service,
        method,
        endpoint,
        idempotency_key,
        **kwargs,
    )
service instance-attribute
service = 'balancePlatform'

PaymentInstrumentRevealPanRequest

Bases: BaseModel

encryptedKey instance-attribute
encryptedKey
paymentInstrumentId instance-attribute
paymentInstrumentId

PaymentInstrumentRevealPanResponse

Bases: BaseModel

encryptedData instance-attribute
encryptedData

PaymentInstrumentRevealPinRequest

Bases: BaseModel

encryptedKey instance-attribute
encryptedKey
paymentInstrumentId instance-attribute
paymentInstrumentId

PaymentInstrumentRevealPinResponse

Bases: BaseModel

encryptedPinBlock instance-attribute
encryptedPinBlock
token instance-attribute
token

PaymentInstrumentRevealPublicKeyResponse

Bases: BaseModel

publicKey instance-attribute
publicKey
publicKeyExpiryDate instance-attribute
publicKeyExpiryDate