Skip to main content
POST
/
api
/
v3
/
admin
/
orders
/
{order_id}
/
payments
Spree Admin SDK
import { createAdminClient } from '@spree/admin-sdk'

const client = createAdminClient({
  baseUrl: 'https://your-store.com',
  secretKey: 'sk_xxx',
})

const payment = await client.orders.payments.create('or_UkLWZg9DAJ', {
  payment_method_id: 'pm_UkLWZg9DAJ',
  amount: 99.99,
  source_id: 'cc_UkLWZg9DAJ',
})
{
  "id": "py_gbHJdmfrXB",
  "payment_method_id": "pm_EfhxLZ9ck8",
  "response_code": null,
  "number": "P7NSTYZI",
  "amount": "110.0",
  "display_amount": "$110.00",
  "status": "checkout",
  "source_type": null,
  "source_id": null,
  "source": null,
  "metadata": {},
  "avs_response": null,
  "cvv_response_code": null,
  "cvv_response_message": null,
  "created_at": "2026-05-21T18:11:17.771Z",
  "updated_at": "2026-05-21T18:11:17.771Z",
  "captured_amount": "0.0",
  "order_id": "or_gbHJdmfrXB"
}

Documentation Index

Fetch the complete documentation index at: https://spreecommerce.org/docs/llms.txt

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

Authorizations

x-spree-api-key
string
header
required

Secret API key for admin access

Authorization
string
header
required

JWT token for admin user authentication

Headers

x-spree-api-key
string
required
Authorization
string
required

Bearer token for admin authentication

Path Parameters

order_id
string
required

Order ID

Body

application/json
payment_method_id
string
required

Payment method ID

amount
number
Example:

99.99

source_id
string

Payment source ID

Response

201 - application/json

payment created