Create the intent
Add two fields to your usual payment intent creation call.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 stays correct at any scale.
What happens at capture
On 10,000 XAF, withapplication_fee_rate: 10, in controller mode and on the standard rate
card (collection 3.5% + 25, Connect 1%):
Check:
8 975 + 550 + 475 = 10 000.
The detail of both modes and of the refusals: Commissions and pricing.
Reading the shares after capture
GET /v1/payment-intents/{id} carries a connect block on any intent created with
on_behalf_of. It is null on an ordinary intent.
200
These amounts describe the capture: a later refund or reversal does not change them. The block
is present on the single read only, not on the intent list.
Checks performed at creation
Yabetoo refuses when the intent is created, not when the customer pays. This is deliberate: a contract refusal must reach your developer, not your buyer.1
The vendor is indeed yours
Otherwise
403. An unknown vendor and a vendor belonging to another marketplace return the
same response.2
The commission mode is known
Otherwise
422 connect.fee_payer_unset. Activate Connect on your account.3
Your commission covers the Yabetoo fees
In
controller mode only. Otherwise 400 connect.application_fee_too_low, with the rate
floor and the required minimum in the body.4
The vendor would receive a positive amount
Otherwise
422 connect.vendor_net_not_positive.