Back to plugins & integrations

M-Pesa Payments icon

M-Pesa Payments

Accept Mpesa payments on your Vendure store.

npm install vendure-mpesa-plugin

Integration type

Community
Open source integrations built by the Vendure community.

Category

Payment

Last published

22 days ago

Downloads in past month

658
README.md

Vendure Mpesa Plugin

Vendure Mpesa Plugin

GitHub Actions Workflow Status   NPM Version

Accept Mpesa payments on your Vendure store.

Installation

yarn add vendure-mpesa-plugin

Usage

  1. Add the MpesaPlugin to your VendureConfig plugins array.
import { MpesaPlugin } from "vendure-mpesa-plugin"

export const config: VendureConfig = {
    // ...
    plugins: [
        // ...
        MpesaPlugin.init({
            consumerKey: "YOUR_CONSUMER_KEY",
            consumerSecret: "YOUR_CONSUMER_SECRET",
            shortCode: "YOUR_SHORT_CODE",
            shortCodeType: "SHORTCODE_TYPE",
            passkey: "YOUR_PASSKEY",
            environment: "APP_ENVIRONMENT",
            vendureHost: "https://yourvendurestore.com"
        })
    ]
}
  1. Start the server and navigate to Settings > Payment methods. Add a new payment method, selecting Lipa na Mpesa Online as the handler.

Note: Select the ‘Check whether Mpesa supports the payment’ eligibility checker when creating the payment method.

  1. Calling the addPaymentToOrder mutation on the storefront with the corresponing payment method code will initiate an STK push to the customer’s phone.

  2. Call the verifyMpesaTransaction mutation periodically on the storefront to verify the transaction status.

Reference