Groove Restricted

Resolve this before you come in.

This desk keeps a single admission problem. It is exact. Rounding commentary, spaces, and separators are refused.

Ramanujan noticed that this value misses an integer by less than one part in a trillion. Write that integer.

Back to docs
API reference

Fan checkout & payments

14 methods. Request fields, an example response, and notes on what comes back in data.

Base https://api.groove.com.na Updated October 2026
GET /api/checkout/dpo/callback

List or read resources for this path.

Public

Request

No body or query parameters. Path values above, if any, are enough.

Example response

{
  "status": "success",
  "success": true,
  "statusCode": "00000",
  "message": "OK",
  "shortMessage": "SUCCESS",
  "timestamp": "2026-10-10T21:00:00.000Z",
  "requestId": "a1b2c3d4e5f6g7h8",
  "data": {}
}

Response data

Success returns the standard envelope. data holds the payload for this method — confirm the shape in your client when integrating.

POST /api/checkout/preview

Price a ticket cart before opening checkout.

Bearer token

Request

ParameterInReq.Description
linesbodyYRequest field. See Zod schema in the route module for constraints.
promoCodebodyYRequest field. See Zod schema in the route module for constraints.
paymentOptionSlugbodyYPayment rail slug from the payment-options catalogue (e.g. maris, card).

Example body

{
  "lines": [
    { "eventId": "{{eventId}}", "ticketTypeId": "{{ticketTypeId}}", "quantity": 2 }
  ],
  "promoCode": "",
  "paymentOptionSlug": "maris"
}

Example response

{
  "status": "success",
  "success": true,
  "statusCode": "00000",
  "message": "OK",
  "shortMessage": "SUCCESS",
  "timestamp": "2026-10-10T21:00:00.000Z",
  "requestId": "a1b2c3d4e5f6g7h8",
  "data": {}
}

Response data

Success returns the standard envelope. data holds the payload for this method — confirm the shape in your client when integrating.

POST /api/checkout/sessions

Open a fan checkout session.

Bearer token

Request

ParameterInReq.Description
linesbodyYRequest field. See Zod schema in the route module for constraints.
paymentOptionSlugbodyYPayment rail slug from the payment-options catalogue (e.g. maris, card).
marisPhonebodyYRequest field. See Zod schema in the route module for constraints.

Example body

{
  "lines": [
    { "eventId": "{{eventId}}", "ticketTypeId": "{{ticketTypeId}}", "quantity": 2 }
  ],
  "paymentOptionSlug": "maris",
  "marisPhone": "814555322"
}

Example response

{
  "status": "success",
  "success": true,
  "statusCode": "00000",
  "message": "OK",
  "shortMessage": "SUCCESS",
  "timestamp": "2026-10-10T21:00:00.000Z",
  "requestId": "a1b2c3d4e5f6g7h8",
  "data": {
    "token": "chk_9a2f...",
    "amountMinor": 75000,
    "currency": "NAD",
    "paymentOptionSlug": "maris",
    "expiresAt": "2026-10-10T22:30:00.000Z",
    "lines": [
      {
        "name": "General \u00b7 Early bird",
        "qty": 2,
        "unitPriceMinor": 37500
      }
    ]
  }
}

Response data

Wrapped in the standard envelope (status, success, data, …). See the introduction for envelope fields.

FieldDescription
data.tokenOpaque session token for follow-up calls.
data.amountMinorMoney amount in minor units (cents).
data.currencyISO currency code.
data.paymentOptionSlugSelected payment rail.
data.expiresAtWhen the session or token stops being valid (ISO 8601).
data.linesArray. Element shape shown when sample includes objects.
data.lines[].nameHuman-readable name.
data.lines[].qtyQuantity.
data.lines[].unitPriceMinorUnit price in minor units.
POST /api/checkout/sessions/:token/maris/verify-otp

Open a fan checkout session.

Bearer token

Request

