Read a refund quote
Returns a read-only refund reconciliation snapshot for one account-owned numeric order ID, covering ordinary orders and eligible subscriptions.
https://notpanel.com/api/v3action=refund_quoteapplication/x-www-form-urlencodedaction=refund_quote never cancels an item and never changes the wallet. Use it to interpret charge and refund fields before deciding whether another documented action is appropriate.Parameters
| Name | Type | Description |
|---|---|---|
| keyRequired | string | Your API key. |
| actionRequired | string | Must be the literal string "refund_quote". |
| orderRequired | string | One account-owned numeric order ID. Older UUID and sub_ references remain accepted for backward compatibility. |
Example request
Replace YOUR_API_KEY with the key generated under your dashboard’s API page.
curl -X POST https://notpanel.com/api/v3 \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "key=YOUR_API_KEY&action=refund_quote&order=7001"const res = await fetch("https://notpanel.com/api/v3", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: new URLSearchParams({
key: "YOUR_API_KEY",
action: "refund_quote",
order: "7001",
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://notpanel.com/api/v3",
data={
"key": "YOUR_API_KEY",
"action": "refund_quote",
"order": "7001",
},
)
print(res.json())<?php
$body = http_build_query([
'key' => 'YOUR_API_KEY',
'action' => 'refund_quote',
'order' => '7001',
]);
$response = file_get_contents('https://notpanel.com/api/v3', false, stream_context_create([
'http' => [
'method' => 'POST',
'header' => "Content-Type: application/x-www-form-urlencoded\r\n",
'content' => $body,
'ignore_errors' => true,
],
]));
print_r(json_decode($response, true));
Example response
{
"order": 7001,
"kind": "order",
"status": "In progress",
"status_key": "in_progress",
"currency": "USD",
"original_charge": "0.50",
"refunded": "0.00",
"refund_pending": 0,
"refund_pending_amount": "0.00",
"refundable_now": "0.00",
"cancel_available": false,
"cancel_before": "2026-08-25T10:30:15.000Z",
"unresolved_refund_guaranteed_at": "2026-09-01T10:30:00.000Z",
"unresolved_refund_amount": "0.50",
"partial_refund_calculation": "confirmed_refund_ratio"
}Common errors
| Status | Body | Cause |
|---|---|---|
| 400 | {"error":"Missing parameter: order"} | The required order parameter was omitted. The response is 400. |
| 404 | {"error":"Order not found"} | No matching item belongs to this account, or the sub_ reference is not an eligible upstream-managed subscription. The response is 404. |