Documentation
Payments
payments.accepted_methods
REST
ShippingPOST /api/v1/payments/accepted_methodsMCP tool
Livepayments.accepted_methodsExposed on: REST API · Shop MCP server · Claude connector · Dash (in-app copilot) · Zapier. Part of the Payments domain.
Operating contract
THE READ BEFORE TELLING A CUSTOMER HOW TO PAY. It resolves the shop's own checkout settings into the doors a customer actually sees: whether the hosted card checkout is open, whether an e-transfer is accepted and to what address, and what surcharge — if any — is added when they pay by card.
card is only meaningful alongside card_live: a shop can have the card door open in its settings and no working payment processor behind it, in which case the customer cannot pay by card whatever the setting says. Both have to be true.
etransfer_email is where the customer sends the money and it is never returned unless e-transfer is genuinely open — an e-transfer option with no address is a dead end wearing a button.
surcharge_percent is added to what the customer pays when they choose the card. Quote it before they pick, never after. It is 0 unless the shop deliberately switched surcharging on.
THERE ARE NO SAVED CARDS IN THIS PRODUCT and no capability that could return one. Service VIN never holds a card number; a card is entered by the customer on the processor's own hosted page every time. If somebody asks you to charge a card on file, the honest answer is that there is not one.
This is one shop's settings and returns all of them, so nothing is truncated.
Who may call it
- Permission
invoices.accessThe caller must hold Invoices at the ACT level. A read-only dashboard grant on the same section is refused.- Plan
- Every planNo plan gate. Available on every Service VIN plan.
- Retries
naturalNaturally idempotent — running it twice leaves the same world as running it once. A retrying integration needs no key.- Rate class
readCounted against the read budget — the widest of the four.
Input
This capability takes no arguments.
Output
| Field | Type | Description |
|---|---|---|
| card | boolean | — |
| card_live | boolean | — |
| etransfer | boolean | — |
| etransfer_email | string | — |
| etransfer_instructions | string | — |
| surcharge_percent | number | — |
Examples
Built from this capability's own schema — required fields and the ones carrying a default, and nothing invented. Paste one and it validates.
export SERVICEVIN_API_KEY=svk_live_…
curl -X POST https://www.servicevin.com/api/v1/payments/accepted_methods \
-H "Authorization: Bearer $SERVICEVIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'const res = await fetch("https://www.servicevin.com/api/v1/payments/accepted_methods", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SERVICEVIN_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({}),
});
// Success and failure are both envelopes. Switch on error.code, never
// on error.message — the codes are stable, the messages are for people.
const payload = await res.json();
if (!res.ok) throw new Error(payload.error.code);
const data = payload.data;import os, requests
res = requests.post(
"https://www.servicevin.com/api/v1/payments/accepted_methods",
headers={"Authorization": f"Bearer {os.environ['SERVICEVIN_API_KEY']}"},
json={},
timeout=30,
)
payload = res.json()
if not res.ok:
raise RuntimeError(payload["error"]["code"])
data = payload["data"]{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "payments.accepted_methods",
"arguments": {}
}
}Refusals
The four gates run in this order on every surface, and the order is not arbitrary — see Authentication.
| Status | Code | When |
|---|---|---|
| 404 | not_found | The id is unknown, or the feature is not enabled for this account. Deliberately the same answer for both. |
| 403 | forbidden | This login does not hold invoices.access. |
| 422 | validation_error | An argument was wrong. The message names the field. |
| 429 | rate_limited | Too many read calls. Back off and retry. |
| 500 | internal_error | Something failed on our side. Nothing was changed. |