Track Card Delivery Status
Retrieves the current delivery status and tracking details for a physical card. Provide the kit number to get real-time delivery information including courier details, expected delivery date, and current status.
How It Works
- After card issuance, the physical card enters the fulfillment pipeline
- Use this API with the kit number to check delivery progress
- The response includes delivery method (home delivery or branch pickup), current status, and courier/tracking information when available
Response Includes
- Delivery Mode: Home Delivery (HD) or Branch Pickup (BP)
- Current Status: Where the card is in the delivery pipeline
- Courier Details: AWB number, courier name (for home delivery)
- Branch Details: Branch name, address (for branch pickup)
- Timestamps: When the card was dispatched, expected delivery date
- Recipient Details: Name and contact of the person who received the card
Tip
Poll this API periodically (e.g., every 6 hours) to update the delivery status in your app, or use webhooks for real-time delivery notifications.
Authorization
bearerAuth tenantId JWT Bearer token from the Authentication API
In: header
Your unique tenant identifier assigned during onboarding
In: header
Header Parameters
Your unique tenant identifier
Request Body
application/json
Search criteria for card tracking (primarily kit number)
Kit number of the card to track. This is the primary card identifier assigned during issuance and printed on the physical card.
Application number from the issuance request. Useful when the kit number is not yet known (e.g., bulk issuance tracking).
datedatedatedateResponse Body
application/json
application/json
application/json
curl -X POST "https://sandbox-api.m2pprepaid.com/prepaid/corporate/v1/card/live-tracking/search" \ -H "X-TENANT-ID: ACME_CORP" \ -H "Content-Type: application/json" \ -d '{ "kitNo": "910000031" }'Card shipped via courier and currently in transit
{
"result": {
"kitNo": "910000031",
"deliveryMode": "HOME_DELIVERY",
"status": "IN_TRANSIT",
"courierName": "Blue Dart Express",
"awbNumber": "AWB7892345678",
"dispatchDate": "2025-01-20",
"expectedDeliveryDate": "2025-01-25",
"deliveryAddress": "123, MG Road, Bangalore, Karnataka - 560001",
"cardHolderName": "Rajesh Kumar"
},
"pagination": null
}No card record found for the given kit number
{
"type": "https://www.m2pfintech.com/problem/problem-with-message",
"title": "No data found for the kit provided",
"status": 409,
"detail": "No tracking information available for kit: 910000031",
"message": "error.business",
"businessCode": "PP_CORP_010"
}{
"type": "https://www.m2pfintech.com/problem/problem-with-message",
"title": "Internal Server Error",
"status": 500,
"detail": "Unable to fetch tracking information. Please try again later.",
"message": "error.http.500"
}Set Card PIN (First Time) POST
Sets the PIN for a card for the first time, or resets it. This is the secure version that requires **RSA-encrypted PIN** in the request body. ### PIN Encryption The `newPin` field must be RSA-encrypted using the public key provided during onboarding. Example encrypted value: `u3uPnpCuaht7B3WsfY6SjXVqG0/laW7Kq5zlSR0zpZ0BY3Ge+JJNJpvfe4NVqSqN` ### OTP Verification This endpoint requires OTP verification. You must: 1. Call Generate OTP API first 2. Get the `traceNumber` from the OTP response 3. Include both the OTP and traceNumber in this request ### When to Use - First-time PIN setup after card issuance - PIN reset (forgotten PIN) — customer verifies via OTP
Update Card Transaction Preferences POST
Configures transaction preferences for a prepaid card. Allows enabling/disabling specific transaction channels and setting daily limits for both **domestic** and **international** usage. ### Preference Types Each of the following can be independently configured: - `ATM` — Cash withdrawal from ATMs - `E-com` — Online/e-commerce purchases - `POS` — Point-of-sale merchant purchases - `ContactLess` — NFC tap-and-pay transactions - `Cash-PoS` — Cash withdrawal at POS terminals - `Tokenization` — Digital wallet tokens (Apple Pay, Google Pay, Samsung Pay) - `Recurring Transactions` — Standing instructions, subscriptions, auto-debits ### Limit Configuration For each preference type, you can set: - `enabled` — Toggle on/off - `maxTransaction` — Maximum number of transactions per day - `maxTransactionAmountPerDay` — Maximum total amount per day - `perTransactionLimit` — Maximum amount per single transaction - `upperLimitMaxTransaction` / `upperLimitMaxTransactionAmountPerDay` — Product-level upper bounds (read-only reference) ### Important Notes - Card must be in **ACTIVE** status to update preferences - Only send the preferences you want to change — others remain unchanged - `upperLimit*` fields are read-only max bounds set at product level - Setting a value higher than the upper limit will be rejected
