De-Duplicate Check (PAN & Mobile)
Checks if a customer with the given PAN and/or mobile number already exists. This is a pre-issuance validation step to prevent duplicate forex card issuance.
Response Interpretation
| Mobile | PAN | Meaning |
|---|---|---|
null | null | ✅ No duplicate — safe to proceed |
| Masked mobile | null | ⚠️ Mobile match found, no PAN match |
null | Masked PAN | ⚠️ PAN match found, no mobile match |
| Masked mobile | Masked PAN | ⚠️ Both match — same customer exists |
Masked Values
Returned PAN/mobile values are partially masked for privacy:
- Mobile:
709****999 - PAN:
BMX****23B
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
Required. PAN number (format: ABCDE1234F)
1 <= lengthDate of birth
Response Body
application/json
application/json
curl -X POST "https://sandbox-api.m2pprepaid.com/prepaid/customer/v1/customers/de-dupe/mobile-pan-details" \ -H "X-TENANT-ID: ACME_CORP" \ -H "Content-Type: application/json" \ -d '{ "mobile": { "value": "7099101999", "countryCode": 91 }, "pan": "ARXPB1111Q" }'{
"result": {
"mobile": null,
"pan": null,
"dob": null
},
"pagination": null
}{
"type": "https://www.m2pfintech.com/problem/constraint-violation",
"title": "Method argument not valid",
"status": 400,
"message": "error.validation",
"fieldErrors": [
{
"field": "pan",
"message": "PAN is not valid"
}
]
}View Card Details (Full Card Number + CVV) POST
Retrieves the full (unmasked) card number, CVV, and expiry date for a card. This is a **sensitive operation** that reveals complete card details. ### Security Requirements Depending on the product configuration, this API may require one or more of: - **OTP verification** — Generate and validate OTP before calling this API - **Card action rule** — Provide card expiry date for server-side validation - **PIN verification** — Verify PIN before revealing card details ### Service Codes The `serviceCode` field identifies the card type: - `226` — Forex card - `620` — GPR (General Purpose Reloadable) card - `000` — Default / auto-detect ### When to Use - "View Card Details" feature in mobile/web app - Tokenization flows that require full card number - Card-on-file registration for e-commerce ### ⚠️ PCI-DSS Compliance Partners must ensure that card details are displayed securely and never stored in logs or databases. Follow PCI-DSS guidelines for handling sensitive card data.
Fetch Customer by UniqueId or EntityId POST
Retrieves customer details using either the **customer unique ID** or the **entity ID**. Returns the same comprehensive profile as the Fetch Customer endpoint. ### Use Case - When you have the entity ID from a webhook or transaction response - Quick lookup without needing mobile/PAN details
