All Projects → beamkenya → ex_pesa

beamkenya / ex_pesa

Licence: other
Payment Library For Most Public Payment API's in Kenya and hopefully Africa. Let us get this moneybag

Programming Languages

elixir
2628 projects

Projects that are alternatives of or similar to ex pesa

python-daraja
Python Wrapper for interacting with the MPESA Daraja API. More Features to be implemented
Stars: ✭ 20 (+5.26%)
Mutual labels:  payment, mpesa, daraja
tz-mpesa-ussd-push
Vodacom Tanzania USSD Push API Client
Stars: ✭ 18 (-5.26%)
Mutual labels:  payment, mpesa
Stripe
Stripe library for Vapor
Stars: ✭ 151 (+694.74%)
Mutual labels:  card, payment
Mfcard
Easily integrate Credit Card payments module in iOS App. Swift 4.0
Stars: ✭ 356 (+1773.68%)
Mutual labels:  card, payment
credit-card-prompt
Credit card prompt with validation and address lookup
Stars: ✭ 13 (-31.58%)
Mutual labels:  card, payment
nova-custom-dashboard-card
A Laravel Nova dashboard card that allows you to build custom dashboards.
Stars: ✭ 84 (+342.11%)
Mutual labels:  card
drf-stripe-subscription
An out-of-box Django REST framework solution for payment and subscription management using Stripe.
Stars: ✭ 42 (+121.05%)
Mutual labels:  payment
payjs-laravel
基于 PAYJS 微信支付个人接口开发的 Laravel Package,可直接用于生产环境
Stars: ✭ 57 (+200%)
Mutual labels:  payment
lovelace-battery-entity-row
Show battery states or attributes with dynamic icon on entity rows in Home Assistant's Lovelace UI
Stars: ✭ 49 (+157.89%)
Mutual labels:  card
one
🚥 Idempotency Handler, for making sure incoming requests are idempotent. Useful for payments, "at least once delivery" systems and more.
Stars: ✭ 18 (-5.26%)
Mutual labels:  payment
happy-birthday
🎂 Responsive Birthday Card - Made with Jquery and CSS
Stars: ✭ 85 (+347.37%)
Mutual labels:  card
laravel-viva-payments
A Laravel package for integrating the Viva Payments gateway
Stars: ✭ 29 (+52.63%)
Mutual labels:  payment
bolt-magento2
Bolt plugin for magento2
Stars: ✭ 17 (-10.53%)
Mutual labels:  payment
TimelineCards
Presenting timelines as cards, single or bundled in scrollable feed!
Stars: ✭ 423 (+2126.32%)
Mutual labels:  card
laravel-hyperpay
Laravel package for Hyperpay payment gateway in MENA.
Stars: ✭ 14 (-26.32%)
Mutual labels:  payment
pesa-js
Pesa SDK
Stars: ✭ 19 (+0%)
Mutual labels:  mpesa
react-native-imaged-card-view
Rising Imaged Card View with Awesome Shadows and Fully Customizable Library for React Native
Stars: ✭ 16 (-15.79%)
Mutual labels:  card
DemoInPutPasswordView
仿微信支付密码输入框 (A input password alert view like wechat pay.)
Stars: ✭ 44 (+131.58%)
Mutual labels:  payment
midtrans-python-client
Official Midtrans Payment API Client for Python | https://midtrans.com
Stars: ✭ 24 (+26.32%)
Mutual labels:  payment
widgets
💸 Web3 Payments with any token. DePay simplifies and improves Web3 Payments with the power of DeFi. Accept any token with on-the-fly conversion with state-of-the-art widgets.
Stars: ✭ 32 (+68.42%)
Mutual labels:  payment

Actions Status Hex.pm Hex.pm Coverage Status

ExPesa 💵 💷 💴 💶

Payment Library For Most Public Payment API's in Kenya and hopefully Africa. Let us get this 💰

Related Libraries

If you intend to use just one Payment Library included below, there are some which exists as separately, you can check them out before proceeding;

Table of contents

Features

  • Mpesa
    • Mpesa Express (STK)
    • STK Transaction Validation
    • B2C
    • B2B
    • C2B
    • Reversal
    • Transaction Status
    • Account Balance
  • JengaWS(Equity)
    • Send Money
    • Send Money Queries
    • Receive Money
    • Receive Money Queries
    • Buy Goods, Pay Bills, Get Airtime
    • Airtime
    • Reg Tech: KYC, AML, & CDD API
    • Account Services
    • Forex Rates
  • Paypal
  • Card
  • iPay

Installation

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

def deps do
  [
    {:ex_pesa, "~> 0.1.1"}
  ]
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_pesa,
    mpesa: [
        consumer_key: "72yw1nun6g1QQPPgOsAObCGSfuimGO7b",
        consumer_secret: "vRzZiD5RllMLIdLD",
        mpesa_short_code: "174379",
        mpesa_passkey: "bfb279f9aa9bdbcf158e97dd71a467cd2e0c893059b10f78e6b72ada1ed2c919",
        mpesa_callback_url: "http://91eb0af5.ngrok.io/api/payment/callback"
    ]

Jenga API (Equity)

Jenga API link: https://developer.jengaapi.io

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

Read more about how the token is generted here: https://developer.jengaapi.io/docs/developer-quickstart .
The private_key is used to generate the signature. READ More: https://developer.jengaapi.io/docs/generating-signatures .

config :ex_pesa,
    jenga: [
        api_key: "=======API KEY HERE ========",
        username: "=====USERNAME HERE=====",
        password: "=======PASSWORD HERE =======",
        private_key: "=======PRIVATE KEY HERE ======="
    ]

Documentation

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

Quick Examples

Mpesa Express (STK)

  iex> ExPesa.Mpesa.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.

Contributors

Auto-populated from: contributors-img

Licence

ExPesa is released under MIT License

license

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].