Create a Terminal Hardware Order Preview

Terminal
Terminal Hardware Order
Create a Terminal Hardware Order

Creates a new TerminalHardwareOrder object.

Parameters

  • hardware_order_itemsarray of objectsRequired

    An array of line items to order.

    • hardware_order_items.quantityintegerRequired

      The quantity of the TerminalHardwareSKU to order.

    • hardware_order_items.terminal_hardware_skustringRequired

      The ID of a TerminalHardwareSKU.

  • payment_typeenumRequired

    The method of payment for this order.

    Possible enum values
    monthly_invoice

    A consolidated invoice issued by Stripe at the end of each month.

  • shippingobjectRequired

    Shipping address for the order.

    • shipping.addressobjectRequired

      Shipping address.

      • shipping.address.countrystringRequired

        Two-letter country code (ISO 3166-1 alpha-2).

      • shipping.address.line1stringRequired

        Address line 1 (e.g., street, or company name). At least 3 and no more than 40 characters.

      • shipping.address.postal_codestringRequired

        ZIP or postal code. No more than 10 characters.

      • shipping.address.citystring

        City, district, suburb, town, or village. No more than 35 characters.

      • shipping.address.line2string

        Address line 2 (e.g., apartment, suite, unit, or building). No more than 40 characters.

      • shipping.address.statestring

        State, county, province, or region. For US states, use two-letter state abbreviation in uppercase. For other states, county, province or region, use the full name. No more than 29 characters.

    • shipping.emailstringRequired

      Customer email. This email will receive Stripe-branded update emails when the status of the order changes.

    • shipping.namestringRequired

      Customer name. At least 3. First name must be no more than 15 characters and last name must be no more than 20 characters.

    • shipping.phonestringRequired

      Customer phone (including extension). No more than 14 characters.

    • shipping.companystring

      Company name. At least 3 and no more than 40 characters.

  • shipping_methodstringRequired

    The Shipping Method for the order.

  • metadataobject

    Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More parameters

  • po_numberstring

    The purchase order number will appear on the packing slip, shipping label, and monthly billing invoice. No more than 15 characters.

Returns

Returns a TerminalHardwareOrder object if creation succeeds.

POST /v1/terminal/hardware_orders
curl https://api.stripe.com/v1/terminal/hardware_orders \
-u "sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2:" \
-H "Stripe-Version: 2025-08-27.basil; terminal_hardware_orders_beta=v5" \
-d "hardware_order_items[0][terminal_hardware_sku]"=thsku_OEu70OWVaQ0DG3 \
-d "hardware_order_items[0][quantity]"=2 \
-d payment_type=monthly_invoice \
-d "shipping[address][line1]"="1234 Main St." \
-d "shipping[address][city]"="San Francisco" \
-d "shipping[address][state]"=CA \
-d "shipping[address][postal_code]"=94111 \
-d "shipping[address][country]"=US \
-d "shipping[phone]"=15555555555 \
--data-urlencode "shipping[email]"="test@example.com" \
-d "shipping[name]"="Jenny Rosen" \
-d shipping_method=thsm_MfuTjLaPEgXMa4
Response
{
"id": "thor_1Nj6mu2eZvKYlo2CRG74vB9n",
"object": "terminal.hardware_order",
"amount": 13602,
"created": 1692995962,
"currency": "usd",
"hardware_order_items": [
{
"amount": 11800,
"currency": "usd",
"quantity": 2,
"terminal_hardware_sku": {
"id": "thsku_OEu70OWVaQ0DG3",
"amount": 450,
"country": "US",
"currency": "usd",
"product": "thpr_NGubNsbUoS1oik"
}
}
],
"livemode": true,
"metadata": {},
"payment_type": "monthly_invoice",
"po_number": null,
"shipment_tracking": [],
"shipping": {
"address": {
"city": "San Francisco",
"country": "US",
"line1": "1234 Main Street",
"line2": "",
"postal_code": "94111",
"state": "CA"
},
"amount": 800,
"company": "Rocket Rides",
"currency": "usd",
"email": "test@example.com",
"name": "Jenny Rosen",
"phone": "15555555555"
},
"shipping_method": "standard",
"status": "pending",
"tax": 1002,
"total_tax_amounts": [
{
"amount": 1002,
"inclusive": false,
"rate": {
"display_name": "Sales Tax",
"jurisdiction": "LOS ANGELES",
"percentage": 8.25
}
}
],
"updated": null
}