import Shoply from "@shoplygg/node";
const shoply = new Shoply({ apiKey: process.env.SHOPLY_API_KEY });
const result = await shoply.orders.show("ORDER_ID");<?php
require 'vendor/autoload.php';
$shoply = new Shoply\Client(['apiKey' => getenv('SHOPLY_API_KEY')]);
$result = $shoply->orders->show('ORDER_ID');
import shoply
client = shoply.Client() # reads SHOPLY_API_KEY
result = client.orders.show("ORDER_ID")
curl --request GET \
--url https://api.shoply.gg/v1/stores/{storeId}/orders/{orderId} \
--header 'Authorization: Bearer <token>'package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.shoply.gg/v1/stores/{storeId}/orders/{orderId}"
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://api.shoply.gg/v1/stores/{storeId}/orders/{orderId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.shoply.gg/v1/stores/{storeId}/orders/{orderId}")
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{
"success": true,
"message": null,
"code": null,
"data": {
"id": "eab50b8e-fca6-4712-9b55-2f910b4bddf0",
"dateCreated": "2026-10-22T16:20:19Z",
"email": "ada@example.com",
"customerId": "f637fc21-973d-43ec-a7db-f819a9ebf73a",
"productId": "f463e265-097a-4235-bc2f-5239b19a9874",
"productName": "Northwind Pro",
"variantId": "00e1d395-9ba2-4db3-900a-cb5e2811a2a9",
"variantName": "1 month",
"itemCount": 1,
"subtotal": 9.99,
"discount": 0,
"fee": 0,
"balanceUsed": 0,
"tax": null,
"amount": 9.99,
"currencyCode": "USD",
"charged": null,
"status": "completed",
"gateway": "manual",
"couponCode": null,
"returning": false,
"country": null,
"billing": {
"name": "",
"line1": "",
"line2": "",
"city": "",
"state": "",
"postalCode": "",
"country": ""
},
"ip": null,
"userAgent": null,
"source": "storefront",
"subscriptionId": null,
"transactionId": "bank-transfer-1042",
"paidAt": "2026-10-22T16:20:19Z",
"note": "",
"customFields": [],
"emailState": "sent",
"emailError": "",
"emailAttempts": 1,
"emailSentAt": "2026-10-22T16:20:19Z",
"notifyState": "",
"notifyError": "",
"notifyAttempts": 0,
"notifySentAt": null,
"summary": "Northwind Pro (1 month)",
"items": [
{
"id": "272733",
"productId": "f463e265-097a-4235-bc2f-5239b19a9874",
"productName": "Northwind Pro",
"variantId": "00e1d395-9ba2-4db3-900a-cb5e2811a2a9",
"variantName": "1 month",
"amount": 9.99,
"unitPrice": 9.99,
"quantity": 1,
"lineTotal": 9.99,
"upsellId": null,
"addonOf": null,
"deliveredKeys": [
"NWPRO-7F3K-22LM-9QXA"
],
"redeliveryCount": 0,
"lastRedeliveredAt": null,
"deliveryInstructions": "",
"dynamicState": "",
"dynamicMessage": "",
"dynamicItems": [],
"previousDynamicItems": [],
"dynamicDeliveredAt": null,
"dynamicError": "",
"dynamicAttempts": 0,
"redeliverable": true,
"stockAvailable": 1,
"previousKeys": []
}
],
"refund": {
"amount": 9.99,
"currency": "USD",
"fromBalance": 0,
"paid": 9.99,
"source": {
"available": false,
"why": "This order was marked as paid by hand, with no payment through a provider, so there is nothing to send back.",
"provider": "",
"name": ""
},
"balance": {
"available": true,
"why": ""
},
"record": {
"available": true,
"why": ""
}
},
"productSlug": "northwind-pro",
"imageUrl": null,
"customer": {
"id": "f637fc21-973d-43ec-a7db-f819a9ebf73a",
"emailAddress": "ada@example.com",
"dateCreated": "2026-10-22T16:20:18Z"
},
"visit": null,
"affiliate": null,
"timeline": [
{
"id": "227821",
"kind": "paid",
"detail": "Marked paid by the seller, transaction bank-transfer-1042.",
"actor": "merchant",
"at": "2026-10-22T16:20:19Z"
},
{
"id": "227822",
"kind": "delivered",
"detail": "1 item delivered.",
"actor": "system",
"at": "2026-10-22T16:20:19Z"
}
],
"testPayment": false,
"payments": [],
"invoice": null,
"disputes": [],
"review": null,
"requests": [],
"customPayment": null,
"customerTotals": {
"totalOrders": 1,
"totalSpend": 9.99,
"paidOrders": 1
},
"customerOrders": [
{
"id": "eab50b8e-fca6-4712-9b55-2f910b4bddf0",
"productName": "Northwind Pro",
"variantName": "1 month",
"itemCount": 1,
"amount": 9.99,
"status": "completed",
"dateCreated": "2026-10-22T16:20:19Z"
}
]
}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}Get an order
One order with everything its page shows: its lines and what each delivered, its payments, the buyer, its timeline, where it came from, refund, which says which ways it can be refunded, and requests: what Shoply sent your servers about it, each try of each webhook about the order and each line’s dynamic delivery, newest first, with the first 300 characters of what came back. customPayment is for an order paid with one of your custom payment methods, and null for any other: the method’s name, status (open, review while it waits for you to approve or reject it, paid or rejected), the amount, and proof, what the buyer sent when they said they paid (the reference, whether a proof of payment was sent, and when).
Needs the orders.read permission (Read Orders).
import Shoply from "@shoplygg/node";
const shoply = new Shoply({ apiKey: process.env.SHOPLY_API_KEY });
const result = await shoply.orders.show("ORDER_ID");<?php
require 'vendor/autoload.php';
$shoply = new Shoply\Client(['apiKey' => getenv('SHOPLY_API_KEY')]);
$result = $shoply->orders->show('ORDER_ID');
import shoply
client = shoply.Client() # reads SHOPLY_API_KEY
result = client.orders.show("ORDER_ID")
curl --request GET \
--url https://api.shoply.gg/v1/stores/{storeId}/orders/{orderId} \
--header 'Authorization: Bearer <token>'package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.shoply.gg/v1/stores/{storeId}/orders/{orderId}"
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://api.shoply.gg/v1/stores/{storeId}/orders/{orderId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.shoply.gg/v1/stores/{storeId}/orders/{orderId}")
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{
"success": true,
"message": null,
"code": null,
"data": {
"id": "eab50b8e-fca6-4712-9b55-2f910b4bddf0",
"dateCreated": "2026-10-22T16:20:19Z",
"email": "ada@example.com",
"customerId": "f637fc21-973d-43ec-a7db-f819a9ebf73a",
"productId": "f463e265-097a-4235-bc2f-5239b19a9874",
"productName": "Northwind Pro",
"variantId": "00e1d395-9ba2-4db3-900a-cb5e2811a2a9",
"variantName": "1 month",
"itemCount": 1,
"subtotal": 9.99,
"discount": 0,
"fee": 0,
"balanceUsed": 0,
"tax": null,
"amount": 9.99,
"currencyCode": "USD",
"charged": null,
"status": "completed",
"gateway": "manual",
"couponCode": null,
"returning": false,
"country": null,
"billing": {
"name": "",
"line1": "",
"line2": "",
"city": "",
"state": "",
"postalCode": "",
"country": ""
},
"ip": null,
"userAgent": null,
"source": "storefront",
"subscriptionId": null,
"transactionId": "bank-transfer-1042",
"paidAt": "2026-10-22T16:20:19Z",
"note": "",
"customFields": [],
"emailState": "sent",
"emailError": "",
"emailAttempts": 1,
"emailSentAt": "2026-10-22T16:20:19Z",
"notifyState": "",
"notifyError": "",
"notifyAttempts": 0,
"notifySentAt": null,
"summary": "Northwind Pro (1 month)",
"items": [
{
"id": "272733",
"productId": "f463e265-097a-4235-bc2f-5239b19a9874",
"productName": "Northwind Pro",
"variantId": "00e1d395-9ba2-4db3-900a-cb5e2811a2a9",
"variantName": "1 month",
"amount": 9.99,
"unitPrice": 9.99,
"quantity": 1,
"lineTotal": 9.99,
"upsellId": null,
"addonOf": null,
"deliveredKeys": [
"NWPRO-7F3K-22LM-9QXA"
],
"redeliveryCount": 0,
"lastRedeliveredAt": null,
"deliveryInstructions": "",
"dynamicState": "",
"dynamicMessage": "",
"dynamicItems": [],
"previousDynamicItems": [],
"dynamicDeliveredAt": null,
"dynamicError": "",
"dynamicAttempts": 0,
"redeliverable": true,
"stockAvailable": 1,
"previousKeys": []
}
],
"refund": {
"amount": 9.99,
"currency": "USD",
"fromBalance": 0,
"paid": 9.99,
"source": {
"available": false,
"why": "This order was marked as paid by hand, with no payment through a provider, so there is nothing to send back.",
"provider": "",
"name": ""
},
"balance": {
"available": true,
"why": ""
},
"record": {
"available": true,
"why": ""
}
},
"productSlug": "northwind-pro",
"imageUrl": null,
"customer": {
"id": "f637fc21-973d-43ec-a7db-f819a9ebf73a",
"emailAddress": "ada@example.com",
"dateCreated": "2026-10-22T16:20:18Z"
},
"visit": null,
"affiliate": null,
"timeline": [
{
"id": "227821",
"kind": "paid",
"detail": "Marked paid by the seller, transaction bank-transfer-1042.",
"actor": "merchant",
"at": "2026-10-22T16:20:19Z"
},
{
"id": "227822",
"kind": "delivered",
"detail": "1 item delivered.",
"actor": "system",
"at": "2026-10-22T16:20:19Z"
}
],
"testPayment": false,
"payments": [],
"invoice": null,
"disputes": [],
"review": null,
"requests": [],
"customPayment": null,
"customerTotals": {
"totalOrders": 1,
"totalSpend": 9.99,
"paidOrders": 1
},
"customerOrders": [
{
"id": "eab50b8e-fca6-4712-9b55-2f910b4bddf0",
"productName": "Northwind Pro",
"variantName": "1 month",
"itemCount": 1,
"amount": 9.99,
"status": "completed",
"dateCreated": "2026-10-22T16:20:19Z"
}
]
}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}Authorizations
A secret API key, made under Developers in the dashboard: Authorization: Bearer shoply_sk_...
Path Parameters
The store's ID. A key reaches the store it was made in: GET /key answers which.
The order. The ID in a checkout's address is the order's ID.