ParameterInReq.Description
tokenpathYOpaque session or activation token.

Example response

{
  "status": "success",
  "success": true,
  "statusCode": "00000",
  "message": "OK",
  "shortMessage": "SUCCESS",
  "timestamp": "2026-10-10T21:00:00.000Z",
  "requestId": "a1b2c3d4e5f6g7h8",
  "data": {
    "token": "chk_9a2f...",
    "amountMinor": 75000,
    "currency": "NAD",
    "paymentOptionSlug": "maris",
    "expiresAt": "2026-10-10T22:30:00.000Z",
    "lines": [
      {
        "name": "General \u00b7 Early bird",
        "qty": 2,
        "unitPriceMinor": 37500
      }
    ]
  }
}

Response data

Wrapped in the standard envelope (status, success, data, …). See the introduction for envelope fields.

FieldDescription
data.tokenOpaque session token for follow-up calls.
data.amountMinorMoney amount in minor units (cents).
data.currencyISO currency code.
data.paymentOptionSlugSelected payment rail.
data.expiresAtWhen the session or token stops being valid (ISO 8601).
data.linesArray. Element shape shown when sample includes objects.
data.lines[].nameHuman-readable name.
data.lines[].qtyQuantity.
data.lines[].unitPriceMinorUnit price in minor units.
POST /api/checkout/sessions/:token/pay

Open a fan checkout session.

Bearer token

Request

ParameterInReq.Description
tokenpathYOpaque session or activation token.

Example response

{
  "status": "success",
  "success": true,
  "statusCode": "00000",
  "message": "OK",
  "shortMessage": "SUCCESS",
  "timestamp": "2026-10-10T21:00:00.000Z",
  "requestId": "a1b2c3d4e5f6g7h8",
  "data": {
    "token": "chk_9a2f...",
    "amountMinor": 75000,
    "currency": "NAD",
    "paymentOptionSlug": "maris",
    "expiresAt": "2026-10-10T22:30:00.000Z",
    "lines": [
      {
        "name": "General \u00b7 Early bird",
        "qty": 2,
        "unitPriceMinor": 37500
      }
    ]
  }
}

Response data

Wrapped in the standard envelope (status, success, data, …). See the introduction for envelope fields.

FieldDescription
data.tokenOpaque session token for follow-up calls.
data.amountMinorMoney amount in minor units (cents).
data.currencyISO currency code.
data.paymentOptionSlugSelected payment rail.
data.expiresAtWhen the session or token stops being valid (ISO 8601).
data.linesArray. Element shape shown when sample includes objects.
data.lines[].nameHuman-readable name.
data.lines[].qtyQuantity.
data.lines[].unitPriceMinorUnit price in minor units.
GET /api/payment-options

List or read resources for this path.

Public

Request

No body or query parameters. Path values above, if any, are enough.

Example response

{
  "status": "success",
  "success": true,
  "statusCode": "00000",
  "message": "OK",
  "shortMessage": "SUCCESS",
  "timestamp": "2026-10-10T21:00:00.000Z",
  "requestId": "a1b2c3d4e5f6g7h8",
  "data": {}
}

Response data

Success returns the standard envelope. data holds the payload for this method — confirm the shape in your client when integrating.

GET /api/payment-options/checkout

List or read resources for this path.

Public

Request

No body or query parameters. Path values above, if any, are enough.

Example response

{
  "status": "success",
  "success": true,
  "statusCode": "00000",
  "message": "OK",
  "shortMessage": "SUCCESS",
  "timestamp": "2026-10-10T21:00:00.000Z",
  "requestId": "a1b2c3d4e5f6g7h8",
  "data": {}
}

Response data

Success returns the standard envelope. data holds the payload for this method — confirm the shape in your client when integrating.

GET /api/payments/paygate/app-result

List or read resources for this path.

Public

Request

No body or query parameters. Path values above, if any, are enough.

