Resend OTP for Card/BNPL/Wallet Payment
POST
/api/pay/v1/otp/resendResend the OTP to the customer's registered mobile number for payment verification. This endpoint is shared between Card Payments (native OTP flow), BNPL, and Brand Wallet payment verification.
Requires
Bearer token. Get token →Header Parameters
| Field | Details |
|---|---|
Request-Timestampstringdate-time | ISO 8601 UTC timestamp of the request. Used for idempotency and audit. |
Request-IDstring | Use a global unique identifier [GUID] for the request. Constraints Minimum length: 1 characterMaximum length: 50 characters |
Request Bodyrequired
| Field | Details |
|---|---|
payment_idstringrequired | Unique payment identifier from create payment response. |
Response
| Field | Details |
|---|---|
statusstring | OTP resend status. |
nextstring[] | List of next possible actions after OTP resend. |
meta_dataobject1 nested field | Metadata about the OTP resend. |
resend_afterstring | Time in seconds after which OTP can be resent again. |
Status Codes
200 | OTP resent successfully. |
400 | The request was malformed or missing required fields. |
422 | Unprocessable entity — OTP resend limit reached. |
500 | An unexpected error occurred on the server. |
503 | Service unavailable. |
Request
curl --request POST \
--url https://pluraluat.v2.pinepg.in/api/pay/v1/otp/resend \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'Content-Type: application/json' \
--header 'Request-ID: a1b2c3d4-e5f6-7890-abcd-ef1234567890' \
--header 'Request-Timestamp: 2024-10-01T10:30:00Z' \
--data '{
"payment_id": "v1-250708064524-aa-Zd1J9Y-bn-a"
}'{
"status": "SUCCESS",
"next": [
"SUBMIT_OTP",
"RESEND_OTP"
],
"meta_data": {
"resend_after": "180"
}
}