Submit OTP

POST/api/pay/v1/otp/submit

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.

Requires Bearer token. Get token →

Request Body

NameTypeDescription
payment_id
stringrequired

Unique payment identifier from create payment response.

otp
stringrequired

OTP received by the customer.

Response

NameTypeDescription
status
string

OTP submission status.

Status Codes

200OTP verified and payment processed successfully.
400
422Unprocessable entity — incorrect OTP.
500
503Service unavailable.
Request
curl --request POST \
  --url https://pluraluat.v2.pinepg.in/api/pay/v1/otp/submit \
  --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "payment_id": "v1-250708064524-aa-Zd1J9Y-bn-a",
  "otp": "123456"
}'

Run this request

200 OK
{
  "status": "SUCCESS"
}
New chat
Responses are generated using AI and may contain mistakes.
Hi! I'm Pine, your AI developer assistant. Ask me anything about Pine Labs APIs, integrations, or troubleshooting.

Tip: you can create a new chat with ⌘ + E