POST /v1/checkout/finalise
application/json

Body

  • basketId string Required

    ID of the basket to retrieve

  • enrolments array[object] Required

    Enrolments to prepare

    Hide enrolments attributes Show enrolments attributes object
    • basketItem object Required
      Hide basketItem attributes Show basketItem attributes object
      • studentId string Required
      • courseId string Required
    • acceptedQuote object Required
      Hide acceptedQuote attributes Show acceptedQuote attributes object
      • name string Required
      • paymentPlanId string
      • paymentMethods object Required
  • dropIns array[object] Required

    Drop-ins to prepare

    Hide dropIns attributes Show dropIns attributes object
    • basketItem object Required
      Hide basketItem attributes Show basketItem attributes object
      • studentId string Required
      • courseId string Required
      • date string(date) Required
      • time string Required
      • type string Required

        Values are trial or payg.

    • acceptedQuote object Required
      Hide acceptedQuote attributes Show acceptedQuote attributes object
      • name string Required
      • paymentMethods object Required
  • products array[object] Required

    Products to prepare

    Hide products attributes Show products attributes object
    • basketItem object Required
      Hide basketItem attributes Show basketItem attributes object
      • variantId string Required
      • quantity integer Required
    • acceptedQuote object Required
      Hide acceptedQuote attributes Show acceptedQuote attributes object
      • name string Required
      • paymentMethods object Required
  • additionals array[object] Required

    Additional items that need purchasing

    Hide additionals attributes Show additionals attributes object
    • basketItem object Required
      Hide basketItem attributes Show basketItem attributes object
      • entityId string Required
      • studentId string Required
      • type string Required
    • acceptedQuote object Required
      Hide acceptedQuote attributes Show acceptedQuote attributes object
      • name string Required
      • paymentMethods object Required
  • paymentIntentId string | null Required

    Payment intent for any payment that might have been taken through Stripe

Responses

  • 200 application/json

    The checkout

    Hide response attribute Show response attribute object
    • orderId string Required
POST /v1/checkout/finalise
curl \
 --request POST 'https://api-dev.classmanager.io/v1/checkout/finalise' \
 --header "Content-Type: application/json" \
 --data '{"basketId":"bskt_xxx","enrolments":[{"basketItem":{"studentId":"stu_xxx","courseId":"cls_xxx"},"acceptedQuote":{"name":"enrolment-monthly","paymentPlanId":"pp_01k5vjs0zw09xq8f0yb2nzef7x","paymentMethods":{}}}],"dropIns":[{"basketItem":{"studentId":"stu_xxx","courseId":"cls_xxx","date":"2025-01-01","time":"09:30","type":"trial"},"acceptedQuote":{"name":"trial-upfront","paymentMethods":{}}}],"products":[{"basketItem":{"variantId":"var_xxx","quantity":1},"acceptedQuote":{"name":"product-upfront","paymentMethods":{}}}],"additionals":[{"basketItem":{"entityId":"reg_xxxxxxx","studentId":"stu_xxxxxxx","type":"registration"},"acceptedQuote":{"name":"additional-fee-upfront","paymentMethods":{}}}],"paymentIntentId":"pi_xxxxxx"}'
Request examples
{
  "basketId": "bskt_xxx",
  "enrolments": [
    {
      "basketItem": {
        "studentId": "stu_xxx",
        "courseId": "cls_xxx"
      },
      "acceptedQuote": {
        "name": "enrolment-monthly",
        "paymentPlanId": "pp_01k5vjs0zw09xq8f0yb2nzef7x",
        "paymentMethods": {}
      }
    }
  ],
  "dropIns": [
    {
      "basketItem": {
        "studentId": "stu_xxx",
        "courseId": "cls_xxx",
        "date": "2025-01-01",
        "time": "09:30",
        "type": "trial"
      },
      "acceptedQuote": {
        "name": "trial-upfront",
        "paymentMethods": {}
      }
    }
  ],
  "products": [
    {
      "basketItem": {
        "variantId": "var_xxx",
        "quantity": 1
      },
      "acceptedQuote": {
        "name": "product-upfront",
        "paymentMethods": {}
      }
    }
  ],
  "additionals": [
    {
      "basketItem": {
        "entityId": "reg_xxxxxxx",
        "studentId": "stu_xxxxxxx",
        "type": "registration"
      },
      "acceptedQuote": {
        "name": "additional-fee-upfront",
        "paymentMethods": {}
      }
    }
  ],
  "paymentIntentId": "pi_xxxxxx"
}
Response examples (200)
{
  "orderId": "ord_123123123"
}