Transactions

This API allows you to allows you to receive payments from your customers via bank transfers, debit cards, USSD, and through the use of their phone numbers


Transactions:

Monnify Transaction API Reference: Transactions

initialize_transaction(amount: float, customer_name: str, customer_email: str, payment_reference: str, payment_description: str, currency: str, merchant_code: str, payment_methods: List[PaymentMethods] | None = None, redirect_url: str | None = None, income_split_config: List[Dict[str, Any]] | None = None, metadata: Dict[str, Any] | None = None)→ MonnifyResponse

Create a transaction

Parameters:
  • amount (float) – Amount to be paid

  • customer_name (str) – Customer name

  • customer_email (str) – Customer email

  • payment_reference (str) – A unique Payment reference generated

  • payment_description (str) – Payment description

  • currency (str. Use the enum member value) – Currency

  • merchant_code (str) – Merchant code

  • payment_methods (list. Use the enum member value (default: None)) – Payment methods

  • redirect_url (str (default: None)) – Redirect URL after a successful payment

  • income_split_config (List[Dict[str, Any]] (default: None)) – Income split configuration

  • metadata (Dict[str, Any] (default: None)) – Metadata

Returns:

The response from the API

Return type:

MonnifyResponse

pay_with_bank_transfer(transaction_reference: str, bank_code: str)→ MonnifyResponse

Generates a dynamic account number and its associated bank for one time payment.

Parameters:
  • account_reference (str) – A unique Monnify reference returned as part of the response from the initialise_transaction method

  • bank_code (str) – Bank code

Returns:

The response from the API

Return type:

MonnifyResponse object

charge_card(transaction_reference: str, card: dict, collection_channel: str | None = 'API_NOTIFICATION') MonnifyResponse

Initiate a charge on a card

Parameters:
  • transaction_reference (str) – A unique Monnify reference returned as part of the response from the initialise_transaction method

  • card (dict) – Card details

  • collection_channel (str (default: "API_NOTIFICATION")) – Collection channel

Returns:

The response from the API

Return type:

MonnifyResponse object

authorize_otp(transaction_reference: str, token_id: str, token: str, collection_channel: str | None = 'API_NOTIFICATION') MonnifyResponse

Initiate an OTP authorization to complete a charge on a card

Parameters:
  • transaction_reference (str) – A unique Monnify reference returned as part of the response from the initialise_transaction method

  • token_id (str) – Token ID

  • token (str) – Token

  • collection_channel (str (default: "API_NOTIFICATION")) – Collection channel

Returns:

The response from the API

Return type:

MonnifyResponse object

authorize_3ds(transaction_reference: str, card: dict, collection_channel: str | None = 'API_NOTIFICATION') MonnifyResponse

Initiate a 3DS authorization to complete a charge on a card

Parameters:
  • transaction_reference (str) – A unique Monnify reference returned as part of the response from the initialise_transaction method

  • card (dict) – Card details

  • collection_channel (str (default: "API_NOTIFICATION")) – Collection channel

Returns:

The response from the API

Return type:

MonnifyResponse object

list_transaction(per_page: int | None = 50, page_size: int | None = 1, payment_reference: str | None = None, transaction_reference: str | None = None, from_amount: float | None = None, to_amount: float | None = None, amount: float | None = None, customer_name: str | None = None, customer_email: str | None = None, payment_status: str | None = None, from_date: date | None = None, to_date: str | None = None)→ MonnifyResponse

Get all transactions

Parameters:
  • per_page (int (default: 50)) – Number of results per page

  • page_size (int (default: 1)) – Number of results per page

  • payment_reference (str) – Payment reference

  • transaction_reference (str) – Transaction reference

  • from_amount (float) – From amount

  • to_amount (float) – To amount

  • amount (float) – Amount

  • customer_name (str) – Customer name

  • customer_email (str) – Customer email

  • payment_status (str) – Payment status

  • from_date (date) – From date

  • to_date (str) – To date

Returns:

The response from the API

Return type:

MonnifyResponse

get_transaction_status(transaction_reference: str)→ MonnifyResponse

Get status of a transaction

Parameters:

transaction_reference (str) – Transaction reference

Returns:

The response from the API

Return type:

MonnifyResponse

You can use the tool kit in the helpers module as reference to get the string value of the Enum class parameter Tool kit


Getting Card Details


To charge a card, the following parameters are passed into the card argument:

{
    "number": "4111111111111111",
    "expiryMonth": "10",
    "expiryYear": "2022",
    "pin": "1234",
    "cvv": "123"
}

Income Split Configuration


To pass the income split configuration parameter:

objects = [
    {
        "subAccountCode": {{SubaccountCode}},
        "feePercentage": {{fee in percent}},  # float type
        "splitPercentage": {{split in percent}},  # float type
        "feeBearer": {{True or False}}
    }
]