# Submit OTP

**Method:** `POST`

**Path:** `/api/pay/v1/otp/submit`

**Category:** BNPL

**Authentication:** Required

## Description

Submit the OTP received on the customer's registered mobile number
to validate and process the payment. This endpoint is shared between
Card Payments (native OTP flow) and BNPL payment verification.


## Request Body

Content-Type: `application/json`

- `payment_id` (`string`) **required** — Unique payment identifier from create payment response.
- `otp` (`string`) **required** — OTP received by the customer.

### Example Request

```json
{
  "payment_id": "v1-250708064524-aa-Zd1J9Y-bn-a",
  "otp": "123456"
}
```

## Responses

- `200` — OTP verified and payment processed successfully.
- `400` — 
- `422` — Unprocessable entity — incorrect OTP.
- `500` — 
- `503` — Service unavailable.

### Response Schema

- `status` (`string`) — OTP submission status.

### Example Response

```json
{
  "status": "SUCCESS"
}
```

---

Reference: https://localhost:3000/api/bnpl/submit-otp
