Skip to content

A Golang library aiming to help developers integrating their products with M-Pesa Platform

License

Notifications You must be signed in to change notification settings

paymentsds/mpesa-go-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

M-Pesa SDK for Go

M-Pesa SDK for Go is an unofficial library aiming to help businesses integrating every M-Pesa operations to their Go applications.

Contents

Features

  • Receive money from a mobile account to a business account
  • Send money from a business account to a mobile account
  • Send money from a business account to a another business account
  • Revert a transaction
  • Query the status of a transaction

Usage

Quickstart

Receive Money from a Mobile Account

import (
    mpesa "github.com/paymentsds/mpesa-go-sdk/pkg/mpesa"
    options "github.com/paymentsds/mpesa-go-sdk/pkg/mpesa/options"
    environment "github.com/paymentsds/mpesa-go-sdk/pkg/mpesa/environment"
)

client := mpesa.NewClient(	
   options.WithApiKey("<REPLACE>"),
   options.WithPublicKey("<REPLACE>"),
   options.WithTimeout(0),
   options.WithAccessToken("<REPLACE>"),
   options.WithServiceProviderCode("<REPLACE>"),
   options.WithSecurityCredential("<REPLACE>"),
   options.InitiatorIdentifier("<REPLACE>"),
   options.WithEnvironment(environment.SANDBOX),
)

intent := mpesa.NewIntent(
   options.To("<REPLACE>"),
   options.From("<REPLACE>"),
   options.WithReference("<REPLACE>"),
   options.WithTransaction("<REPLACE>"),
   options.WithAmount(10),
)

if response, err := client.Receive(intent); err != nil {
   // Handle failure scenarion
} else {
   // Handle success scenarion
}

Query the Status of a Transaction

Examples

Prerequisites

Installation

Using RubyGems

go get -u github.com/paymentsds/mpesa-go-sdk

Configuration

Configuration Scenario 1

Configuration Scenario 2

Configuration Scenario 3

Related Projects

Dependencies

Production Dependencies

Development Dependencies

Friends

Alternatives

Contributing

Changelog

Authors

Credits

License

Copyright 2020 Edson Michaque

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

A Golang library aiming to help developers integrating their products with M-Pesa Platform

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages