Appeals
Only a Canceled order can be appealed: one that expired or was cancelled without a credit.
While an order is still open the provider may confirm it any moment; wait for it to expire, or
cancel it, then appeal. An appeal on an open order is refused with 409 ORDER_STILL_OPEN. If
the payment is confirmed while an appeal is open, the order completes and the appeal closes as
accepted on its own.
An appeal is for one situation: the customer paid, but the order closed without a credit. It opens a review by the platform; when accepted, the order is completed and credited as usual.
When to open one
- The order expired or was cancelled, and the customer shows a receipt for the transfer.
- The customer paid a different amount, or paid after the timer ran out.
- The provider reported a failure, but the money left the customer's account.
Do not open an appeal for an order that is simply still waiting: it has not been closed yet, and the callback will come. And do not open one to ask a question; that is what support is for.
Open an appeal
POST /gw/v1/appeals
{
"orderId": "ord_01M1P932FS0FQPNM3T63KM2XAT",
"reason": "the customer sent 5000 RUB at 14:32 to the phone shown",
"evidenceUrl": "https://example.com/receipts/a-17.png"
}
orderId is our id or your orderRef. reason and evidenceUrl are optional, but a review
without a receipt takes longer and is more likely to be rejected. evidenceUrl must be a URL
the reviewer can open; several can be separated by semicolons.
Response 201:
{
"status": "ok",
"result": {
"id": "apl_01M27P9BYTMMVR8RPGB1K7VEAX",
"orderId": "ord_01M1P932FS0FQPNM3T63KM2XAT",
"orderRef": "A-17",
"status": "Open",
"amount": { "value": "54.71000000", "currency": "USD" },
"reason": "the customer sent 5000 RUB at 14:32 to the phone shown",
"comment": null,
"slaDueAt": "2026-09-05T15:07:41Z",
"createdAt": "2026-09-04T15:07:41Z",
"resolvedAt": null
}
}
Rules:
- Any order that is not
Completedcan be appealed, including one still open. A completed order answers409 ORDER_ALREADY_COMPLETED. - One open appeal per order. A repeat returns the existing appeal with
201, so a retried request cannot open two. - Opening an appeal moves the order to
Disputeand sendsorder.appealedto your callback URL. amountis the settlement amount of the order at the time of the appeal, fixed even if rates move later.
The same appeal can be opened from the order page in the cabinet, where a receipt can be uploaded as a file instead of a link.
Check an appeal
GET /gw/v1/appeals/{id}
{id} is the apl_… id. The shape is the same as above.
| Status | Meaning |
|---|---|
Open | Under review. slaDueAt is the platform's target for a decision, 24 hours by default. |
Accepted | The payment was confirmed. The order completes and is credited; order.completed follows. |
Rejected | The payment was not found. The order stays cancelled with cancelReason: "appeal rejected"; order.cancelled follows. The reviewer's comment says why. |
Cancelled | Reserved. Appeals are not withdrawn today; ask support if one was opened by mistake. |
The cabinet's Appeals page shows the same list with the reviewer's reply and flags appeals past their target time.
How appeals affect routing
Open appeals count against the provider that served the order. A provider with ten or more open appeals is paused for everyone until they are resolved down to seven. This protects the whole platform from a provider that stops confirming payments; it also means a wave of unfounded appeals can pause a healthy channel. Open appeals when a customer actually paid.