POST /v1/order/{id}/add-payment

Record manual payment for order item

Path parameters

  • id string Required
application/json

Body Required

Request to add manual payment to order item

  • itemId string Required

    Order item ID

  • amount integer Required

    Payment amount

  • description string | null

    Payment description

  • paymentMethod string Required

    Values are ACH, Bank transfer, Cash, Check, Credit/debit card (manual), or Voucher.

  • date string(date) Required

    Payment date

  • paymentScheduleDate string(date) | null

    Payment schedule date to mark as paid (optional)

Responses

  • 200 application/json

    Order

    Hide response attributes Show response attributes object
    • id string Required
    • status string Required

      Current status of the order

      Values are order-placed, awaiting-supplier, awaiting-collection, dispatched, delivered, cancelled, refunded, or completed.

    • createdAt string(date-time) Required
    • orderDisp string Required
    • familyId string Required
    • familyName string Required
    • paid string Required

      Values are no, part-paid, or yes.

    • grossPrice integer Required
    • netPrice integer Required
    • discountAmount integer Required
    • taxAmount integer | null Required
    • totalTendered integer Required
    • totalDue integer Required
    • totalWithCredit integer Required

      Gross price minus total credits applied

    • totalRemaining integer Required

      Amount remaining to be paid (totalWithCredit - totalTendered)

    • creditSum integer Required

      Credit sum

    • subs array[object] Required
      Hide subs attributes Show subs attributes object
      • id string Required
      • createdAt string(date-time) Required
      • OrderSubDisp string Required
      • type string Required
      • status string Required

        Current status of the order

        Values are order-placed, awaiting-supplier, awaiting-collection, dispatched, delivered, cancelled, refunded, or completed.

      • paid string

        Values are no, part-paid, or yes.

      • grossPrice integer Required
      • netPrice integer Required
      • discountAmount integer Required
      • taxAmount integer | null Required
      • items array[object] Required
        Hide items attributes Show items attributes object
        • id string Required
        • status string Required

          Current status of the order

          Values are order-placed, awaiting-supplier, awaiting-collection, dispatched, delivered, cancelled, refunded, or completed.

        • createdAt string(date-time) Required
        • description string Required
        • type string Required
        • paid string Required

          Values are no, part-paid, or yes.

        • quantity integer Required
        • unitPrice integer Required
        • grossPrice integer Required
        • netPrice integer Required
        • discountAmount integer Required
        • taxAmount integer | null Required
        • maxCreditableAmount integer Required

          The maximum amount that can be credited for this item

        • dueAmount integer Required

          The amount left to pay

          Default value is 0.

        • creditSum integer Required

          The amount credited for this item

          Default value is 0.

        • entityId string | null Required

          A prefixed-id linking to another model

        • allowedStatuses array[string] Required

          Current status of the order

          Values are order-placed, awaiting-supplier, awaiting-collection, dispatched, delivered, cancelled, refunded, or completed.

        • meta object Required

          Additional metadata for the order item

          Hide meta attribute Show meta attribute object
          • attributes object

            Dynamic attributes with unknown keys and values

            Additional properties are allowed.

    • payments array[object] Required
      Hide payments attributes Show payments attributes object
      • id string Required

        Payment ID

      • method string Required

        For launch, we'll only be supporting "stripe" as a payment method. It makes sense to use the term Stripe here because we'll be displaying Stripe Elements on the frontend for it, and it gives us options in the future to expand to other payment methods (gocardless, for example))

        Values are account-credit, classpass, discount-code, stripe, or manual.

      • orderId string Required

        Order ID

      • orderItemId string | null Required

        Order item ID

      • amount integer Required
    • paymentSchedules array[object]
      Hide paymentSchedules attributes Show paymentSchedules attributes object
      • id string Required
      • orderItemId string Required
      • amount integer Required
      • paymentDate string(date) Required
      • status string Required

        Values are upcoming, due, overdue, failed, paid, or cancelled.

      • createdAt string(date-time) Required
  • 403 application/json

    Not authorized

    Hide response attributes Show response attributes object

    Error schema

    • statusCode number Required

      Status Code

    • messages array[string] Required

      List of error messages

    • exception object

      Exception

  • 422 application/json

    Validation error

    Hide response attributes Show response attributes object
    • statusCode number Required

      Status Code

    • messages array[string] Required

      List of error messages

    • exception object

      Exception

