Skip to main content
GET
/
invoices
/
{invoice_number}
Get Invoice
curl --request GET \
  --url https://payments.shakesco.com/invoices/{invoice_number} \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://payments.shakesco.com/invoices/{invoice_number}"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://payments.shakesco.com/invoices/{invoice_number}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://payments.shakesco.com/invoices/{invoice_number}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://payments.shakesco.com/invoices/{invoice_number}"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://payments.shakesco.com/invoices/{invoice_number}")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://payments.shakesco.com/invoices/{invoice_number}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "id": 1,
  "user_id": 42,
  "invoice_number": "INV-2026-a1b2c3d4",
  "status": "pending",
  "type": "public",
  "currency": "USD",
  "tax_rate": "0.00",
  "is_business": true,
  "from_store": false,
  "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...",
  "redirect_url": "https://yourstore.com/order/complete",
  "expires_at": "2026-05-23T10:00:00.000000Z",
  "scanned_at": null,
  "paid_at": null,
  "store_item_ids": null,
  "name": "business",
  "image": "https://example.com/avatar.jpg",
  "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"
    }
  ]
}
{ "message": "Transaction not found." }
For the complete documentation index, see llms.txt. Returns a single invoice by its number. The response includes two extra fields injected by the API for payment-page rendering: name (the receiver’s username) and image (the receiver’s profile photo URL).

Path Parameters

invoice_number
string
required
The invoice’s unique identifier (e.g. INV-2026-a1b2c3d4)

Response

invoice_number
string
The invoice identifier
status
string
"pending", "scanned", "paid", "expired", or "void"
payment_url
string
URL the customer opens to pay
redirect_url
string | null
URL the customer is sent to after paying, or null if none was set
from_store
boolean | null
Whether the transaction originated from the Shakesco store. true for store transactions, false for a standard invoice you created through the API, and null when it does not apply. Use this to tell store sales apart from your own invoices.
name
string
Receiver’s username (injected for payment-page rendering)
image
string | null
Receiver’s profile photo URL (injected for payment-page rendering)
transaction_items
array
Line items on the invoice
const response = await fetch(
  "https://payments.shakesco.com/invoices/INV-2026-a1b2c3d4",
  { headers: { Authorization: `Bearer ${API_KEY}` } }
);
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,
  "from_store": false,
  "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...",
  "redirect_url": "https://yourstore.com/order/complete",
  "expires_at": "2026-05-23T10:00:00.000000Z",
  "scanned_at": null,
  "paid_at": null,
  "store_item_ids": null,
  "name": "business",
  "image": "https://example.com/avatar.jpg",
  "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"
    }
  ]
}
{ "message": "Transaction not found." }