Logo Lanfrica

freelancer254/mpesa-go

Domaine:

digital infrastructure

Type de record:

software
Créateur:
fre
Hôte:
A go Mpesa Daraja API wrapper # M-Pesa Go A high-performance Go module for interacting with Safaricom's M-Pesa Daraja API. ## Installation ```bash go get github.com ``` ## Usage ```go package main import ( "context" "github.com" "github.com" "github.com" "log" ) func main() { mpesa := client.NewMpesa() ctx := context.Background() // Get access token token, err := mpesa.GetAccessToken(ctx, "consumer_key", "consumer_secret") if err != nil { log.Fatalf("Failed to get access token: %v", err) } // Encode password password := utils.EncodePassword("123456", "passkey") // Initiate STK Push payload := types.STKPushRequest{ AccessToken: token.AccessToken, BusinessShortCode: "123456", Password: password, Amount: "100", PartyA: "254700000000", PartyB: "123456", PhoneNumber: "254700000000", CallBackURL: "callback.example.com", AccountReference: "Test123", TransactionDesc: "Payment", } response, err := mpesa.STKPush(ctx, payload) if err != nil { log.Printf("STK Push failed: %v", err) // e.g., "STK Push failed: Request canceled by user. (code: 1032)" return } log.Printf("STK Push response: %+v", response) } ``` ## Prerequisites - M-Pesa API credentials (Consumer Key, Consumer Secret, ShortCode, Passkey). - Go 1.18 or higher.

Languages