Fees
The donor always pays exactly the amount you asked for. There is no
processing fee added at checkout, no “cover the fees?” toggle, no surcharge
line item. If you mint a link for 50000 COP, the donor is charged COP 50.000.
Everything on this page is deducted from what is collected — never charged on
top of it.
The two fee models
Section titled “The two fee models”Every cause carries two independent fields: fee_model says who bears the
payment gateway’s own cost, and fee_percent says what Vaki’s commission
is.
fee_model | What it means |
|---|---|
plus_gateway_costs | Vaki’s commission and the gateway’s cost for each payment are deducted from the cause |
all_inclusive | Only the single fee_percent is deducted; Vaki absorbs the gateway’s cost |
The platform default is plus_gateway_costs at 5% — that is what a cause
created through POST /v1/vakis gets unless your agreement sets something
else. An all_inclusive rate (typically 10%) is available by agreement, for
partners who want one number and no per-method variance.
What the cause receives
Section titled “What the cause receives”A COP 50.000 donation, under each model:
plus_gateway_costs (5%) | all_inclusive (10%) | |
|---|---|---|
| Donation | 50.000 | 50.000 |
| Vaki commission | − 2.500 | − 5.000 |
| Gateway cost (per method) | − e.g. 1.000 (PSE) | absorbed by Vaki |
| Credited to the cause | ≈ 46.500 | 45.000 |
The gateway’s own cost varies by payment method — PSE charges a flat fee per
transaction; card networks charge a percentage plus cross-border and FX spread
where it applies. Under all_inclusive that variance is Vaki’s problem rather
than the cause’s, which is the point of the model.
fee_percent and fee_model on the API
Section titled “fee_percent and fee_model on the API”POST /v1/checkout_links returns the cause’s fee_percent on the link it
mints:
{ "id": "chl_01J9Z4M2K7QF3B", "amount": 50000, "currency": "COP", "fee_percent": 5}And a cause resource carries both fields:
{ "key": "clinicalaliga", "fee_percent": 5, "fee_model": "plus_gateway_costs"}Both fields are part of your commercial agreement, not per-request choices.
They are set on the cause when it is created, and a key without the
vakis:set_fee permission that asks for a different fee_percent or
fee_model is answered with
fee_percent_not_permitted or
fee_model_not_permitted rather than
given a silently adjusted cause. You cannot override either on a checkout
link, deliberately: what applies is resolved server-side from the cause, never
from anything a request or a URL carries. A donor editing a query string can
change what they pay; they cannot change what anyone is charged for it.
What is not on this page
Section titled “What is not on this page”Some fee-adjacent mechanics are outside this API and are not documented here because we would be guessing at your case:
- Withdrawal mechanics — minimums, timing and any fees on getting money out of a cause to a bank account. Those live with the withdrawal flow in the Vaki dashboard today, and they will be documented on this site alongside the withdrawals endpoint, not before.
- Taxes and tax receipts. Colombian tax treatment depends on the cause’s legal entity. For US donors, Vaki does not issue donor acknowledgments today — see Known limitations before you tell anyone what their gift does for their taxes. Ask us about your specific case rather than inferring it from a docs page.
- Negotiated rates. If the standard rates do not work for your volume, that is a conversation with Vaki, not a field in the API.
If you need any of these in writing before you integrate, mail soporte@vaki.co and ask for the specific number. We would rather answer than have you build against an assumption.