Chargebacks
A chargeback occurs when a cardholder's bank reverses a payment and reclaims the funds on the customer's behalf. Odus does not automatically detect chargebacks from your payment gateway — you must record them manually when your bank or processor notifies you.
Once recorded, the payment is marked as chargebacked and you can optionally restrict the customer from making further payments.
Prerequisites
- A valid payment ID (
pay_...) for the payment that received the chargeback. - A Secret API Key if recording via the API.
Record a chargeback via the API
Send a POST /payments/{id}/record-chargeback request with the payment ID in the path.
An empty body is valid when you only want to mark the payment as chargebacked without applying any restrictions:
{}
After a successful request, the payment's isChargebacked field is set to true and chargebackRecordedAt is set to the current timestamp.
Recording a chargeback does not prevent further operations on the payment. You can still capture or reverse it after recording a chargeback.
Blacklist the customer
Set blacklistCustomer to true to add the customer to the blacklist in addition to recording the chargeback. This blocks all future payments by the customer based on their email address — including all products, recurring charges, and new customer-initiated payments.
{
"blacklistCustomer": true
}
Apply fine-grained restrictions
Use the customerRestrictions object for more targeted control over what the customer can and cannot do after the chargeback.
Set restrictCit to block customer-initiated payments, restrictMit to block merchant-initiated payments, and restrictReason to record a human-readable explanation. See the POST /payments/{id}/record-chargeback reference for the full parameter list.
{
"customerRestrictions": {
"restrictMit": true,
"restrictCit": false,
"restrictReason": "Chargeback filed by customer on 2024-03-15"
}
}
You can combine blacklistCustomer and customerRestrictions in the same request.
blacklistCustomer and customerRestrictions are independent mechanisms. Blacklisting is based on the customer's email and blocks payments across the platform. Customer restrictions are scoped to your merchant account and offer finer-grained control.
Response
The payment object in the response includes:
isChargebacked: truechargebackRecordedAt: the timestamp when the chargeback was recorded.
If restrictions were applied, the customer object embedded in the payment will also reflect the updated restrictMit, restrictCit, and isRestricted fields.
Restrictions can also be managed independently of a chargeback using the POST /customers/{id}/restrictions endpoint. This is useful if you need to update or remove restrictions at a later time.
Record a chargeback via the Dashboard
- In the Dashboard, go to Payments.
- Find and open the payment that received the chargeback.
- Click Record chargeback.
- In the dialog, configure the available options:
- Blacklist customer — blocks all future payments by this customer based on their email address.
- Restrict Recurring Payments — blocks future recurring subscription charges and cancels active subscriptions at the end of their current billing period.
- Restrict Customer Initiated Payments — blocks future customer-initiated payments, such as upsells and one-off purchases.
- Restrict reason — an optional note stored on the customer record.
- Click Submit.
The Record chargeback action is only available for payments that have not already been chargebacked.
View chargebacked payments
In the Payments list, use the display status filter and select Chargeback to show only payments with a recorded chargeback.