curl --request PATCH \
--url https://api.gamecart.gg/v1/seller/orders/{orderId}/approve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"processDelivery": true
}
'import requests
url = "https://api.gamecart.gg/v1/seller/orders/{orderId}/approve"
payload = { "processDelivery": True }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({processDelivery: true})
};
fetch('https://api.gamecart.gg/v1/seller/orders/{orderId}/approve', 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://api.gamecart.gg/v1/seller/orders/{orderId}/approve",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'processDelivery' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.gamecart.gg/v1/seller/orders/{orderId}/approve"
payload := strings.NewReader("{\n \"processDelivery\": true\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.gamecart.gg/v1/seller/orders/{orderId}/approve")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"processDelivery\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gamecart.gg/v1/seller/orders/{orderId}/approve")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"processDelivery\": true\n}"
response = http.request(request)
puts response.read_body{
"buyer": {
"accountIdentifier": "Steve",
"billing": {
"addressLine1": "1 Market St",
"addressLine2": "<string>",
"city": "San Francisco",
"country": "US",
"phone": 14155550100,
"state": "CA",
"zipCode": 94105
},
"deliveryIdentityMode": "CHECKOUT_FIELD",
"discord": {
"userId": 80351110224678910,
"username": "steve"
},
"email": "[email protected]",
"locale": "en-US",
"name": "Steve"
},
"cancelledAt": "2022-03-10T16:15:50.000Z",
"checkoutFields": [
{
"identifier": "discord_tag",
"label": "Discord tag",
"value": "steve#0001"
}
],
"coupons": [
{
"code": "SAVE10",
"discountValue": 10,
"fixedValue": true
}
],
"createdAt": "2026-09-25T13:04:12.000Z",
"currency": "USD",
"customGateway": {
"id": "0f8fad5b-d9cb-469f-a165-70867728950e",
"name": "Bank transfer"
},
"deliveryStatus": "EXECUTED",
"discounts": [
{
"discountValue": 15,
"fixedValue": true,
"name": "Black Friday"
}
],
"externalPaymentId": "pi_3Q1x2y3z",
"gatewayType": "STRIPE",
"items": [
{
"effectivePrice": 10,
"expiresAt": "2026-10-25T13:05:00.000Z",
"id": 3121,
"name": "VIP rank",
"productId": 77,
"quantity": 2,
"unitPrice": 10,
"variables": [
{
"identifier": "color",
"name": "Color",
"value": "Red"
}
]
}
],
"manualAdjustment": 0,
"number": 105,
"orderId": "GC-7K9Q2X",
"paidAt": "2026-09-25T13:05:00.000Z",
"paymentStatus": "APPROVED",
"publicOrderUrl": "https://play.example.com/order/GC-7K9Q2X",
"subtotal": 20,
"total": 18,
"totalDiscount": 2
}{
"code": "ORDER_NOT_FOUND",
"detail": "Order not found.",
"errors": [
{
"code": "validation.required",
"field": "content",
"message": "This field is required."
}
],
"instance": "/v1/seller/orders/GC-NOPE",
"requiredScope": [
"orders:read",
"orders:buyer:read"
],
"retryAfterSeconds": 17,
"status": 404,
"title": "Not Found",
"traceId": "ede70d1d-66d8-4af7-9a4e-a8775b047380",
"type": "about:blank"
}{
"code": "ORDER_NOT_FOUND",
"detail": "Order not found.",
"errors": [
{
"code": "validation.required",
"field": "content",
"message": "This field is required."
}
],
"instance": "/v1/seller/orders/GC-NOPE",
"requiredScope": [
"orders:read",
"orders:buyer:read"
],
"retryAfterSeconds": 17,
"status": 404,
"title": "Not Found",
"traceId": "ede70d1d-66d8-4af7-9a4e-a8775b047380",
"type": "about:blank"
}{
"code": "ORDER_NOT_FOUND",
"detail": "Order not found.",
"errors": [
{
"code": "validation.required",
"field": "content",
"message": "This field is required."
}
],
"instance": "/v1/seller/orders/GC-NOPE",
"requiredScope": [
"orders:read",
"orders:buyer:read"
],
"retryAfterSeconds": 17,
"status": 404,
"title": "Not Found",
"traceId": "ede70d1d-66d8-4af7-9a4e-a8775b047380",
"type": "about:blank"
}{
"code": "ORDER_NOT_FOUND",
"detail": "Order not found.",
"errors": [
{
"code": "validation.required",
"field": "content",
"message": "This field is required."
}
],
"instance": "/v1/seller/orders/GC-NOPE",
"requiredScope": [
"orders:read",
"orders:buyer:read"
],
"retryAfterSeconds": 17,
"status": 404,
"title": "Not Found",
"traceId": "ede70d1d-66d8-4af7-9a4e-a8775b047380",
"type": "about:blank"
}{
"code": "ORDER_NOT_FOUND",
"detail": "Order not found.",
"errors": [
{
"code": "validation.required",
"field": "content",
"message": "This field is required."
}
],
"instance": "/v1/seller/orders/GC-NOPE",
"requiredScope": [
"orders:read",
"orders:buyer:read"
],
"retryAfterSeconds": 17,
"status": 404,
"title": "Not Found",
"traceId": "ede70d1d-66d8-4af7-9a4e-a8775b047380",
"type": "about:blank"
}{
"code": "ORDER_NOT_FOUND",
"detail": "Order not found.",
"errors": [
{
"code": "validation.required",
"field": "content",
"message": "This field is required."
}
],
"instance": "/v1/seller/orders/GC-NOPE",
"requiredScope": [
"orders:read",
"orders:buyer:read"
],
"retryAfterSeconds": 17,
"status": 404,
"title": "Not Found",
"traceId": "ede70d1d-66d8-4af7-9a4e-a8775b047380",
"type": "about:blank"
}Approve an order
Approves a pending order as if the payment was confirmed: delivery commands run, e-mails and webhooks are sent. Leaves a note authored by the token.
curl --request PATCH \
--url https://api.gamecart.gg/v1/seller/orders/{orderId}/approve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"processDelivery": true
}
'import requests
url = "https://api.gamecart.gg/v1/seller/orders/{orderId}/approve"
payload = { "processDelivery": True }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({processDelivery: true})
};
fetch('https://api.gamecart.gg/v1/seller/orders/{orderId}/approve', 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://api.gamecart.gg/v1/seller/orders/{orderId}/approve",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'processDelivery' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.gamecart.gg/v1/seller/orders/{orderId}/approve"
payload := strings.NewReader("{\n \"processDelivery\": true\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.gamecart.gg/v1/seller/orders/{orderId}/approve")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"processDelivery\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gamecart.gg/v1/seller/orders/{orderId}/approve")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"processDelivery\": true\n}"
response = http.request(request)
puts response.read_body{
"buyer": {
"accountIdentifier": "Steve",
"billing": {
"addressLine1": "1 Market St",
"addressLine2": "<string>",
"city": "San Francisco",
"country": "US",
"phone": 14155550100,
"state": "CA",
"zipCode": 94105
},
"deliveryIdentityMode": "CHECKOUT_FIELD",
"discord": {
"userId": 80351110224678910,
"username": "steve"
},
"email": "[email protected]",
"locale": "en-US",
"name": "Steve"
},
"cancelledAt": "2022-03-10T16:15:50.000Z",
"checkoutFields": [
{
"identifier": "discord_tag",
"label": "Discord tag",
"value": "steve#0001"
}
],
"coupons": [
{
"code": "SAVE10",
"discountValue": 10,
"fixedValue": true
}
],
"createdAt": "2026-09-25T13:04:12.000Z",
"currency": "USD",
"customGateway": {
"id": "0f8fad5b-d9cb-469f-a165-70867728950e",
"name": "Bank transfer"
},
"deliveryStatus": "EXECUTED",
"discounts": [
{
"discountValue": 15,
"fixedValue": true,
"name": "Black Friday"
}
],
"externalPaymentId": "pi_3Q1x2y3z",
"gatewayType": "STRIPE",
"items": [
{
"effectivePrice": 10,
"expiresAt": "2026-10-25T13:05:00.000Z",
"id": 3121,
"name": "VIP rank",
"productId": 77,
"quantity": 2,
"unitPrice": 10,
"variables": [
{
"identifier": "color",
"name": "Color",
"value": "Red"
}
]
}
],
"manualAdjustment": 0,
"number": 105,
"orderId": "GC-7K9Q2X",
"paidAt": "2026-09-25T13:05:00.000Z",
"paymentStatus": "APPROVED",
"publicOrderUrl": "https://play.example.com/order/GC-7K9Q2X",
"subtotal": 20,
"total": 18,
"totalDiscount": 2
}{
"code": "ORDER_NOT_FOUND",
"detail": "Order not found.",
"errors": [
{
"code": "validation.required",
"field": "content",
"message": "This field is required."
}
],
"instance": "/v1/seller/orders/GC-NOPE",
"requiredScope": [
"orders:read",
"orders:buyer:read"
],
"retryAfterSeconds": 17,
"status": 404,
"title": "Not Found",
"traceId": "ede70d1d-66d8-4af7-9a4e-a8775b047380",
"type": "about:blank"
}{
"code": "ORDER_NOT_FOUND",
"detail": "Order not found.",
"errors": [
{
"code": "validation.required",
"field": "content",
"message": "This field is required."
}
],
"instance": "/v1/seller/orders/GC-NOPE",
"requiredScope": [
"orders:read",
"orders:buyer:read"
],
"retryAfterSeconds": 17,
"status": 404,
"title": "Not Found",
"traceId": "ede70d1d-66d8-4af7-9a4e-a8775b047380",
"type": "about:blank"
}{
"code": "ORDER_NOT_FOUND",
"detail": "Order not found.",
"errors": [
{
"code": "validation.required",
"field": "content",
"message": "This field is required."
}
],
"instance": "/v1/seller/orders/GC-NOPE",
"requiredScope": [
"orders:read",
"orders:buyer:read"
],
"retryAfterSeconds": 17,
"status": 404,
"title": "Not Found",
"traceId": "ede70d1d-66d8-4af7-9a4e-a8775b047380",
"type": "about:blank"
}{
"code": "ORDER_NOT_FOUND",
"detail": "Order not found.",
"errors": [
{
"code": "validation.required",
"field": "content",
"message": "This field is required."
}
],
"instance": "/v1/seller/orders/GC-NOPE",
"requiredScope": [
"orders:read",
"orders:buyer:read"
],
"retryAfterSeconds": 17,
"status": 404,
"title": "Not Found",
"traceId": "ede70d1d-66d8-4af7-9a4e-a8775b047380",
"type": "about:blank"
}{
"code": "ORDER_NOT_FOUND",
"detail": "Order not found.",
"errors": [
{
"code": "validation.required",
"field": "content",
"message": "This field is required."
}
],
"instance": "/v1/seller/orders/GC-NOPE",
"requiredScope": [
"orders:read",
"orders:buyer:read"
],
"retryAfterSeconds": 17,
"status": 404,
"title": "Not Found",
"traceId": "ede70d1d-66d8-4af7-9a4e-a8775b047380",
"type": "about:blank"
}{
"code": "ORDER_NOT_FOUND",
"detail": "Order not found.",
"errors": [
{
"code": "validation.required",
"field": "content",
"message": "This field is required."
}
],
"instance": "/v1/seller/orders/GC-NOPE",
"requiredScope": [
"orders:read",
"orders:buyer:read"
],
"retryAfterSeconds": 17,
"status": 404,
"title": "Not Found",
"traceId": "ede70d1d-66d8-4af7-9a4e-a8775b047380",
"type": "about:blank"
}Authorizations
API token created in the dashboard under Integrations > API. Tokens start with gci_.
Path Parameters
Body
Whether the approval runs the order's delivery commands. Omit it to keep the order's current setting, which is true unless the seller changed it.
true
Response
The approved order.
An order placed in the store. Fields that do not apply, or that the token has no scope to read, are omitted. List responses omit items, coupons, discounts, checkoutFields and buyer.billing; fetch the order by id to read them.
Buyer identity. Requires the orders:buyer:read scope; always present in webhooks.
Show child attributes
Show child attributes
When the order was cancelled.
"2022-03-10T16:15:50.000Z"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
When the order was created.
"2026-09-25T13:04:12.000Z"
ISO 4217 currency of every amount in the order.
"USD"
Present only when gatewayType is CUSTOM.
Show child attributes
Show child attributes
Aggregated status of the order's delivery commands. NOT_APPLICABLE when the order has no commands.
NOT_APPLICABLE, PENDING, PROCESSING, EXECUTED, FAILED, UNCERTAIN "EXECUTED"
Show child attributes
Show child attributes
Payment identifier at the provider.
"pi_3Q1x2y3z"
Payment gateway. MANUAL marks an order created by the seller in the dashboard; FREE marks a checkout with total 0; CUSTOM marks a custom gateway.
PAYPAL, STRIPE, MERCADO_PAGO, PIX, MANUAL, CUSTOM, FREE "STRIPE"
Show child attributes
Show child attributes
Manual adjustment the seller applied to a manual order total.
0
Sequential order number shown to the seller in the dashboard. Informational only.
105
Order identifier. Use it in every order route.
"GC-7K9Q2X"
When the payment was approved.
"2026-09-25T13:05:00.000Z"
Payment status.
PENDING, APPROVED, REJECTED, CANCELLED, REFUNDED, DISPUTE "APPROVED"
Public order page on the storefront.
"https://play.example.com/order/GC-7K9Q2X"
Sum of the items before discounts.
20
Amount charged.
18
Total discount from coupons and automatic discounts.
2
Was this page helpful?
