Integrations
Fee Calculation
Calculate transaction fees before starting a collection or disbursement.
Overview
The fee endpoint supports collection and disbursement calculations for both mtn_ug and airtel_ug.
Calculate transaction fees
Fee request
Use GET {{base_url}}/payments/calculate-fees with the transaction type, provider code, and amount as query parameters.
Calculate collection fees
Set transaction_type to collection to estimate the fee for receiving a payment.
const { data } = await paymentGateway.get(
"{{base_url}}/payments/calculate-fees",
{
params: {
transaction_type: "collection",
provider_code: "airtel_ug",
amount: 50000,
},
},
);
endpoint, _ := url.Parse("{{base_url}}/payments/calculate-fees")
query := endpoint.Query()
query.Set("transaction_type", "collection")
query.Set("provider_code", "airtel_ug")
query.Set("amount", "50000")
endpoint.RawQuery = query.Encode()
req, _ := http.NewRequest(http.MethodGet, endpoint.String(), nil)
req.Header.Set("Authorization", "ApiKey "+apiKeyID+":"+apiSecret)
resp, err := http.DefaultClient.Do(req)
let response = payment_gateway
.get("{{base_url}}/payments/calculate-fees")
.query(&[
("transaction_type", "collection"),
("provider_code", "airtel_ug"),
("amount", "50000"),
])
.send()
.await?
.error_for_status()?;
HttpRequest request = requestBuilder(
"{{base_url}}/payments/calculate-fees"
+ "?transaction_type=collection"
+ "&provider_code=airtel_ug"
+ "&amount=50000")
.GET()
.build();
HttpResponse<String> response =
paymentGateway.send(request, HttpResponse.BodyHandlers.ofString());
var response = await paymentGateway.GetAsync(
"{{base_url}}/payments/calculate-fees"
+ "?transaction_type=collection"
+ "&provider_code=airtel_ug"
+ "&amount=50000"
);
response.EnsureSuccessStatusCode();
var fees = await response.Content.ReadAsStringAsync();
Calculate disbursement fees
Set transaction_type to disbursement. Both mtn_ug and airtel_ug are supported.
const { data } = await paymentGateway.get(
"{{base_url}}/payments/calculate-fees",
{
params: {
transaction_type: "disbursement",
provider_code: "mtn_ug",
amount: 50000,
},
},
);
endpoint, _ := url.Parse("{{base_url}}/payments/calculate-fees")
query := endpoint.Query()
query.Set("transaction_type", "disbursement")
query.Set("provider_code", "mtn_ug")
query.Set("amount", "50000")
endpoint.RawQuery = query.Encode()
req, _ := http.NewRequest(http.MethodGet, endpoint.String(), nil)
req.Header.Set("Authorization", "ApiKey "+apiKeyID+":"+apiSecret)
resp, err := http.DefaultClient.Do(req)
let response = payment_gateway
.get("{{base_url}}/payments/calculate-fees")
.query(&[
("transaction_type", "disbursement"),
("provider_code", "mtn_ug"),
("amount", "50000"),
])
.send()
.await?
.error_for_status()?;
HttpRequest request = requestBuilder(
"{{base_url}}/payments/calculate-fees"
+ "?transaction_type=disbursement"
+ "&provider_code=mtn_ug"
+ "&amount=50000")
.GET()
.build();
HttpResponse<String> response =
paymentGateway.send(request, HttpResponse.BodyHandlers.ofString());
var response = await paymentGateway.GetAsync(
"{{base_url}}/payments/calculate-fees"
+ "?transaction_type=disbursement"
+ "&provider_code=mtn_ug"
+ "&amount=50000"
);
response.EnsureSuccessStatusCode();
var fees = await response.Content.ReadAsStringAsync();