Skip to content

This is an ecommerce webapp whereby customers can buy products online and pay via Mpesa Express STK Pop up push.

License

Notifications You must be signed in to change notification settings

DynastyElvis/Daraja-API-for-Mpesa

Repository files navigation

Actions Status Hex.pm Hex.pm Coverage Status

ExMpesa

Payment Library For Most Mpesa(Daraja) Payment API's in Kenya. Let us get this 💰

Table of contents

Homepage

Features

  • STK Transaction Validation
  • B2C
  • B2B
  • C2B
  • Reversal
  • Transaction Status
  • Account Balance

Installation

If available in Hex, the package can be installed by adding ex_mpesa to your list of dependencies in mix.exs:

def deps do
  [
    {:ex_mpesa, "~> 0.1.0"}
  ]
end

Configuration

Create a copy of config/dev.exs or config/prod.exs from config/dev.sample.exs Use the sandbox key to true when you are using sandbox credentials, chnage to false when going to :prod

Mpesa (Daraja)

Mpesa Daraja API link: https://developer.safaricom.co.ke

Add below config to dev.exs / prod.exs files This asumes you have a clear understanding of how Daraja API works.

You can also refer to this Safaricom Daraja API Tutorial: https://peternjeru.co.ke/safdaraja/ui/ by Peter Njeru

config :ex_mpesa,
    consumer_key: "72yw1nun6g1QQPPgOsAObCGSfuimGO7b",
    consumer_secret: "vRzZiD5RllMLIdLD",
    mpesa_short_code: "174379",
    mpesa_passkey: "bfb279f9aa9bdbcf158e97dd71a467cd2e0c893059b10f78e6b72ada1ed2c919",
    mpesa_callback_url: "http://91eb0af5.ngrok.io/api/payment/callback"

Documentation

The docs can be found at https://hexdocs.pm/ex_mpesa.

Quick Examples

Mpesa Express (STK)

  iex> ExMpesa.Stk.request(%{amount: 10, phone: "254724540000", reference: "reference", description: "description"})
      {:ok,
        %{
        "CheckoutRequestID" => "ws_CO_010320202011179845",
        "CustomerMessage" => "Success. Request accepted for processing",
        "MerchantRequestID" => "25558-10595705-4",
        "ResponseCode" => "0",
        "ResponseDescription" => "Success. Request accepted for processing"
        }}

Contribution

If you'd like to contribute, start by searching through the issues and pull requests to see whether someone else has raised a similar idea or question. If you don't see your idea listed, Open an issue.

Check the Contribution guide on how to contribute.

Licence

ExPesa is released under MIT License

license

About

This is an ecommerce webapp whereby customers can buy products online and pay via Mpesa Express STK Pop up push.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published