API reference

15 resource groups, one SDK.

Every method below is available on the Nomba (sync) or AsyncNomba (async) instance under the resource group shown in each heading. The signatures shown are the synchronous variants; the async variants are identical except they return Futures and require .await. Field names and paths come straight from Nomba's OpenAPI spec.

Accounts nomba.accounts

12 endpoint(s) exposed by this resource group.

GET
/v1/accounts .list_all_accounts(&self)
list_all_accounts
POST
/v1/accounts .create_sub_account(&self, account_ref, account_name, phone_number, email, bvn, account_type, currency, callback_url)
create_sub_account
GET
/v1/accounts/sub-account-details .fetch_account_details(&self, account_id)
fetch_account_details
GET
/v1/accounts/parent .fetch_parent_account_details(&self)
fetch_parent_account_details
GET
/v1/accounts/{}/balance .fetch_account_balance(&self, account_id)
fetch_account_balance
GET
/v1/accounts/balance .fetch_parent_account_balance(&self)
fetch_parent_account_balance
PUT
/v1/accounts/suspend/{} .suspend_account(&self, account_id)
suspend_account
PUT
/v1/accounts/reactivate/{} .reactivate_account(&self, account_id)
reactivate_account
GET
/v1/accounts/{}/terminals .fetch_terminals_assigned_to_account(&self, account_id)
fetch_terminals_assigned_to_account
GET
/v1/accounts/terminals .fetch_terminals_assigned_to_parent_account(&self)
fetch_terminals_assigned_to_parent_account
GET
/v1/accounts/{}/terminals .fetch_terminals_assigned_to_sub_account(&self, account_id)
fetch_terminals_assigned_to_sub_account
PUT
/v1/accounts/{}/access .update_account_access(&self, account_id, terminal_id, access)
update_account_access

Virtual Accounts nomba.virtual_accounts

6 endpoint(s) exposed by this resource group.

POST
/v1/accounts/virtual .create_virtual_account(&self, account_ref, account_name, bvn, expiry_date, expected_amount)
create_virtual_account
POST
/v1/accounts/virtual/{} .create_virtual_account_for_sub_account(&self, sub_account_id, account_ref, account_name, bvn, expiry_date, expected_amount)
create_virtual_account_for_sub_account
POST
/v1/accounts/virtual/list .filter_virtual_accounts(&self, limit, cursor, account_name, account_ref, bvn, bank_account_number, date_created_from, date_created_to, expired, resource_acquired)
filter_virtual_accounts
PUT
/v1/accounts/virtual/{} .update_virtual_account(&self, identifier, new_account_ref, account_name, callback_url, expected_amount)
update_virtual_account
GET
/v1/accounts/virtual/{} .fetch_virtual_account(&self, identifier)
fetch_virtual_account
DELETE
/v1/accounts/virtual/{} .expire_virtual_account(&self, identifier)
expire_virtual_account

Online Checkout nomba.checkout

19 endpoint(s) exposed by this resource group.

POST
/v1/checkout/order .create_order(&self, order_reference, amount, currency, customer_email, customer_name, redirect_url, description, metadata)
create_order
GET
/v1/checkout/transaction .fetch_transaction(&self, order_reference)
fetch_transaction
POST
/v1/checkout/refund .refund_transaction(&self, order_reference, amount, reason)
refund_transaction
GET
/v1/checkout/order/{} .fetch_order_details(&self, order_reference)
fetch_order_details
POST
/v1/checkout/checkout-card-detail .submit_card_details(&self, order_reference, card_details, key, save_card, device_information)
submit_card_details
POST
/v1/checkout/checkout-card-otp .submit_otp(&self, order_reference, otp, transaction_id)
submit_otp
POST
/v1/checkout/resend-otp .resend_otp(&self, order_reference)
resend_otp
POST
/v1/checkout/confirm-transaction-receipt .fetch_transaction_details(&self, order_reference)
fetch_transaction_details
GET
/v1/checkout/get-checkout-kta/{} .fetch_flash_account(&self, order_reference)
fetch_flash_account
POST
/v1/checkout/user-card/auth .request_user_otp(&self, order_reference, phone_number)
request_user_otp
POST
/v1/checkout/user-card/saved-card/auth .request_saved_cards_otp(&self, order_reference)
request_saved_cards_otp
POST
/v1/checkout/user-card .submit_user_otp(&self, order_reference, phone_number, otp)
submit_user_otp
GET
/v1/checkout/user-card/{} .fetch_user_saved_cards(&self, order_reference, otp)
fetch_user_saved_cards
POST
/v1/checkout/transaction/cancel .cancel_transaction(&self, transaction_id, force)
cancel_transaction
POST
/v1/checkout/order/cancel .cancel_order(&self, order_reference)
cancel_order
POST
/v1/checkout/tokenized-card-payment .charge_with_tokenized_card(&self, amount, currency, tokenized_card_id, merchant_tx_ref, customer_email, customer_name, description)
charge_with_tokenized_card
GET
/v1/checkout/tokenized-card-data .list_tokenized_cards(&self, page, limit)
list_tokenized_cards
POST
/v1/checkout/tokenized-card-data .update_tokenized_card(&self, token_key, current_email_address, new_email_address)
update_tokenized_card
DELETE
/v1/checkout/tokenized-card-data .delete_tokenized_card(&self, token_key)
delete_tokenized_card

