Skip to content

Helpers

components.payment_gateway.internal.helpers.MODEL_TO_ADYEN_PATH module-attribute

MODEL_TO_ADYEN_PATH = {
    "AccountHolder": "/ca/ca/accounts/account-holders/details.shtml",
    "Account": "/ca/ca/accounts/balance-accounts/details.shtml",
    "Card": "/ca/ca/financial-products/payment-instruments/details.shtml",
    "ExpenseLimitRule": "/ca/ca/financial-products/transaction-rules/details.shtml",
    "UsageRestrictionRule": "/ca/ca/financial-products/transaction-rules/details.shtml",
    "AccountTransfer": "/ca/ca/transactions/transfers/details.shtml",
    "BankTransfer": "/ca/ca/transactions/transfers/details.shtml",
    "CardTransfer": "/ca/ca/transactions/transfers/details.shtml",
    "TransferUpdate": "/ca/ca/transactions/transfers/details.shtml",
}

components.payment_gateway.internal.helpers.MODEL_TO_SWAN_PATH module-attribute

MODEL_TO_SWAN_PATH = {
    "AccountHolder": "/data/account-holders/",
    "Account": "/data/accounts/",
    "CardHolder": "/data/account-memberships/",
    "Card": "/data/cards/",
    "TransferEvent": "/data/transactions/",
}

components.payment_gateway.internal.helpers.SWAN_DASHBOARD_URL module-attribute

SWAN_DASHBOARD_URL = "https://dashboard.swan.io/projects/06463ea3-c281-4735-be83-97c80b0cd92a/live"

components.payment_gateway.internal.helpers.external_id_formatter

external_id_formatter(_, __, model, name)

Helper function to format external ids in Flask Admin.

Source code in components/payment_gateway/internal/helpers.py
def external_id_formatter(_, __, model, name) -> str | None:  # type: ignore[no-untyped-def]
    """Helper function to format external ids in Flask Admin."""
    from components.payment_gateway.public.workspaces import get_provider_for_workspace

    external_id: str | None = getattr(model, name)
    if not external_id:
        return None

    workspace_key: str | None = getattr(model, "workspace_key", None)
    if not workspace_key:
        return external_id

    provider = get_provider_for_workspace(workspace_key)
    if not provider:
        return external_id

    match provider:
        case PaymentServiceProvider.adyen:
            return _format_adyen_external_id(model, external_id)
        case PaymentServiceProvider.swan:
            return _format_swan_external_id(model, external_id)
        case PaymentServiceProvider.revolut:
            return _format_revolut_external_id(model, external_id)
        case _:
            return external_id