Skip to main content
POST
Create invoice

Authorizations

Authorization
string
header
required

Store-scoped API key. Prefix with sk_live_. Example: Authorization: Bearer sk_live_EXAMPLE_DO_NOT_USE

Body

application/json
external_order_id
string
required

Required. Your own order or reference number (e.g. "order_1048"). Sent back in webhooks so you can match payments to orders in your system.

Example:

"order_demo_1048"

amount
string
required

Required. How much you want to receive, as a decimal string (e.g. "100.00"). This is the amount after currency conversion, in the currency below.

Example:

"100.00"

store_id
string<uuid>

Which store this invoice belongs to. Optional: uses your API key's default store if omitted. Must match the store tied to your API key when provided.

integration_id
string<uuid>

Optional. Link this invoice to a connected platform (e.g. WooCommerce). Omit unless you received this ID from a platform integration.

currency
string
default:USD

Optional. Three-letter currency code for amount (e.g. USD, EUR). Defaults to USD if omitted.

Example:

"USD"

callback_url
string<uri>

Optional. Legacy server callback URL. For new integrations, use Webhooks instead. Omit if you rely on webhooks.

return_url
string<uri>

Optional. Where to send the customer after they finish or cancel checkout. Omit if you handle completion via webhooks only.

metadata
object

Optional. Custom data attached to the invoice (e.g. {"cart_id": "abc"}). Returned in webhooks. Omit if you don't need extra fields.

Response

Invoice created

id
string

Unique invoice ID starting with inv_. Save this to check status or handle webhooks.

Pattern: ^(inv_|txn_|plink_|wh_|whd_|evt_|int_)[0-9a-z]{20,32}$
status
enum<string>

Where the invoice is in the payment flow:

  • pending: created, not yet ready for payment
  • quoted: price quote ready; customer can proceed to pay
  • awaiting_payment: waiting for the customer to send funds
  • paid: payment received and confirmed
  • underpaid: customer paid less than the requested amount
  • expired: not paid before the deadline
  • failed: payment or processing failed
  • refunded: payment was returned to the customer
  • cancelled: invoice was cancelled before completion
Available options:
pending,
quoted,
awaiting_payment,
paid,
underpaid,
expired,
failed,
refunded,
cancelled
checkout_url
string<uri>

Send your customer to this URL to pay (e.g. https://pay.meum.io/...). Open in a browser or redirect from your site.

Example:

"https://pay.meum.io/550e8400-e29b-41d4-a716-446655440000"

payment_url
string<uri>

Same as checkout_url. Kept for older integrations; prefer checkout_url.

amount
string

Invoice amount as a decimal string (e.g. "100.00").

Example:

"100.00"

currency
string

Currency code for amount (e.g. USD).

Example:

"USD"

output_asset
string

Stablecoin you receive when paid (e.g. USDC).

Example:

"USDC"

expires_at
string<date-time>

When this invoice stops accepting payment if still unpaid (UTC, e.g. 2025-09-01T14:31:44.171Z).