Charge nomba.charge

9 endpoint(s) exposed by this resource group.

POST
/v1/checkout/tokenized-card-payment .charge_with_tokenized_card(&self, amount, currency, tokenized_card_id, merchant_tx_ref, customer_email, customer_name, description)
charge_with_tokenized_card
GET
/v1/checkout/tokenized-card-data .list_tokenized_cards(&self, page, limit)
list_tokenized_cards
POST
/v1/checkout/tokenized-card-data .update_tokenized_card(&self, token_key, current_email_address, new_email_address)
update_tokenized_card
DELETE
/v1/checkout/tokenized-card-data .delete_tokenized_card(&self, token_key)
delete_tokenized_card
POST
/v1/checkout/checkout-card-detail .submit_customer_card_details(&self, order_reference, card_details, key, save_card, device_information)
submit_customer_card_details
POST
/v1/checkout/checkout-card-otp .submit_customer_payment_otp(&self, order_reference, otp, transaction_id)
submit_customer_payment_otp
POST
/v1/checkout/resend-otp .resend_customer_payment_otp(&self, order_reference)
resend_customer_payment_otp
POST
/v1/checkout/confirm-transaction-receipt .fetch_checkout_transaction_details(&self, order_reference)
fetch_checkout_transaction_details
POST
/v1/checkout/transaction/cancel .cancel_checkout_transaction(&self, transaction_id, force)
cancel_checkout_transaction

Transfers nomba.transfers

6 endpoint(s) exposed by this resource group.

GET
/v1/transfers/banks .fetch_bank_codes(&self)
fetch_bank_codes
POST
/v1/transfers/bank/lookup .bank_account_lookup(&self, account_number, bank_code)
bank_account_lookup
POST
/v2/transfers/bank .bank_transfer_from_parent(&self, amount, destination_account_number, destination_bank_code, narration, merchant_tx_ref, customer_name)
bank_transfer_from_parent
POST
/v2/transfers/bank/{} .bank_transfer_from_account(&self, account_id, amount, destination_account_number, destination_bank_code, narration, merchant_tx_ref, customer_name)
bank_transfer_from_account
POST
/v2/transfers/wallet .wallet_transfer_from_parent(&self, amount, destination_wallet_id, narration, merchant_tx_ref)
wallet_transfer_from_parent
POST
/v2/transfers/wallet/{} .wallet_transfer_from_account(&self, account_id, amount, destination_wallet_id, narration, merchant_tx_ref)
wallet_transfer_from_account

Terminals nomba.terminals

5 endpoint(s) exposed by this resource group.

POST
/v1/terminals/assign/{} .assign_to_account(&self, account_id, terminal_id)
assign_to_account
POST
/v1/terminals/assign .assign_to_parent_account(&self, terminal_id)
assign_to_parent_account
POST
/v1/terminals/unassign/{} .unassign_from_account(&self, account_id, terminal_id)
unassign_from_account
POST
/v1/terminals/unassign .unassign_from_parent_account(&self, terminal_id)
unassign_from_parent_account
POST
/v1/terminals/payment-request/{} .send_payment_request(&self, terminal_id, merchant_tx_ref, amount, currency)
send_payment_request

Transactions nomba.transactions

9 endpoint(s) exposed by this resource group.

