m2pfintech
API LibraryPpi Wallet

Register PPI Profile

Registers a Prepaid Payment Instrument (PPI) profile. For PPI integrations where M2P is the PPI provider, this single API creates the profile, VPA, and auto-links the PPI wallet account. For external PPI providers, a separate wallet linking step is required after profile creation.

POST
/upi/v1/wrapper/profile/ppi/register

Request Body

application/json

deviceInfo*

Device and SIM information required for UPI API authentication and tracking

channelCode*string
seqNo*string
entityId*string

Unique entity identifier for the PPI user

name*string

Name of the PPI account holder

vpaId*string

Desired VPA for the PPI profile

Response Body

application/json

curl -X POST "https://sandbox-upi-api.m2pfintech.com/upi/v1/wrapper/profile/ppi/register" \  -H "Content-Type: application/json" \  -d '{    "deviceInfo": {      "deviceId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",      "simId": "8991101200003204510",      "deviceType": "MOB",      "os": "Android",      "telecom": "Airtel",      "geoCode": "13.0827,80.2707",      "appId": "v2.0",      "ipAddress": "192.168.1.50",      "location": "Mumbai",      "mobile": "919876501234"    },    "channelCode": "PPI0001234",    "seqNo": "870",    "entityId": "ENTITY-UUID-001",    "name": "Amit Patel",    "vpaId": "amit.wallet@ppiwallet"  }'

{
  "status": "SUCCESS",
  "exception": null,
  "seqNo": "870",
  "message": "PPI profile registered",
  "result": {
    "id": "ppi-profile-uuid-001",
    "mobile": "919876501234",
    "vpas": [
      {
        "vpaId": "amit.wallet@ppiwallet",
        "primary": true,
        "status": "ACTIVE"
      }
    ],
    "accounts": [
      {
        "accountId": "ppi-acc-uuid-001",
        "accountType": "PPI",
        "status": "ACTIVE"
      }
    ]
  }
}