Kenya

Learn about the dLocal supported payment methods in Kenya.

Market specifications

Take a look of all the payment methods available.

Country reference Cards supported APM supported

Cards


Find all the information about the card supported capabilities.

Capabilities Process Card Payments

Alternative Payments

Learn how to integrate cash, bank transfer or wallet payment.

Mobile Money

Market specifications

Do you want to know more information about Kenya's market? Go to the Expand Your Reach in Africa’s eCommerce Market article.

Country reference

country codecurrency codeamount decimalsdocument namedocument formatdocument required?
KEKES0National ID Card or Maisha IdBetween 6 and 9 digitsYes

Cards supported

payment_method_idBrand IDNamepayment_method_typeDetailsAllowed FlowsLogo
CARDVIVisaCARDCredit Card ​DIRECT REDIRECT
CARDVDVisa Debit ​CARDDebit Card ​DIRECT REDIRECT
CARDMCMastercardCARDCredit Card ​DIRECT REDIRECT
CARDMDMastercard Debit ​CARDDebit Card ​DIRECT REDIRECT
ℹ️

To offer all the card options that may be available in your integration, send the payment_method_id as CARD.

Alternative Payment Method supported

payment_method_idNamepayment_method_typeAllowed FlowsLogo
AN / AirtelMobile MoneyBANK_TRANSFERDIRECT
SF / SafaricomMobile MoneyBANK_TRANSFERDIRECT

Cards

Capabilities

Visa CreditMastercard CreditVisa DebitMastercard Debit
Minimum amount51 KES51 KES51 KES51 KES
RefundsYesYesYesYes
RecurringYesYesYesYes
Chargeback optionYesYesYesYes
Chargeback Dispute optionYesYesYesYes
DescriptorMerchant nameMerchant nameMerchant nameMerchant name

How to process Card Payments?

Learn how to process payments with credit and debit cards with dLocal in our Card Payments section.



Alternative Payment Method

Mobile Money

What is Mobile Money?

Across Africa, mobile money functions as a bank-free digital currency system that allows anyone with a mobile phone to store, send, and spend money directly without needing a traditional bank account.

Retail Pay-Ins in Kenya

In Kenya, leading mobile wallets like M-Pesa and Airtel Money use this system to power instant retail pay-ins across physical storefronts via merchant tills, while also enabling seamless digital checkouts across e-commerce platforms and super-app ecosystems.

Customize payment options

  • M-Pesa (Safaricom). To offer M-Pesa, complete "payment_method_id": "SF".
  • Airtel Money. To offer Airtel, complete "payment_method_id": "AN".
📘

Choosing the right operator

Make sure to know the user's telecommunications company before initiating the payment, and send the corresponding payment_method_id (SF or AN).

⚠️

Generic MW payment method ID

The generic MW payment method ID still works as a legacy catch-all across all supported telecom operators in Kenya. However, we recommend pointing directly to the operator (SF for M-Pesa or AN for Airtel) for more precise routing and processing.

To find all the available payment options, refer to the Alternative Payment Method supported section.

Capabilities

Mobile Money
Min. amount51 KES
Max. expiration time supported5 minutes
Notification delayImmediate
RefundsYes
FlowDIRECT
Supported walletsmPesa/Safaricom, Airtel.

UX Flow

Flow might slightly differ depending on the provider.

Alternative flow

Request Parameters

PropertyTypeDescriptionMandatory?
amountNumberAmount to be charged.Yes
currencyStringKES

Transaction currency in ISO 4217.
Yes
countryStringKE

Transaction country in ISO 3166.
Yes
payment_method_idStringSF (M-Pesa) or AN (Airtel)

ID of the selected payment method
Yes
payment_method_flowStringDIRECTYes
payer.nameStringName of the payer.Yes
payer.emailStringEmail of the payer.Yes
payer.phoneStringPhone number of the payer.Yes
payer.documentStringDocument of the payer.Yes
order_idStringID of the capture given by the merchant in their system. Think of it as an external ID of the capture.No
notification_urlStringNotifications will be sent in every change of status of a payment to the notification_url specified by the merchant.No

Examples

M-Pesa (SF)

{
    "amount": 1000,
    "currency": "KES",
    "country": "KE",
    "payment_method_id": "SF",
    "payment_method_flow": "DIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "[email protected]",
        "phone": "254746488970",
        "document": "12345678",
        "address": {
            "country": "KE",
            "state":"Mombasa",
            "city": "Mombasa",
            "zip_code": "8858",
            "street": "Main St.",
            "number": "540"
        }
    },
    "order_id": "34545sk3483kqw0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "callback_url": "http://merchantsite.com/success_page"
}
{
    "id": "D-4-a3e6938f-j76s-4855-b84a-e9d50a6d04a0",
    "amount": 1000,
    "currency": "KES",
    "payment_method_id": "SF",
    "payment_method_type": "BANK_TRANSFER",
    "payment_method_flow": "DIRECT",
    "country": "KE",
    "bank_transfer": {},
    "ticket": {},
    "created_date": "2023-01-23T17:20:21.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "34545sk3483kqw0",
    "notification_url": "http://merchant.com/notification/new"
}
{
    "id": "D-4-a3e6938f-j76s-4855-b84a-e9d50a6d04a0",
    "amount": 1000,
    "currency": "KES",
    "payment_method_id": "SF",
    "payment_method_type": "BANK_TRANSFER",
    "payment_method_flow": "DIRECT",
    "country": "KE",
    "created_date": "2023-01-23T17:20:21.000+0000",
    "status": "PAID",
    "status_detail": "The payment was paid.",
    "status_code": "200",
    "order_id": "34545sk3483kqw0",
    "notification_url": "http://merchantsite.com/notification/new"
}

Airtel Money (AN)

{
    "amount": 1000,
    "currency": "KES",
    "country": "KE",
    "payment_method_id": "AN",
    "payment_method_flow": "DIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "[email protected]",
        "phone": "254746488970",
        "document": "12345678",
        "address": {
            "country": "KE",
            "state":"Mombasa",
            "city": "Mombasa",
            "zip_code": "8858",
            "street": "Main St.",
            "number": "540"
        }
    },
    "order_id": "34545sk3483kqw0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "callback_url": "http://merchantsite.com/success_page"
}
{
    "id": "D-4-a3e6938f-j76s-4855-b84a-e9d50a6d04a0",
    "amount": 1000,
    "currency": "KES",
    "payment_method_id": "AN",
    "payment_method_type": "BANK_TRANSFER",
    "payment_method_flow": "DIRECT",
    "country": "KE",
    "bank_transfer": {},
    "ticket": {},
    "created_date": "2023-01-23T17:20:21.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "34545sk3483kqw0",
    "notification_url": "http://merchant.com/notification/new"
}
{
    "id": "D-4-a3e6938f-j76s-4855-b84a-e9d50a6d04a0",
    "amount": 1000,
    "currency": "KES",
    "payment_method_id": "AN",
    "payment_method_type": "BANK_TRANSFER",
    "payment_method_flow": "DIRECT",
    "country": "KE",
    "created_date": "2023-01-23T17:20:21.000+0000",
    "status": "PAID",
    "status_detail": "The payment was paid.",
    "status_code": "200",
    "order_id": "34545sk3483kqw0",
    "notification_url": "http://merchantsite.com/notification/new"
}


Did this page help you?