The Yabetoo rate card
Two lines apply to a Connect charge. They are distinct and they add up.
On 10,000 XAF of gross, Yabetoo therefore takes
375 + 100 = 475 XAF.
This rate card is negotiable per organization. Never hardcode 4.5% in your code: read your
actual grid with
GET /v1/commissions/types and
POST /v1/commissions/calculate.Declare your commission
You declare your commission on every charge, on the payment intent, in the form of a rate.Why a rate and not an amount. The gross is converted into the currency of the chosen country
at confirmation time: an intent of 100 EUR confirmed in Congo captures roughly 65,000 XAF, while
a fixed amount of 20 would stay 20. A rate applies to the actual gross.If you need a flat amount, compute it on your side and express it as a rate for that particular
sale.
fee_payer is not transmitted. It is read from the controller relationship, as you set it
at activation. Posting it is refused.The rate form passes our fixed fee through (marketplace mode only)
Incontroller mode, a rate of 5% does not charge the vendor 5%: it charges
5% + our fixed share. You declare only one number: the fixed part is ours, passed through
automatically, so that your margin does not depend on the basket.
Your margin is exactly
0.5% × gross in both cases: it no longer depends on the basket.
The two modes: fee_payer
The mode decides who bears the Yabetoo fees. It moves the burden, it never removes it: the
Connect surcharge applies in both modes.
- Marketplace mode (controller)
- Platform mode (account)
The Yabetoo fees are taken out of your commission. The vendor only bears a single
deduction: yours.Your margin is the residue. That is why there is a floor, and why our fixed share is
passed through into it: your commission funds our fees.
Comparison table
On 10,000 XAF of gross, standard rate card, withapplication_fee_rate:
In all three cases the total is exactly 10,000: Connect neither creates nor destroys money.
On the “commission actually taken” line: in
controller mode, the 25 XAF fixed fee is added
to your rate (1,000 + 25); in account mode, it is not: the vendor already pays it separately,
and passing it through would make them pay it twice.The refusals, and how to avoid them
connect.application_fee_too_low (400)
controller only
Your commission must exceed (not merely cover) the Yabetoo fees. Equality is refused: it
would leave you at zero net, which is not a viable operation.
number
The rate floor, as a percentage. On the standard rate card it is 4.5%: the collection
rate (3.5%) plus the Connect one (1%).It is called excluded because the bound is strict: at exactly 4.5%, it is still refused.
number
The rate you sent.
In
account mode there is no floor: your commission has nothing to fund, it can be zero.
This refusal never occurs there.connect.application_fee_too_high (400)
Your commission exceeds the amount charged.
connect.vendor_net_not_positive (422)
After all deductions, the vendor would receive zero or less. There is nothing to credit.
connect.incomplete_request (422)
on_behalf_of and application_fee_rate must be supplied together.
connect.fee_payer_unset (422)
The targeted connected account has no usable fee_payer. Activate Connect on your account
before charging. See Activate Connect.
E_CONNECT_PRICING_UNAVAILABLE (503)
The commission grid could not be resolved. Connect fails closed: it never charges a fallback
rate. Retry; if the refusal persists, contact support: a rate card line is missing for your
organization.
Rounding
Amounts are computed in exact decimal then rounded to two decimal places (HALF_UP for fees,
ROUND_DOWN for the captured amount). The rounding residue goes to Yabetoo: the vendor and
you receive deterministic amounts.
XAF has no sub-unit. The amounts that actually leave the system towards the operator are whole numbers; fractions stay internal to the ledger.
What about deferred mode?
An allocation also carries the 1% Connect surcharge, computed on the allocated amount, not on the original gross. Without it, “charge with no vendor, then allocate” would reach the same economic result while paying 1% less. Thefee_payer of the relationship applies there in the same way: in controller mode you are
debited amount + 1% and the vendor receives amount; in account mode the vendor receives
amount − 1%.