POST /v1/order/{id}/add-payment
curl \
 --request POST 'https://api.classmanager.io/v1/order/ord_01jsxy8epr403x5sk4dm5ba5cf/add-payment' \
 --header "Content-Type: application/json" \
 --data '{"itemId":"ordi_123123123123","amount":1500,"description":"Payment for branded t-shirt","paymentMethod":"ACH","date":"2023-12-05","paymentScheduleDate":"2023-12-05"}'
Request examples
{
  "itemId": "ordi_123123123123",
  "amount": 1500,
  "description": "Payment for branded t-shirt",
  "paymentMethod": "ACH",
  "date": "2023-12-05",
  "paymentScheduleDate": "2023-12-05"
}
Response examples (200)
{
  "id": "ord_01jsxy8epr403x5sk4dm5ba5cf",
  "status": "order-placed",
  "createdAt": "2025-04-28T10:14:37Z",
  "orderDisp": "14809",
  "familyId": "fml_01jrw5h5ezr2vvwv34zfw2pm9y",
  "familyName": "Considine",
  "paid": "no",
  "grossPrice": 3327,
  "netPrice": 3327,
  "discountAmount": 0,
  "taxAmount": 0,
  "totalTendered": 0,
  "totalDue": 0,
  "totalWithCredit": 3327,
  "totalRemaining": 0,
  "creditSum": 234,
  "subs": [
    {
      "id": "ords_01jsxy8ept8c10amyabaceyp80",
      "createdAt": "2025-04-28T10:14:37Z",
      "OrderSubDisp": "14809-P-1",
      "type": "product",
      "status": "order-placed",
      "paid": "no",
      "grossPrice": 3327,
      "netPrice": 3327,
      "discountAmount": 0,
      "taxAmount": 0,
      "items": [
        {
          "id": "ordi_01jsxy8epxd2vq8enq5xydzqpz",
          "status": "order-placed",
          "createdAt": "2025-04-28T10:14:37Z",
          "description": "Snapback Hat - Size: S, Color: White",
          "type": "product",
          "paid": "no",
          "quantity": 1,
          "unitPrice": 3327,
          "grossPrice": 3327,
          "netPrice": 3327,
          "discountAmount": 0,
          "taxAmount": 0,
          "maxCreditableAmount": 245,
          "dueAmount": 1200,
          "creditSum": 200,
          "entityId": "string",
          "allowedStatuses": [
            "awaiting-supplier",
            "awaiting-collection",
            "dispatched",
            "delivered",
            "cancelled",
            "refunded"
          ],
          "meta": {
            "attributes": {
              "size": "Large",
              "color": "Blue",
              "material": "Cotton"
            }
          }
        }
      ]
    }
  ],
  "payments": [
    {
      "id": "pmnt_xxxxxxxxxxxxxxxxxxxxxxxxxx",
      "method": "account-credit",
      "orderId": "ord_xxxxxxxxxxxxxxxxxxxxxxxxxx",
      "orderItemId": "ordi_xxxxxxxxxxxxxxxxxxxxxxxxxx",
      "amount": 100
    }
  ],
  "paymentSchedules": [
    {
      "id": "ord_01jsxy8epr403x5sk4dm5ba5cf",
      "orderItemId": "ordi_01jsxy8epxd2vq8enq5xydzqpz",
      "amount": 1000,
      "paymentDate": "2025-04-28",
      "status": "upcoming",
      "createdAt": "2025-04-28T10:14:37Z"
    }
  ]
}
Response examples (403)
{
  "statusCode": 42.0,
  "messages": [
    "string"
  ],
  "exception": {}
}
Response examples (422)
{
  "statusCode": 42.0,
  "messages": [
    "string"
  ],
  "exception": {}
}