GET
/v1/transactions/bank/{} .fetch_credit_debit_on_sub_account(&self, account_id, limit, cursor)
fetch_credit_debit_on_sub_account
GET
/v1/transactions/bank .fetch_credit_debit_on_parent(&self, limit, cursor)
fetch_credit_debit_on_parent
GET
/v1/transactions/accounts/{} .fetch_on_sub_account(&self, account_id, limit, cursor)
fetch_on_sub_account
GET
/v1/transactions/accounts/{} .filter_sub_account_transactions(&self, account_id, limit, cursor, from_date, to_date, status, transaction_type)
filter_sub_account_transactions
GET
/v1/transactions/accounts .fetch_on_parent(&self, limit, cursor)
fetch_on_parent
GET
/v1/transactions/accounts .filter_parent_account_transactions(&self, limit, cursor, from_date, to_date, status, transaction_type)
filter_parent_account_transactions
GET
/v1/transactions/accounts/{}/single .fetch_single_on_sub_account(&self, account_id, transaction_id)
fetch_single_on_sub_account
GET
/v1/transactions/accounts/single .fetch_single_on_parent(&self, transaction_id)
fetch_single_on_parent
GET
/v1/transactions/requery/{} .confirm_by_session_id(&self, session_id)
confirm_by_session_id

Airtime and Data Vending nomba.airtime_data

5 endpoint(s) exposed by this resource group.

POST
/v2/bill/topup .purchase_airtime_parent(&self, amount, phone_number, network, merchant_tx_ref, sender_name)
An [`AirtimePurchaseResponse`] with transaction details.
POST
/v2/bill/topup/{} .purchase_airtime_account(&self, account_id, amount, phone_number, network, merchant_tx_ref, sender_name)
An [`AirtimePurchaseResponse`] with transaction details.
POST
/v2/bill/data .vend_data_parent(&self, product_id, phone_number, network, merchant_tx_ref, sender_name)
A [`DataVendingResponse`] with transaction details.
POST
/v2/bill/data/{} .vend_data_account(&self, account_id, product_id, phone_number, network, merchant_tx_ref, sender_name)
A [`DataVendingResponse`] with transaction details.
GET
/v1/bill/data-plan/{} .fetch_data_plans(&self, network)
A [`FetchDataPlansResponse`] containing the list of plans.

CableTV Subscription nomba.cabletv

4 endpoint(s) exposed by this resource group.

GET
/v1/bill/cabletv/lookup .lookup(&self, provider, smart_card_number)
A [`CableTvLookupResponse`] with customer details.
POST
/v2/bill/cabletv .subscribe_parent(&self, provider, smart_card_number, plan, amount, merchant_tx_ref, phone_number)
A [`CableTvSubscriptionResponse`] with transaction details.
POST
/v2/bill/cabletv/{} .subscribe_account(&self, account_id, provider, smart_card_number, plan, amount, merchant_tx_ref, phone_number)
A [`CableTvSubscriptionResponse`] with transaction details.
GET
/v1/bill/cableTvProduct .fetch_plans(&self, cable_tv_type)
A [`FetchCableTvPlansResponse`] containing the list of plans.

Electricity Vending nomba.electricity

4 endpoint(s) exposed by this resource group.

GET
/v1/bill/electricity/discos .fetch_providers(&self)
fetch_providers
GET
/v1/bill/electricity/lookup .customer_lookup(&self, provider, meter_number)
customer_lookup
POST
/v2/bill/electricity .vend_parent(&self, provider, meter_number, amount, merchant_tx_ref, phone_number, meter_type)
vend_parent
POST
/v2/bill/electricity/{} .vend_account(&self, account_id, provider, meter_number, amount, merchant_tx_ref, phone_number, meter_type)
vend_account

Betting nomba.betting

4 endpoint(s) exposed by this resource group.

GET
/v1/bill/betting/providers .fetch_providers(&self)
fetch_providers
GET
/v1/bill/betting/lookup .customer_lookup(&self, provider, customer_id)
customer_lookup
POST
/v2/bill/betting .vend_parent(&self, provider, customer_id, amount, merchant_tx_ref, phone_number)
vend_parent
POST
/v2/bill/betting/{} .vend_account(&self, account_id, provider, customer_id, amount, merchant_tx_ref, phone_number)
vend_account

