POST /v1/checkout
application/json

Body

  • basketId string Required

    ID of the basket to retrieve

Responses

  • 200 application/json

    The checkout

    Hide response attributes Show response attributes object
    • checkout object Required
      Hide checkout attributes Show checkout attributes object
      • enrolments array[object] Required
        Hide enrolments attributes Show enrolments attributes object
        • basketItem object Required
          Hide basketItem attributes Show basketItem attributes object
          • studentId string Required
          • courseId string Required
        • price object Required
          Hide price attributes Show price attributes object
          • netPrice integer Required
          • discountAmount integer Required
          • taxAmount integer Required
          • grossPrice integer Required
        • quotes array[object] Required
          Hide quotes attributes Show quotes attributes object
          • name string Required
          • netPrice integer Required
          • discountAmount integer Required
          • taxAmount integer Required
          • grossPrice integer Required
          • paymentMethods object Required
            Hide paymentMethods attribute Show paymentMethods attribute object
            • stripe object
              Hide stripe attribute Show stripe attribute object
              • maxAmount integer Required
          • meta object Required
            Hide meta attributes Show meta attributes object
            • pricingPlan object

              Pricing plan schema

              Hide pricingPlan attributes Show pricingPlan attributes object
              • id string Required

                Pricing plan ID

              • seasonId string Required

                Season ID

              • pricingModel string Required

                Values are per-lesson, per-month, or per-season.

              • firstPaymentDate string(date) Required

                First payment date

              • numberOfInstallments integer Required

                Number of installments

              • type string Required

                Values are one-off, monthly, fortnightly, weekly, or custom.

              • discount number Required
              • enabled boolean Required

                Whether the pricing plan is enabled

              • installmentDates array[string(date-time)] | null Required

                Custom installment dates for custom pricing plans

            • currentInstalment integer
            • remainingInstalments integer
            • installmentDates array[string]
      • dropIns array[object] Required
        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 time Required
          • type string Required

            Values are trial or payg.

        • price object Required
          Hide price attributes Show price attributes object
          • netPrice integer Required
          • discountAmount integer Required
          • taxAmount integer Required
          • grossPrice integer Required
        • quotes array[object] Required
          Hide quotes attributes Show quotes attributes object
          • name string Required
          • netPrice integer Required
          • discountAmount integer Required
          • taxAmount integer Required
          • grossPrice integer Required
          • paymentMethods object Required
            Hide paymentMethods attribute Show paymentMethods attribute object
            • stripe object
              Hide stripe attribute Show stripe attribute object
              • maxAmount integer Required
          • meta object Required
            Hide meta attributes Show meta attributes object
            • pricingPlan object

              Pricing plan schema

              Hide pricingPlan attributes Show pricingPlan attributes object
              • id string Required

                Pricing plan ID

              • seasonId string Required

                Season ID

              • pricingModel string Required

                Values are per-lesson, per-month, or per-season.

              • firstPaymentDate string(date) Required

                First payment date

              • numberOfInstallments integer Required

                Number of installments

              • type string Required

                Values are one-off, monthly, fortnightly, weekly, or custom.

              • discount number Required
              • enabled boolean Required

                Whether the pricing plan is enabled

              • installmentDates array[string(date-time)] | null Required

                Custom installment dates for custom pricing plans

            • currentInstalment integer
            • remainingInstalments integer
            • installmentDates array[string]
      • products array[object] Required
        Hide products attributes Show products attributes object
        • basketItem object Required
          Hide basketItem attributes Show basketItem attributes object
          • variantId string Required
          • quantity integer Required
        • price object Required
          Hide price attributes Show price attributes object
          • netPrice integer Required
          • discountAmount integer Required
          • taxAmount integer Required
          • grossPrice integer Required
        • quotes array[object] Required
          Hide quotes attributes Show quotes attributes object
          • name string Required
          • netPrice integer Required
          • discountAmount integer Required
          • taxAmount integer Required
          • grossPrice integer Required
          • paymentMethods object Required
            Hide paymentMethods attribute Show paymentMethods attribute object
            • stripe object
              Hide stripe attribute Show stripe attribute object
              • maxAmount integer Required
          • meta object Required
            Hide meta attributes Show meta attributes object
            • pricingPlan object

              Pricing plan schema

              Hide pricingPlan attributes Show pricingPlan attributes object
              • id string Required

                Pricing plan ID

              • seasonId string Required

                Season ID

              • pricingModel string Required

                Values are per-lesson, per-month, or per-season.

              • firstPaymentDate string(date) Required

                First payment date

              • numberOfInstallments integer Required

                Number of installments

              • type string Required

                Values are one-off, monthly, fortnightly, weekly, or custom.

              • discount number Required
              • enabled boolean Required

                Whether the pricing plan is enabled

              • installmentDates array[string(date-time)] | null Required

                Custom installment dates for custom pricing plans

            • currentInstalment integer
            • remainingInstalments integer
            • installmentDates array[string]
      • additionals array[object] Required
        Hide additionals attributes Show additionals attributes object
        • basketItem object Required
          Hide basketItem attributes Show basketItem attributes object
          • studentId string Required
          • entityId string Required
          • type string Required

            Values are registration-fee or additional-fee.

        • price object Required
          Hide price attributes Show price attributes object
          • netPrice integer Required
          • discountAmount integer Required
          • taxAmount integer Required
          • grossPrice integer Required
        • quotes array[object] Required
          Hide quotes attributes Show quotes attributes object
          • name string Required
          • netPrice integer Required
          • discountAmount integer Required
          • taxAmount integer Required
          • grossPrice integer Required
          • paymentMethods object Required
            Hide paymentMethods attribute Show paymentMethods attribute object
            • stripe object
              Hide stripe attribute Show stripe attribute object
              • maxAmount integer Required
          • meta object Required
            Hide meta attributes Show meta attributes object
            • pricingPlan object

              Pricing plan schema

              Hide pricingPlan attributes Show pricingPlan attributes object
              • id string Required

                Pricing plan ID

              • seasonId string Required

                Season ID

              • pricingModel string Required

                Values are per-lesson, per-month, or per-season.

              • firstPaymentDate string(date) Required

                First payment date

              • numberOfInstallments integer Required

                Number of installments

              • type string Required

                Values are one-off, monthly, fortnightly, weekly, or custom.

              • discount number Required
              • enabled boolean Required

                Whether the pricing plan is enabled

              • installmentDates array[string(date-time)] | null Required

                Custom installment dates for custom pricing plans

            • currentInstalment integer
            • remainingInstalments integer
            • installmentDates array[string]
    • balance integer Required

      The balance of the family

