get_payment_status
Check whether a specific credit payment has settled onto the account's ledger.
Read account
Returns data. Calling it changes nothing, so it is safe in an unattended loop.
What it does
Check whether a specific credit payment has settled onto the account's ledger.
USAGE INSTRUCTIONS FOR LLM:
A credit purchase is charged immediately but CREDITED asynchronously — the money
settles at the billing provider, whose webhook then reaches Metadata and records
the credit. So "the card was charged" and "the balance is usable" are separate
moments, usually seconds to a couple of minutes apart. This tool tells them
apart for one specific payment.
WHEN TO USE THIS TOOL:
- The account owner has paid and given you a payment/transaction reference
- You want to confirm a specific purchase landed, rather than just seeing that
the balance moved
IF YOU DO NOT HAVE A REFERENCE, USE `get_credit_balance` INSTEAD. That is the
normal way to wait for a top-up — you rarely need the reference.
Poll every 20-30 seconds, not continuously. `status` is "pending" until it
lands and "settled" after.
EXPECTED RESPONSE FORMAT:
{
"reference_id": "maxio:txn:987654",
"status": "settled", // or "pending"
"settled": true,
"amount_usd": 50.0, // null while pending
"settled_at": "2026-08-07T12:01:00",
"balance_usd": 37.5, // the balance right now
"is_exhausted": false // false means you can resume work
}Arguments
| Argument | Type | Notes | |
|---|---|---|---|
reference_id |
string | required | The payment's reference, as reported when the purchase was made (e.g. 'maxio:txn:987654'). Found on the transaction row in get_credit_transactions. |
Request
curl
curl -s -X POST https://mcp-server.metadata.io/mcp \
-H "Authorization: $METADATA_PAT" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "MCP-Protocol-Version: 2025-11-25" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_payment_status","arguments":{"reference_id":"<reference_id>"}}}'
Response
No recorded response. This tool needs arguments that only exist inside an account, so no response is recorded here.
The request above is still the exact shape to send. Nothing on this page is invented.
Related
Other account tools: