Skip to content
Coritan Docs

Ask for a refund

Ask for money back on a paid invoice, follow your request on the Refunds tab of Billing, and withdraw it before staff decide.

View as Markdown

In the dashboard

You can ask for all or part of what you paid on an invoice back. Coritan staff read each request and decide. An approved refund goes back to the payment you made, or to your credit balance when that payment cannot take it. The Refunds tab of Billing shows every request you sent and what happened to it.

  • Sign in to the dashboard.
  • Find the invoice. You can ask for a refund on a paid invoice, one request at a time. Pay an invoice explains how to find one.
  1. In the sidebar, select Billing, then the Invoices tab.
  2. Choose the Paid filter, then select View beside the invoice.
  3. Select Ask for a refund….
  4. Under How much, choose everything paid, or Part of it and enter the Amount.
  5. In Why do you want a refund?, tell staff what happened, in at least 10 characters. They decide from what you write.
  6. Select Send request.

A message confirms it, such as Refund request for INV-20260925-48213 sent. While the request is open, the invoice shows a Refund line with its status and amount, and Ask for a refund… does not appear.

  1. In the sidebar, select Billing, then the Refunds tab.
  2. Find the invoice in Refund requests. The newest request is first.

Each request has one of these statuses:

Status Meaning
Waiting for review Staff have not decided yet. You can withdraw it.
Being refunded Staff are sending the refund now.
Refunded The money went back. Decided says where: to the original payment method or to account credit.
Declined Staff declined it.
Withdrawn You withdrew it.

When staff leave a note, it appears under the request after Our answer:. We also email you when staff decide.

  1. On the Refunds tab, select Withdraw… beside a request that is Waiting for review.
  2. Select Withdraw request.

A message confirms it, such as Refund request for INV-20260925-48213 withdrawn. Staff stop reviewing it, and you can send a new request for the invoice.

When staff approve a request:

  • A refund to the original payment method goes back to the card or account you paid with. Your bank can take up to ten working days to show it.
  • A refund to account credit goes on your credit balance at once, and pays your next invoices (How Coritan spends credit).
  • The refund appears on the Transactions tab (Transactions and payment attempts).
  • The invoice's paid amount goes down by the refund. An invoice refunded in full shows refunded.
Ask for a refund… does not appear
The invoice is not paid, nothing paid on it is left to refund, or a request for it is open already. The Refund line on the invoice links to the open request.
Enter an amount up to $12.99, what was paid.
You asked for more than was paid on the invoice. Enter a smaller amount, or choose everything paid.
Say why you want a refund, in at least 10 characters.
Tell staff what happened, in a sentence or two.
A refund request for this invoice is already open. Withdraw it to send a new one.
Each invoice takes one open request. Withdraw the open one first, or wait for staff to decide.
Too many requests for this action. Please wait and try again.
You can send 10 requests an hour. Wait an hour, then try again.
We are already refunding this request, so it cannot be withdrawn.
Staff approved the request while you were withdrawing it. The refund goes ahead.
This request was already decided, so it cannot be withdrawn.
Staff decided the request, or you withdrew it already. The tab reloads to show its status.

GET /billing/refund-requests lists your requests, newest first and at most 200:

Shell
curl https://api.coritan.com/api/v1/billing/refund-requests \
  -H "Authorization: Bearer $CORITAN_TOKEN"
JSON
{
  "items": [
    {
      "id": 142,
      "invoice_id": 5011,
      "invoice_number": "INV-20260925-48213",
      "amount": "12.99",
      "currency": "USD",
      "reason": "The server never started after I ordered it.",
      "status": "approved",
      "status_label": "Refunded",
      "admin_notes": "Sorry about that. We refunded the whole invoice.",
      "method": "credit",
      "method_label": "Account credit",
      "created_at": "2026-09-25T10:14:03",
      "decided_at": "2026-09-25T15:02:47",
      "can_withdraw": false
    }
  ]
}
status
pending (waiting for review), processing (being refunded), approved (refunded), rejected (declined) or withdrawn. status_label is the name the dashboard shows.
amount and currency
What you asked for, as a decimal string, in the invoice's currency.
method and method_label
Where an approved refund went: gateway (the original payment method) or credit (account credit). null until staff approve it.
admin_notes
The note staff left, or null.
can_withdraw
true while you can still withdraw the request.

POST /billing/refund-requests takes the invoice's id, a reason of 10 to 2,000 characters, and an optional amount. Leave amount out to ask for everything paid.

Shell
curl -X POST https://api.coritan.com/api/v1/billing/refund-requests \
  -H "Authorization: Bearer $CORITAN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"invoice_id": 5011, "amount": "5.00", "reason": "I cancelled the add-on the day after I paid."}'

It answers 201 with the request, in the shape above.

Status Answer
404 Invoice not found
409 You can ask for a refund only on a paid invoice.
409 Nothing paid on this invoice is left to refund.
409 A refund request for this invoice is already open. Withdraw it to send a new one.
422 The most you can ask for on this invoice is 12.99 USD.
429 "error": "rate_limited", after 10 requests in an hour

POST /billing/refund-requests/{request_id}/withdraw withdraws a request that is still pending, and answers it with "status": "withdrawn". A request that is not yours answers 404 with Refund request not found, and one that is no longer pending answers 409.

API operations on this page

MethodPathWhat it does
GET/api/v1/billing/refund-requestsThe account's refund requests, newest first
POST/api/v1/billing/refund-requestsAsk for money back on a paid invoice: all of it, or amount
POST/api/v1/billing/refund-requests/{request_id}/withdrawWithdraw a request staff have not decided yet