ExMpesa.Stk.request

You're seeing just the function request, go back to ExMpesa.Stk module for more information.

Specs

request(map()) :: {:error, any()} | {:ok, any()}

Initiates the Mpesa Lipa Online STK Push .

Configuration

Add below config to dev.exs / prod.exs files This asumes you have a clear understanding of how Daraja API works. See docs here https://developer.safaricom.co.ke/docs#lipa-na-m-pesa-online-payment

config.exs

  config :ex_mpesa,
      consumer_key: "",
      consumer_secret: "",
      mpesa_short_code: "",
      mpesa_passkey: "",
      mpesa_callback_url: ""

Parameters

attrs: - a map containing:

  • phone - The MSISDN sending the funds(PhoneNumber).
  • amount - The amount to be transacted.
  • reference - Used with M-Pesa PayBills(AccountReference).
  • description - A description of the transaction(TransactionDesc).

Example

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"
  }}