Skip to content

Disputes

When a payer contests a payment, how you respond, and what a loss costs you.

A dispute is a payer, or their card network, contesting one of your payments: you answer it, and it ends with you keeping the money or with your balance debited. You cannot create one through the API.

Two pages go further:

Where a dispute comes from

A dispute reaches you from one of two places.

The payer opens it from Pocket, the Wajub wallet where they can see the payments they have made. They pick a reason, describe the problem, and that description becomes the first message on the dispute thread.

Reason the payer picksWhat they are claiming
product_not_receivedThey paid and nothing arrived
product_not_as_describedWhat arrived was not what was sold
duplicate_chargeThey were charged twice for one thing
fraudulentThey did not make this payment
otherAnything else, explained in the description

A dispute from Pocket carries the full amount of the payment, and a due_date to answer by, seven days after it opened.

The provider reports a chargeback. When a card network or a provider notifies a chargeback on one of your payments, Wajub opens a dispute for it. It carries the provider's own provider_reference, its reason code in reason, and the amount the provider disputes, which can be less than the payment. It also carries a due_date: the provider's deadline when it sends one, seven days after opening otherwise.

Either way, a payment has one dispute in flight at a time. A second notice for the same case does not open a second dispute.

The amount is held while the dispute is open

A dispute opened from Pocket, on a payment Wajub collected for you, moves the disputed amount from your available balance to your disputed balance, as far as your available balance allows. Winning moves it back. Losing debits it, as described below.

The states a dispute moves through

A dispute lands open. Submitting evidence moves it to under_review on its own, you do not set that yourself. From either of those two states it can end as won or lost, and both are final.

Wajub adjudicates. There is no endpoint that lets you declare yourself the winner; what you can do is put the evidence in front of the people who decide, or concede.

What a loss costs

On a payment Wajub collected for you, a lost dispute takes the disputed amount off your balance, capped at whatever has not already left through a refund on the same payment, so the money cannot be taken twice. On a payment collected through your own provider account, Wajub holds none of the money, and the provider settles the chargeback with you directly.

A flat dispute fee is charged on top, 15 000 XAF by default in the dispute's currency, when the loss comes from the API, with accept or close, or from a provider chargeback. Accepting from the Dashboard does not charge it. So losing a 25 000 XAF dispute through the API costs 40 000 XAF, not 25 000. The debits happen on the status change itself, not on anything you call afterwards.

A dispute does not change the original payment's status. When you accept, the refund Wajub creates for the payer is an ordinary refund, with its own refund.* events, and shows on the payment like any other refund. It does not take the disputed amount a second time. If the payer paid Wajub's fee on top of the price (bearer: customer), that fee is debited from you as well, since the payer gets back everything they paid. The money movement shows on your balance, which is where you reconcile it.

In the Dashboard

Disputes lists them with their status and the payment behind each one. Opening a dispute gives you the payer's description, the message thread, and the same three actions the API exposes plus one it does not: you can mark a dispute as won from here when Wajub has adjudicated in your favour.

The section needs the manage_disputes permission, which is separate from manage_payments, so a teammate can run orders without being able to concede a dispute on your behalf.

Fewer disputes is cheaper than winning them

A dispute costs you time whatever the outcome, so the work that pays best happens before one exists.

Refund willingly when a customer complains and you have no case: a refund you choose costs you the amount, a dispute you lose costs the amount plus the flat dispute fee. Keep proof of delivery where you can attach it in one click. And let Shield reject the payments most likely to come back at you, since a payment refused up front cannot be disputed at all.

What did you think of this content?