Example response

{
  "status": "success",
  "success": true,
  "statusCode": "00000",
  "message": "OK",
  "shortMessage": "SUCCESS",
  "timestamp": "2026-10-10T21:00:00.000Z",
  "requestId": "a1b2c3d4e5f6g7h8",
  "data": {}
}

Response data

Success returns the standard envelope. data holds the payload for this method — confirm the shape in your client when integrating.

GET /api/payments/paygate/bridge/:token

Fetch one resource by id or token.

Public

Request

ParameterInReq.Description
tokenpathYOpaque session or activation token.

Example response

{
  "status": "success",
  "success": true,
  "statusCode": "00000",
  "message": "OK",
  "shortMessage": "SUCCESS",
  "timestamp": "2026-10-10T21:00:00.000Z",
  "requestId": "a1b2c3d4e5f6g7h8",
  "data": {}
}

Response data

Success returns the standard envelope. data holds the payload for this method — confirm the shape in your client when integrating.

GET /api/payments/paygate/checkout-status/:token

Fetch one resource by id or token.

Bearer token

Request

ParameterInReq.Description
tokenpathYOpaque session or activation token.

Example response

{
  "status": "success",
  "success": true,
  "statusCode": "00000",
  "message": "OK",
  "shortMessage": "SUCCESS",
  "timestamp": "2026-10-10T21:00:00.000Z",
  "requestId": "a1b2c3d4e5f6g7h8",
  "data": {}
}

Response data

Success returns the standard envelope. data holds the payload for this method — confirm the shape in your client when integrating.

POST /api/payments/paygate/notify

Create a resource or run this action.

Public

Request

No body or query parameters. Path values above, if any, are enough.

Example body

{}

Example response

{
  "status": "success",
  "success": true,
  "statusCode": "00000",
  "message": "OK",
  "shortMessage": "SUCCESS",
  "timestamp": "2026-10-10T21:00:00.000Z",
  "requestId": "a1b2c3d4e5f6g7h8",
  "data": {}
}

Response data

Success returns the standard envelope. data holds the payload for this method — confirm the shape in your client when integrating.

GET /api/payments/paygate/return

List or read resources for this path.

Bearer token

Request

No body or query parameters. Path values above, if any, are enough.

Example response

{
  "status": "success",
  "success": true,
  "statusCode": "00000",
  "message": "OK",
  "shortMessage": "SUCCESS",
  "timestamp": "2026-10-10T21:00:00.000Z",
  "requestId": "a1b2c3d4e5f6g7h8",
  "data": {}
}

Response data

Success returns the standard envelope. data holds the payload for this method — confirm the shape in your client when integrating.

POST /api/payments/paygate/return

Create a resource or run this action.

Bearer token

Request

No body or query parameters. Path values above, if any, are enough.

Example body

{}

Example response

{
  "status": "success",
  "success": true,
  "statusCode": "00000",
  "message": "OK",
  "shortMessage": "SUCCESS",
  "timestamp": "2026-10-10T21:00:00.000Z",
  "requestId": "a1b2c3d4e5f6g7h8",
  "data": {}
}

Response data

Success returns the standard envelope. data holds the payload for this method — confirm the shape in your client when integrating.

GET /api/payments/paygate/status/:kind/:token

Fetch one resource by id or token.

Bearer token

Request

ParameterInReq.Description
kindpathYPath parameter identifying the resource.
tokenpathYOpaque session or activation token.

Example response

{
  "status": "success",
  "success": true,
  "statusCode": "00000",
  "message": "OK",
  "shortMessage": "SUCCESS",
  "timestamp": "2026-10-10T21:00:00.000Z",
  "requestId": "a1b2c3d4e5f6g7h8",
  "data": {}
}

Response data

Success returns the standard envelope. data holds the payload for this method — confirm the shape in your client when integrating.

Lock this page again

Fan checkout & payments · 14 methods · October 2026