Pine LabsDOCS

Resend OTP for Card/BNPL/Wallet Payment

POST/api/pay/v1/otp/resend

Resend 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

FieldDetails
Request-Timestamp
stringdate-time

ISO 8601 UTC timestamp of the request. Used for idempotency and audit.

Request-ID
string

Use a global unique identifier [GUID] for the request.

Constraints
Minimum length: 1 characterMaximum length: 50 characters

Request Bodyrequired

FieldDetails
payment_id
stringrequired

Unique payment identifier from create payment response.

Response

FieldDetails
status
string

OTP resend status.

next
string[]

List of next possible actions after OTP resend.

meta_data
object1 nested field

Metadata about the OTP resend.

resend_after
string

Time in seconds after which OTP can be resent again.

Status Codes

200OTP resent successfully.
400The request was malformed or missing required fields.
422Unprocessable entity — OTP resend limit reached.
500An unexpected error occurred on the server.
503Service unavailable.
Run
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"
  }
}