From a9230ce7641d79e89083a572365e6cae85243c55 Mon Sep 17 00:00:00 2001 From: Kachit Date: Tue, 22 Mar 2022 20:58:38 +0300 Subject: [PATCH] initial --- README.md | 184 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 170 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index cb3fa14..8a00eac 100644 --- a/README.md +++ b/README.md @@ -28,29 +28,185 @@ import ( ) func main(){ + // Create a client instance cfg := dusupay.NewConfig("Your public key", "Your secret key") client, err := dusupay.NewClientFromConfig(cfg, nil) if err != nil { fmt.Printf("config parameter error " + err.Error()) panic(err) } +} +``` +### Get balances list +```go +ctx := context.Background() +balances, response, err := client.Merchants().GetBalances(ctx) - ctx := context.Background() - balances, response, err := client.Merchants().GetBalances(ctx) +if err != nil { + fmt.Printf("Wrong API request " + err.Error()) + panic(err) +} - if err != nil { - fmt.Printf("Wrong API request " + err.Error()) - panic(err) - } +//Dump raw response +fmt.Println(response) + +//Dump result +fmt.Println(balances.Status) +fmt.Println(balances.Code) +fmt.Println(balances.Message) +fmt.Println((*balances.Data)[0].Currency) +fmt.Println((*balances.Data)[0].Balance) +``` + +### Get banks list +```go +ctx := context.Background() +filter := &dusupay.BanksFilter{TransactionType: dusupay.TransactionTypePayout, Country: dusupay.CountryCodeGhana} +banks, response, err := client.Banks().GetList(ctx, filter) + +if err != nil { + fmt.Printf("Wrong API request " + err.Error()) + panic(err) +} + +//Dump raw response +fmt.Println(response) + +//Dump result +fmt.Println(banks.Status) +fmt.Println(banks.Code) +fmt.Println(banks.Message) +fmt.Println((*banks.Data)[0].Id) +fmt.Println((*banks.Data)[0].Name) +fmt.Println((*banks.Data)[0].BankCode) +``` + +### Get banks branches list +```go +ctx := context.Background() +filter := &dusupay.BanksBranchesFilter{Country: dusupay.CountryCodeGhana, Bank: "BankCode"} +branches, response, err := client.Banks().GetBranchesList(ctx, filter) + +if err != nil { + fmt.Printf("Wrong API request " + err.Error()) + panic(err) +} + +//Dump raw response +fmt.Println(response) + +//Dump result +fmt.Println(branches.Status) +fmt.Println(branches.Code) +fmt.Println(branches.Message) +fmt.Println((*branches.Data)[0].Name) +fmt.Println((*branches.Data)[0].Code) +``` + +### Get providers list +```go +ctx := context.Background() +filter := &dusupay.ProvidersFilter{Country: dusupay.CountryCodeUganda, Method: dusupay.TransactionMethodMobileMoney, TransactionType: dusupay.TransactionTypeCollection} +providers, response, err := client.Providers().GetList(ctx, filter) - //Dump raw response - fmt.Println(response) +if err != nil { + fmt.Printf("Wrong API request " + err.Error()) + panic(err) +} + +//Dump raw response +fmt.Println(response) + +//Dump result +fmt.Println(providers.Status) +fmt.Println(providers.Code) +fmt.Println(providers.Message) +fmt.Println((*providers.Data)[0].ID) +fmt.Println((*providers.Data)[0].Name) +``` + +### Create collection request +```go +ctx := context.Background() +request := &dusupay.CollectionRequest{ + Currency: dusupay.CurrencyCodeUGX, + Amount: 10000, + Method: dusupay.TransactionMethodMobileMoney, + ProviderId: "airtel_ug", + MerchantReference: "1234567891", + RedirectUrl: "http://foo.bar", + Narration: "narration", + AccountNumber: "256752000123", + MobileMoneyHpp: true, +} +result, response, err := client.Collections().Create(ctx, request) - //Dump result - fmt.Println(balances.Status) - fmt.Println(balances.Code) - fmt.Println(balances.Message) - fmt.Println((*balances.Data)[0].Currency) - fmt.Println((*balances.Data)[0].Balance) +if err != nil { + fmt.Printf("Wrong API request " + err.Error()) + panic(err) +} + +//Dump raw response +fmt.Println(response) + +//Dump result +fmt.Println(result.Status) +fmt.Println(result.Code) +fmt.Println(result.Message) +fmt.Println((*result.Data).ID) +fmt.Println((*result.Data).PaymentURL) +``` + +### Create payout request +```go +ctx := context.Background() +request := &dusupay.PayoutRequest{ + Currency: dusupay.CurrencyCodeUGX, + Amount: 10000, + Method: dusupay.TransactionMethodMobileMoney, + ProviderId: "airtel_ug", + MerchantReference: "1234567892", + Narration: "narration", + AccountNumber: "256752000123", + AccountName: "Foo Bar", } +result, response, err := client.Payouts().Create(ctx, request) + +if err != nil { + fmt.Printf("Wrong API request " + err.Error()) + panic(err) +} + +//Dump raw response +fmt.Println(response) + +//Dump result +fmt.Println(result.Status) +fmt.Println(result.Code) +fmt.Println(result.Message) +fmt.Println((*result.Data).ID) +``` + +### Create refund request +```go +ctx := context.Background() +request := &dusupay.RefundRequest{ + Amount: 100, + InternalReference: "DUSUPAY5FNZCVUKZ8C0KZE", +} +result, response, err := client.Refunds().Create(ctx, request) + +if err != nil { + fmt.Printf("Wrong API request " + err.Error()) + panic(err) +} + +//Dump raw response +fmt.Println(response) + +//Dump result +fmt.Println(result.Status) +fmt.Println(result.Code) +fmt.Println(result.Message) +fmt.Println((*result.Data).ID) ```