Logo GenukaGenuka Pay
Guides

Payment Methods

Configure and manage your mobile money payment methods to receive funds.

Payment Methods

Configure your mobile money payment methods (Orange Money, MTN Mobile, etc.) to collect funds across your different operator accounts.

Required Headers

X-Public-Key: YOUR_PUBLIC_KEY
X-Timestamp: UNIX_TIMESTAMP
X-Signature: HMAC_SHA256_SIGNATURE

Endpoints

  • GET /api/v1/payment-methods
  • POST /api/v1/payment-methods
  • PUT /api/v1/payment-methods/{id}
  • DELETE /api/v1/payment-methods/{id}
  • POST /api/v1/payment-methods/{id}/set-default

Where to manage

Open the Payment Methods page from the dashboard to:

  • view all your configured methods
  • add a new operator account
  • edit method information
  • delete a method
  • set the default method

This page is the main entry point for managing your collection accounts.

Default Method

The default method is automatically used when:

  • you create a payout without specifying payment_method_id
  • the system needs to choose the best available account

Configure your default method wisely to optimize your treasury flows.

  1. Dashboard first - Configure your methods from the UI
  2. API for automation - Use endpoints only for systematic integration

Typical Fields

FieldTypeDescription
provider_namestringOperator code (ex: MTN_MOMO)
identifierstringAccount number or phone number
metadata.bank_namestringBank name (for bank transfers)
metadata.swift_codestringSWIFT code (for bank transfers)
is_activebooleanActive/inactive status of the method

Supported Operators

Use one of the operator codes currently supported by the API:

CodeOperator
MTN_MOMOMTN Momo
ORANGE_MONEYOrange Money
AIRTEL_GABONAirtel Gabon
MOOV_GABONMoov Gabon
AIRTEL_TCHADAirtel Tchad
MOOV_TCHADMoov Tchad
ORANGE_RCAOrange RCA
AIRTEL_CONGOAirtel Congo
MTN_CONGOMTN Congo
MUNI_DINEROMuni Dinero
MTNMTN
MOOVMoov
ORANGEOrange
FREEFree
TMONEYTMoney

Creation Example

curl -X POST "{{BASE_URL}}/api/v1/payment-methods" \
  -H "X-Public-Key: YOUR_PUBLIC_KEY" \
  -H "X-Timestamp: UNIX_TIMESTAMP" \
  -H "X-Signature: HMAC_SHA256_SIGNATURE" \
  -H "Content-Type: application/json" \
  -d '{
    "provider_name": "MTN_MOMO",
    "identifier": "+237677001122",
    "metadata": {
      "account_type": "mobile_money"
    }
  }'

Activate a Method

A newly created method is active by default. To temporarily deactivate:

curl -X PUT "{{BASE_URL}}/api/v1/payment-methods/{id}" \
  -H "X-Public-Key: YOUR_PUBLIC_KEY" \
  -H "X-Timestamp: UNIX_TIMESTAMP" \
  -H "X-Signature: HMAC_SHA256_SIGNATURE" \
  -H "Content-Type: application/json" \
  -d '{
    "is_active": false
  }'

Set Default Method

curl -X POST "{{BASE_URL}}/api/v1/payment-methods/{id}/set-default" \
  -H "X-Public-Key: YOUR_PUBLIC_KEY" \
  -H "X-Timestamp: UNIX_TIMESTAMP" \
  -H "X-Signature: HMAC_SHA256_SIGNATURE"

Best Practices

  • Diversification - Configure multiple operators to reduce risks
  • Monitoring - Regularly check the status of your methods
  • Testing - Test each method with small amounts before intensive use
  • Security - Never share your payment identifiers

Limits and Recommendations

  • 1 method per operator per business
  • Validation required before first use
  • Operator fees applied according to each operator's schedule

How is this guide?