curl "https://api.telzino.com/v1/payments/merchants" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
const response = await fetch(
'https://api.telzino.com/v1/payments/merchants',
{ headers: { 'Authorization': 'Bearer YOUR_ACCESS_TOKEN' } }
);
const { merchants } = await response.json();
const ready = merchants.filter(m => m.can_accept_payments);
console.log(`${ready.length} of ${merchants.length} merchants are charge-ready`);
import requests
response = requests.get(
'https://api.telzino.com/v1/payments/merchants',
headers={'Authorization': 'Bearer YOUR_ACCESS_TOKEN'}
)
merchants = response.json()['merchants']
{
"merchants": [
{
"organization_id": "123e4567-e89b-12d3-a456-426614174000",
"merchant_name": "Acme Solar",
"stripe_account_id": "acct_1AbC2DeFgHiJkLmN",
"account_status": "active",
"charges_enabled": true,
"payouts_enabled": true,
"details_submitted": true,
"can_accept_payments": true
},
{
"organization_id": "456e7890-e89b-12d3-a456-426614174001",
"merchant_name": "Best Plumbing",
"stripe_account_id": null,
"account_status": "not_started",
"charges_enabled": false,
"payouts_enabled": false,
"details_submitted": false,
"can_accept_payments": false
}
],
"count": 2
}
{
"error": "unauthorized",
"error_description": "User payload not found"
}
Payments
List Merchants
List all your merchants with their Stripe charge-readiness in a single call
GET
/
v1
/
payments
/
merchants
curl "https://api.telzino.com/v1/payments/merchants" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
const response = await fetch(
'https://api.telzino.com/v1/payments/merchants',
{ headers: { 'Authorization': 'Bearer YOUR_ACCESS_TOKEN' } }
);
const { merchants } = await response.json();
const ready = merchants.filter(m => m.can_accept_payments);
console.log(`${ready.length} of ${merchants.length} merchants are charge-ready`);
import requests
response = requests.get(
'https://api.telzino.com/v1/payments/merchants',
headers={'Authorization': 'Bearer YOUR_ACCESS_TOKEN'}
)
merchants = response.json()['merchants']
{
"merchants": [
{
"organization_id": "123e4567-e89b-12d3-a456-426614174000",
"merchant_name": "Acme Solar",
"stripe_account_id": "acct_1AbC2DeFgHiJkLmN",
"account_status": "active",
"charges_enabled": true,
"payouts_enabled": true,
"details_submitted": true,
"can_accept_payments": true
},
{
"organization_id": "456e7890-e89b-12d3-a456-426614174001",
"merchant_name": "Best Plumbing",
"stripe_account_id": null,
"account_status": "not_started",
"charges_enabled": false,
"payouts_enabled": false,
"details_submitted": false,
"can_accept_payments": false
}
],
"count": 2
}
{
"error": "unauthorized",
"error_description": "User payload not found"
}
Returns every organization (merchant) owned by your account together with its Stripe Connect status — in one call, instead of fetching status per organization. Read-only and strictly scoped to your own organizations.
Status is served from cache (no per-merchant Stripe round trip), so this endpoint is fast and safe to poll. To force a live re-sync for a specific merchant, use
GET /v1/organizations/{organization_id}/payments/status?refresh=true.
curl "https://api.telzino.com/v1/payments/merchants" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
const response = await fetch(
'https://api.telzino.com/v1/payments/merchants',
{ headers: { 'Authorization': 'Bearer YOUR_ACCESS_TOKEN' } }
);
const { merchants } = await response.json();
const ready = merchants.filter(m => m.can_accept_payments);
console.log(`${ready.length} of ${merchants.length} merchants are charge-ready`);
import requests
response = requests.get(
'https://api.telzino.com/v1/payments/merchants',
headers={'Authorization': 'Bearer YOUR_ACCESS_TOKEN'}
)
merchants = response.json()['merchants']
{
"merchants": [
{
"organization_id": "123e4567-e89b-12d3-a456-426614174000",
"merchant_name": "Acme Solar",
"stripe_account_id": "acct_1AbC2DeFgHiJkLmN",
"account_status": "active",
"charges_enabled": true,
"payouts_enabled": true,
"details_submitted": true,
"can_accept_payments": true
},
{
"organization_id": "456e7890-e89b-12d3-a456-426614174001",
"merchant_name": "Best Plumbing",
"stripe_account_id": null,
"account_status": "not_started",
"charges_enabled": false,
"payouts_enabled": false,
"details_submitted": false,
"can_accept_payments": false
}
],
"count": 2
}
{
"error": "unauthorized",
"error_description": "User payload not found"
}
Response Fields
Merchants Array
| Field | Type | Description |
|---|---|---|
organization_id | string | Merchant UUID |
merchant_name | string | Organization display name |
stripe_account_id | string | null | Stripe connected account id, or null if onboarding hasn’t started |
account_status | string | not_started, onboarding, active, or restricted — see Payments Overview |
charges_enabled | boolean | Whether Stripe allows this account to accept charges |
payouts_enabled | boolean | Whether Stripe allows payouts to the merchant’s bank |
details_submitted | boolean | Whether the merchant has finished submitting onboarding details |
can_accept_payments | boolean | Convenience flag: true only when account_status is active and charges_enabled |
Top Level
| Field | Type | Description |
|---|---|---|
count | number | Number of merchants returned |
Merchants that have never begun onboarding still appear, with
account_status: "not_started" and a null stripe_account_id. Call Start Merchant Onboarding to get them set up.⌘I
