Skip to main content
POST
/
invoices
Create Invoice
curl --request POST \
  --url https://payments.shakesco.com/invoices \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "type": "<string>",
  "currency": "<string>",
  "items": [
    {
      "description": "<string>",
      "unit": 123,
      "price": 123,
      "image": "<string>"
    }
  ],
  "payer_email": "<string>",
  "payer_name": "<string>",
  "payer_country": "<string>",
  "tax_rate": 123,
  "store_item_ids": [
    {
      "id": 123,
      "quantity": 123
    }
  ],
  "asset": "<string>"
}
'
{
  "id": 1,
  "user_id": 42,
  "invoice_number": "INV-2026-a1b2c3d4",
  "status": "pending",
  "type": "public",
  "currency": "USD",
  "tax_rate": "0.00",
  "is_business": true,
  "receiver": "business@example.com",
  "receiver_country": "US",
  "payer_name": "Jane Doe",
  "payer_email": "customer@example.com",
  "payer_country": null,
  "asset": null,
  "amount": null,
  "rate": null,
  "tx_hash_link": null,
  "receipt_number": null,
  "payment_url": "https://pay.shakesco.com/@business/a1b2c3...",
  "expires_at": "2026-05-23T10:00:00.000000Z",
  "scanned_at": null,
  "paid_at": null,
  "store_item_ids": null,
  "created_at": "2026-05-16T10:00:00.000000Z",
  "updated_at": "2026-05-16T10:00:00.000000Z",
  "transaction_items": [
    {
      "id": 1,
      "crypto_transaction_id": 1,
      "description": "Platform Services",
      "unit": "1",
      "price": "1400",
      "image": null,
      "created_at": "2026-05-16T10:00:00.000000Z",
      "updated_at": "2026-05-16T10:00:00.000000Z"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.shakesco.com/llms.txt

Use this file to discover all available pages before exploring further.

For the complete documentation index, see llms.txt. Creates an invoice and returns the full invoice object together with a payment_url the customer opens to complete payment.

Request Body

type
string
"public" or "private". Private mode uses stealth addresses. Defaults to your account’s privacy setting.
currency
string
required
Currency code for the invoice amount (e.g. "USD", "KES"). See all codes
items
array
required
Line items (at least one required)
payer_email
string
Customer’s email address. Omit or pass null for walk-in customers.
payer_name
string
Customer’s display name (optional)
payer_country
string
Two-letter country code of the payer (optional)
tax_rate
number
Tax percentage (e.g. 16 for 16%). Defaults to 0.
store_item_ids
array
Optional array of store item objects to link catalogue items to this invoice.
asset
string
Preferred payment asset: "BTC", "ETH", "USDT", or "SATS". Can be deferred and set by the payer.

Response

Returns the full invoice object with line items.
invoice_number
string
Unique invoice identifier (e.g. "INV-2026-a1b2c3d4")
payment_url
string
Encrypted URL the customer opens to complete payment
status
string
"pending" on creation
currency
string
Invoice currency code
tax_rate
number
Tax percentage applied
expires_at
string
ISO 8601 datetime after which the invoice expires
amount
null
Deferred. Set to null until the payer initiates payment.
asset
string | null
Payment asset, null until chosen by the payer
transaction_items
array
Line items on the invoice. Each has description, unit, price, and image.
const response = await fetch("https://payments.shakesco.com/invoices", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    type: "public",
    currency: "USD",
    payer_email: "customer@example.com",
    payer_name: "Jane Doe",
    items: [{ description: "Platform Services", unit: 1, price: 1400 }],
  }),
});
const invoice = await response.json();
{
  "id": 1,
  "user_id": 42,
  "invoice_number": "INV-2026-a1b2c3d4",
  "status": "pending",
  "type": "public",
  "currency": "USD",
  "tax_rate": "0.00",
  "is_business": true,
  "receiver": "business@example.com",
  "receiver_country": "US",
  "payer_name": "Jane Doe",
  "payer_email": "customer@example.com",
  "payer_country": null,
  "asset": null,
  "amount": null,
  "rate": null,
  "tx_hash_link": null,
  "receipt_number": null,
  "payment_url": "https://pay.shakesco.com/@business/a1b2c3...",
  "expires_at": "2026-05-23T10:00:00.000000Z",
  "scanned_at": null,
  "paid_at": null,
  "store_item_ids": null,
  "created_at": "2026-05-16T10:00:00.000000Z",
  "updated_at": "2026-05-16T10:00:00.000000Z",
  "transaction_items": [
    {
      "id": 1,
      "crypto_transaction_id": 1,
      "description": "Platform Services",
      "unit": "1",
      "price": "1400",
      "image": null,
      "created_at": "2026-05-16T10:00:00.000000Z",
      "updated_at": "2026-05-16T10:00:00.000000Z"
    }
  ]
}