POST /v1/checkout
curl \
 --request POST 'https://api.classmanager.io/v1/checkout' \
 --header "Content-Type: application/json" \
 --data '{"basketId":"bskt_xxx"}'
Request examples
{
  "basketId": "bskt_xxx"
}
Response examples (200)
{
  "checkout": {
    "enrolments": [
      {
        "basketItem": {
          "studentId": "stu_xxx",
          "courseId": "cls_xxx"
        },
        "price": {
          "netPrice": 1000,
          "discountAmount": -200,
          "taxAmount": 200,
          "grossPrice": 1000
        },
        "quotes": [
          {
            "name": "product-upfront",
            "netPrice": 1000,
            "discountAmount": -200,
            "taxAmount": 200,
            "grossPrice": 1000,
            "paymentMethods": {
              "stripe": {
                "maxAmount": 2000
              }
            },
            "meta": {
              "pricingPlan": {
                "id": "pp_xxxxxxxxxxxxxxxxxxxxxxxxxx",
                "seasonId": "sea_xxxxxxxxxxxxxxxxxxxxxxxxxx",
                "pricingModel": "per-lesson",
                "firstPaymentDate": "2023-12-05",
                "numberOfInstallments": 100,
                "type": "one-off",
                "discount": 42.0,
                "enabled": true,
                "installmentDates": [
                  "2025-05-04T09:42:00Z"
                ]
              },
              "currentInstalment": 42,
              "remainingInstalments": 42,
              "installmentDates": [
                "string"
              ]
            }
          }
        ]
      }
    ],
    "dropIns": [
      {
        "basketItem": {
          "studentId": "stu_xxx",
          "courseId": "cls_xxx",
          "date": "2025-01-01",
          "time": "09:30",
          "type": "trial"
        },
        "price": {
          "netPrice": 1000,
          "discountAmount": -200,
          "taxAmount": 200,
          "grossPrice": 1000
        },
        "quotes": [
          {
            "name": "product-upfront",
            "netPrice": 1000,
            "discountAmount": -200,
            "taxAmount": 200,
            "grossPrice": 1000,
            "paymentMethods": {
              "stripe": {
                "maxAmount": 2000
              }
            },
            "meta": {
              "pricingPlan": {
                "id": "pp_xxxxxxxxxxxxxxxxxxxxxxxxxx",
                "seasonId": "sea_xxxxxxxxxxxxxxxxxxxxxxxxxx",
                "pricingModel": "per-lesson",
                "firstPaymentDate": "2023-12-05",
                "numberOfInstallments": 100,
                "type": "one-off",
                "discount": 42.0,
                "enabled": true,
                "installmentDates": [
                  "2025-05-04T09:42:00Z"
                ]
              },
              "currentInstalment": 42,
              "remainingInstalments": 42,
              "installmentDates": [
                "string"
              ]
            }
          }
        ]
      }
    ],
    "products": [
      {
        "basketItem": {
          "variantId": "var_xxx",
          "quantity": 1
        },
        "price": {
          "netPrice": 1000,
          "discountAmount": -200,
          "taxAmount": 200,
          "grossPrice": 1000
        },
        "quotes": [
          {
            "name": "product-upfront",
            "netPrice": 1000,
            "discountAmount": -200,
            "taxAmount": 200,
            "grossPrice": 1000,
            "paymentMethods": {
              "stripe": {
                "maxAmount": 2000
              }
            },
            "meta": {
              "pricingPlan": {
                "id": "pp_xxxxxxxxxxxxxxxxxxxxxxxxxx",
                "seasonId": "sea_xxxxxxxxxxxxxxxxxxxxxxxxxx",
                "pricingModel": "per-lesson",
                "firstPaymentDate": "2023-12-05",
                "numberOfInstallments": 100,
                "type": "one-off",
                "discount": 42.0,
                "enabled": true,
                "installmentDates": [
                  "2025-05-04T09:42:00Z"
                ]
              },
              "currentInstalment": 42,
              "remainingInstalments": 42,
              "installmentDates": [
                "string"
              ]
            }
          }
        ]
      }
    ],
    "additionals": [
      {
        "basketItem": {
          "studentId": "stu_xxxxxxx",
          "entityId": "reg_xxxxxx",
          "type": "registration-fee"
        },
        "price": {
          "netPrice": 1000,
          "discountAmount": -200,
          "taxAmount": 200,
          "grossPrice": 1000
        },
        "quotes": [
          {
            "name": "product-upfront",
            "netPrice": 1000,
            "discountAmount": -200,
            "taxAmount": 200,
            "grossPrice": 1000,
            "paymentMethods": {
              "stripe": {
                "maxAmount": 2000
              }
            },
            "meta": {
              "pricingPlan": {
                "id": "pp_xxxxxxxxxxxxxxxxxxxxxxxxxx",
                "seasonId": "sea_xxxxxxxxxxxxxxxxxxxxxxxxxx",
                "pricingModel": "per-lesson",
                "firstPaymentDate": "2023-12-05",
                "numberOfInstallments": 100,
                "type": "one-off",
                "discount": 42.0,
                "enabled": true,
                "installmentDates": [
                  "2025-05-04T09:42:00Z"
                ]
              },
              "currentInstalment": 42,
              "remainingInstalments": 42,
              "installmentDates": [
                "string"
              ]
            }
          }
        ]
      }
    ]
  },
  "balance": 100
}