Fintech APIs & Platform for KYC, Verification & Transactions in India | Eko Platform Services
Eko Platform Services Logo

POSTVerify Sender OTP

Verify the sender OTP to authenticate the PPI Levin wallet and return the sender's profile and balance.

POST/customer/payment/ppi-levin/sender/{customer_id}/otp/verify

Validates the OTP issued by Get Sender Information / Onboard Sender. For an existing sender the response returns the full wallet customer_profile (limits, balance, KYC state) and a wallet_token used by downstream calls. For a new customer the flow continues to Aadhaar validation (Aadhar Validation Pending) and then PAN (Pan Number Required).

Request

Path parameters

customer_idstringRequired

Sender's 10-digit mobile number.

example: 9444444444

Body parameters

initiator_idstringRequired

Registered mobile number of the API user (see Platform Credentials).

example: 9962981729

client_ref_idstringoptional

Unique reference ID per API call, generated by your system (max 20 characters).

example: 2026010100123456789

otpintegerRequired

OTP received from Get Sender Information, Onboard Sender, or Validate Aadhaar.

example: 123456

otp_ref_idintegerRequired

otp_ref_id received from Get Sender Information, Onboard Sender, or Validate Aadhaar.

example: 66748392

intent_idstringRequired

Intent flag: "19" for sender onboarding, "20" for Aadhaar validation.

example: 19

Responses

  • statusnumber

    Primary success indicator (0 = success).

  • messagestring

    Human-readable response / error message.

  • response_status_idnumber

    Granular status id; see the shared error-codes table.

  • response_type_idnumber

    A unique id for every possible response shape (success or error) — useful for client logic branching and analytics.

  • dataobject

    API-specific response payload.

    • customer_profileobject

      Sender's wallet profile — limits, balance, KYC state, and usage chart.

      • namestring

        Registered name of the sender.

      • mobilestring

        Sender's mobile number.

      • total_monthly_limitstring

        Total monthly transfer limit (INR).

      • next_allowed_limitstring

        Remaining transfer limit for the period (INR).

      • balancestring

        Current wallet balance (INR).

      • ekyc_enablednumber

        Whether biometric eKYC is enabled (1) or not (0).

      • kyc_statenumber

        KYC completion state.

      • chartarray

        Usage breakdown (used / remaining / unavailable).

        • data_type_idnumber

          Chart data type identifier.

        • dataobject

          Used / remaining / unavailable amounts.

          • usednumber

            Amount used in the period (INR).

          • remainingnumber

            Amount remaining in the period (INR).

          • unavailablenumber

            Amount blocked/unavailable (INR).

    • wallet_tokenstring

      Wallet authentication token (JWT) required by downstream PPI Levin calls.

    • is_registerednumber

      Whether the sender is already fully registered.

    • next_allowed_limitnumber

      Remaining transfer limit at the top level (INR).

Next steps

NextPOSTValidate PANValidate the sender's PAN to complete PPI Levin KYC and return the updated wallet profile.

Related