Skip to content

Commit

Permalink
initial
Browse files Browse the repository at this point in the history
  • Loading branch information
Kachit committed Mar 22, 2022
1 parent 476b716 commit a9230ce
Showing 1 changed file with 170 additions and 14 deletions.
184 changes: 170 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
```

0 comments on commit a9230ce

Please sign in to comment.