Fees And Who Pays Them

What Kyshi deducts, how the breakdown is structured, and how to pass fees to the customer.

Every collection and payout carries fees. Kyshi returns them itemised on the transaction and on the webhook, so you can reconcile to the cent rather than inferring a total.

Who Pays

feeBearer decides whether the fee comes out of your revenue or is added to what the customer pays.

feeBearerEffect
MERCHANTThe customer pays the amount you specified. Fees are deducted from your proceeds.
CUSTOMERFees are added on top. The customer pays more than your base amount; you receive the full base amount.

feeBearer can be set per payment link, per virtual account, and per external link. If you do not set it, your business default applies.

When feeBearer is CUSTOMER, the amount the customer actually owes is larger than the amount you sent. For virtual accounts, the customer-facing figures are returned explicitly:

FieldMeaning
requestedAmountThe amount you asked for.
payableAmountWhat the customer must actually transfer.
feeBearerWhich party is bearing the fee.
feeBreakDownThe itemised fees.

Show payableAmount to the customer, never requestedAmount. Displaying the wrong one is the most common cause of PARTIAL collections.

The Fee Breakdown

feeBreakDown appears on transactions and inside meta.feeBreakdown on webhooks.

{
  "processorFee": 50,
  "stampDuty": 0,
  "vat": 10,
  "fee": 200,
  "allInclusiveKyshiFee": 200,
  "others": {},
  "totalFees": 260
}
FieldWhat it is
feeThe Kyshi fee for the transaction.
allInclusiveKyshiFeeThe Kyshi fee expressed inclusive of applicable tax.
processorFeeThe underlying payment processor's fee.
stampDutyStatutory stamp duty, where the market applies it.
vatTax charged on the fee.
othersAny additional components, keyed by name.
totalFeesThe sum of everything deducted.

Reconcile against totalFees. Do not sum the individual components yourself — allInclusiveKyshiFee overlaps with fee and vat, so adding every field together will overstate the total.

Amounts in the breakdown are in the transaction's local currency, in major units.

Net Amount

netAmount is what the transaction contributes to your balance after fees:

netAmount = amount - totalFees        (feeBearer = MERCHANT)
netAmount = amount                    (feeBearer = CUSTOMER)

Use netAmount for revenue recognition. Use amount for what the customer was charged. They are different numbers and conflating them will break your books.

Tax Treatment

taxChargeable describes how tax relates to the fee.

ValueMeaning
INCLUSIVETax is already contained within the quoted fee.
EXCLUSIVETax is added on top of the quoted fee.

This is returned on the transaction and in meta.taxChargeable. It is set by your pricing configuration rather than per request.

How Fees Are Structured

Your pricing may be a flat amount, a percentage, a combination, or tiered by amount. Percentage pricing is commonly capped, so that large transactions do not attract an unbounded fee — the cap applies once the transaction crosses a trigger threshold.

The exact figures for your account are part of your commercial agreement and are visible on your dashboard. They are not something your integration should hardcode; read feeBreakDown from the response instead, so that a pricing change does not silently break your reconciliation.

Pricing can differ by payment channel — card, bank transfer, and mobile money are priced separately — and by whether the money is coming in or going out.

Checking Fees Before You Charge

To show a customer what they will pay before creating a transaction, or to model your own margin, read your current rate and fee configuration:

GET {{host}}/v1/config/rates

This returns the rate and fee that would apply, along with the relevant business settings. See FX And Rates.

Payout Fees

Payouts carry fees too, and they are charged against your available balance alongside the payout amount. Kyshi checks that your balance covers both before sending. If it does not, the payout is rejected with an insufficient funds error.

When you are sizing a payout against your balance, subtract the fee as well as the amount. See Balances.

Next


Did this page help you?