Menu
Platform
AI
App store purchases
Credits
Database
Flags
Generated Assets
Monitoring
Notifications
Organizations
Payments
- Payments
- Payments quickstart
- Checkout policies
- Checkout sessions
- Customer subscriptions
- Entitlement grants
- Exchange rates
- Licence keys
- Licence tokens
- Merchant accounts
- Portal sessions
- Price catalogs
- Revenue
- Revenue facts
- Revenue sources
- Tax threshold statuses
- Usage events
- Usage invoices
- Usage meter prices
- Usage meters
- Usage reservations
- Usage settings
- Usage tiers
Sandboxes
Webhooks
Getting Started
Authentication
KV Store
Deploy & Infrastructure
Reference
Record payment on an invoice
A seller operator records an externally verified full invoice payment.
A seller operator records an externally verified full invoice payment. The platform-only scope cannot be granted by customer owners/admins. The invoice name identifies the customer, not the seller. References are immutable and idempotent per org and method; conflicting reuse is refused.
Not available yet. Sylphx Billing is declared in the registry but no backend serves it: every call answers 501 with the problem code UNIMPLEMENTED.
- Path
POST https://api.sylphx.com/v1/orgs/acme/invoices/invoice:recordPayment - Scope
billing:payments:record - Effect
write— a successful call changes state. - Collection invoices
#Request
| Field | Type | What it is |
|---|---|---|
name | string | The invoice to settle in full. Required. |
payment_method | string | card or invoice debits cash; internal_settlement debits a dedicated noncash journal account, never cash or promotional/customer credit. Required. |
settlement_reference | string | Bank/provider/journal reference, 1..200 bytes, unique per org and method. Required. |
amount | Money | Positive exact full outstanding balance in USD integer minor units. Required. |
#Money
| Field | Type | What it is |
|---|---|---|
currency_code | string | ISO 4217 currency, for example USD. Required. |
units_minor | int64 | The amount in the currency's minor unit (cents for USD). Required. |
#Response
| Field | Type | What it is |
|---|---|---|
name | string | orgs/{org}/invoices/{invoice}. |
uid | string | inv_<cell><ulid>. Output only. |
meta | ResourceMeta | Resource metadata. Output only. |
number | string | The human-readable invoice number, unique per org. Output only. |
state | InvoiceState | The invoice's lifecycle state. Output only. One of draft, open, paid, void, uncollectible, credited. |
currency_code | string | ISO 4217 currency of every amount. Output only. |
period_start_time | timestamp | The start of the billed period. Output only. |
period_end_time | timestamp | The end of the billed period. Output only. |
lines | InvoiceLine[] | The lines, grouped by service. Output only. |
subtotal | Money | The sum of the rounded lines before tax. Output only. |
tax | Money | Tax. Output only. |
total | Money | Subtotal plus tax. Output only. |
amount_due | Money | What is still owed. Output only. |
amount_paid | Money | What has been paid, confirmed by provider readback or authorized settlement. Output only. |
finalize_time | timestamp | When the invoice was finalized. Output only. |
due_time | timestamp | When payment is due. Output only. |
paid_time | timestamp | When the invoice was paid in full. Output only. |
completeness | double | The share of the period's usage that had reached Billing when the invoice was finalized, from 0 to 1; below 1 the invoice carries a note. Output only. |
credit_notes | CreditNote[] | Credit notes issued against this invoice, oldest first. Output only. |
settlements | InvoiceSettlement[] | Immutable authorized external payment records, oldest first. Output only. |
#ResourceMeta
| Field | Type | What it is |
|---|---|---|
generation | int64 | Increases by one on every change to spec. Output only. |
etag | string | Strong ETag (AIP-154): changes on any change to spec, status, or metadata. Send it back as If-Match or etag to make Update and Delete conditional; a mismatch fails with ABORTED / 409 ETAG_MISMATCH. Output only. |
create_time | timestamp | When the Resource was created. Output only. |
update_time | timestamp | When the Resource last changed. Output only. |
delete_time | timestamp | Set while the Resource is being deleted. Output only. |
labels | map<string, string> | Caller-writable, indexed labels (AIP-122 label rules). |
annotations | map<string, string> | Caller-writable, unindexed annotations. |
display_name | string | Caller-writable human-readable name. |
creator | string | The principal that created the Resource. Output only. |
#InvoiceLine
| Field | Type | What it is |
|---|---|---|
kind | InvoiceLineKind | What the line charges for. Output only. One of fee, usage, late_usage, credit, proration. |
description | string | A customer-safe description. Output only. |
service | string | The service the line belongs to; empty for the plan fee. Output only. |
meter | string | The meter id, for usage lines. Output only. |
meter_version | int32 | The meter version, for usage lines. Output only. |
dimensions | map<string, string> | The dimensions the price matched. Output only. |
tier | int32 | The price tier, from 1. Output only. |
quantity | int64 | The rated quantity, in the meter's base unit. Output only. |
unit_amount_minor | Rational | The price per base unit. Output only. |
amount | Money | The line amount in minor units. Project usage lines share the half-even rounded org price total; deterministic residual allocation conserves it. Output only. |
project | string | The project whose usage this line rates. Empty for org-level lines and historical invoices without recorded project attribution. Included allowances are pooled per org and price, never duplicated per project. Output only. |
shadow_cost | Money | Sylphx's cost to serve this usage, not charged to the customer. Unset when no shadow price was recorded. Project costs conserve the rounded org COGS total per price by the same deterministic allocation. Output only. |
#Money
| Field | Type | What it is |
|---|---|---|
currency_code | string | ISO 4217 currency, for example USD. Required. |
units_minor | int64 | The amount in the currency's minor unit (cents for USD). Required. |
#CreditNote
| Field | Type | What it is |
|---|---|---|
number | string | The human-readable credit note number. Output only. |
total | Money | The amount credited. Output only. |
reason | string | A customer-safe reason. Output only. |
issue_time | timestamp | When the credit note was issued. Output only. |
#InvoiceSettlement
| Field | Type | What it is |
|---|---|---|
payment_id | string | Deterministic identity of the recorded payment. Output only. |
payment_method | string | card, invoice, or internal_settlement. Output only. |
settlement_reference | string | External provider, bank or internal journal reference. Output only. |
amount | Money | The exact full outstanding amount settled. Output only. |
record_time | timestamp | When Billing recorded the payment. Output only. |
recorder | string | Principal from the verified seller Access grant, never supplied by the request. Output only. |
#Rational
| Field | Type | What it is |
|---|---|---|
numerator | int64 | The numerator. Required. |
denominator | int64 | The denominator; never zero. Required. |
#Errors
UNAUTHENTICATED— No valid key or token was presented.PERMISSION_DENIED— The key lacks the method's permission.RESOURCE_NOT_FOUND— The named Resource does not exist or is not visible.INVALID_FIELD— A field failed validation.IDEMPOTENCY_KEY_REUSED— An Idempotency-Key was reused with another body.UNAVAILABLE— The Resource store, the owning service's backend, or the key verifier's snapshot is unavailable; retry after Retry-After.
Every error arrives in the body Errors describes.
#Examples
curl -X POST "https://api.sylphx.com/v1/orgs/acme/invoices/invoice:recordPayment" \
-H "Authorization: Bearer $SYLPHX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"amount":{"currency_code":"…","units_minor":1},"payment_method":"…","settlement_reference":"…"}'