Direct Debits nomba.direct_debits

6 endpoint(s) exposed by this resource group.

GET
/v1/direct-debits/mandates .get_mandates(&self, page, page_size, status, customer_account_number, customer_name)
A [`GetMandatesResponse`] with paginated mandates.
PUT
/v1/direct-debits/update-status .update_mandate_status(&self, mandate_id, mandate_status)
An [`UpdateMandateStatusResponse`].
POST
/v1/direct-debits/debit-mandate .debit_mandate(&self, mandate_id, amount, merchant_tx_ref)
A [`DebitMandateResponse`] with transaction details.
GET
/v1/direct-debits/status?mandateId={} .get_mandate_status(&self, mandate_id)
A [`GetMandateStatusResponse`] with mandate status.
GET
/v1/direct-debits/{} .get_mandate_by_id(&self, mandate_id)
A [`GetMandateByIdResponse`] with mandate details.
POST
/v1/direct-debits .create_mandate(&self, customer_account_number, customer_account_name, bank_code, amount, customer_name, customer_address, customer_email, customer_phone_number, merchant_reference, frequency, start_date, end_date, narration, start_immediately)
A [`CreateMandateResponse`] with the created mandate.

Global Collections nomba.global_collections

4 endpoint(s) exposed by this resource group.

POST
/v1/global-collection/inflow/initiate .initiate_mobile_money_inflow(&self, phone_number, callback_url, amount, currency, topup_vendor, idempotency_key)
initiate_mobile_money_inflow
GET
/v1/global-collection/transactions/{} .fetch_collection_transaction(&self, transaction_id)
fetch_collection_transaction
GET
/v1/global-collection/drc/inflow/providers .fetch_drc_inflow_providers(&self)
fetch_drc_inflow_providers
GET
/v1/sandbox/global-collection/drc/inflow/providers .fetch_drc_inflow_providers_sandbox(&self)
fetch_drc_inflow_providers_sandbox

Global Payout nomba.global_payout

11 endpoint(s) exposed by this resource group.

GET
/v1/global-payout/accounts .fetch_accounts(&self)
A [`FetchGlobalPayoutAccountsResponse`] with all currency wallets.
GET
/v1/global-payout/accounts/{} .fetch_account(&self, account_id)
A [`FetchGlobalPayoutAccountResponse`] with wallet details.
POST
/v1/global-payout/transfer/authorize .authorize_transfer(&self, amount, source_currency, destination_currency, receiver_name, source_country_iso_code, destination_country_iso_code, payment_method, account_type, account_number, institution_code, institution_name, bank_account_type, purpose_of_payment, narration, locked_exchange_rate_id, bank_address, bank_city, bank_state, bank_zip_code, beneficiary)
An [`AuthorizeTransferResponse`] with transaction details.
POST
/v1/global-payout/exchange/authorize .authorize_exchange(&self, amount, source_currency, destination_currency, sender_name, receiver_name, source_country_iso_code, destination_country_iso_code, narration, locked_exchange_rate_id)
An [`AuthorizeExchangeResponse`] with transaction details.
GET
/v1/global-payout/transactions/{} .fetch_transaction(&self, transaction_id)
A [`FetchGlobalPayoutTransactionResponse`] with transaction details.
POST
/v1/global-payout/money/convert .convert_money(&self, amount, currency, destination_currency, transaction_type)
convert_money
GET
/v1/global-payout/exchange-rates .fetch_exchange_rates(&self, from, to, region)
fetch_exchange_rates
GET
/v1/global-payout/payment-methods .fetch_payment_methods(&self, code, name, destination_country_iso_code, destination_currency)
fetch_payment_methods
GET
/v1/global-payout/bank/providers .list_institution_providers(&self, is_mobile_money, country_iso_code)
list_institution_providers
GET
/v1/sandbox/global-payout/accounts .fetch_accounts_sandbox(&self)
fetch_accounts_sandbox
GET
/v1/sandbox/global-payout/accounts/{} .fetch_account_sandbox(&self, account_id)
fetch_account_sandbox

Auth nomba.auth

2 endpoint(s) exposed by this resource group.

POST
/v1/auth/token/revoke .revoke_access_token(&self, access_token)
revoke_access_token
POST
/v1/auth/token/refresh .refresh_access_token(&self, refresh_token)
refresh_access_token