Create Forex Card Issuance
Creates a new forex card issuance request with initial currency load. This is the primary endpoint for issuing forex travel cards.
Pre-Requisite Steps (must be completed before calling this API)
- De-Dupe Check — Verify no duplicate PAN/mobile exists
- AML Match — Clear the customer through AML screening
- Limit Check — Validate LRS limits
- Fetch TCS — Get the TCS amount
- Conversion Rate — Get live forex rate for each currency
- Fee Summary — Get itemized fees (from Forex Rates API)
Key Fields
beneficiaries: Customer details including passport, address, KYC documentswalletAmount: Currency loads with conversion details from rate APIsummary: Fee breakdown from the fee summary APItrip: Travel details (destination, dates, purpose)funding: Source of funds (bank account details)declarations: Regulatory declarations (FATCA, LRS, T&C)
Compliance Documents
- Passport: Mandatory for all forex issuances
- Visa: Required for travel-related issuances
- Air Ticket: Required for travel
- A2 Form: RBI declaration form
- Purpose Proof: Required for education/medical purpose
Authorization
bearerAuth tenantId In: header
In: header
Header Parameters
Your unique tenant identifier
Request Body
application/json
Corporate or branch hierarchy ID
Card type: Single or Bulk
"Single" | "Bulk"Card kit number to be issued
Customer entity ID
Currency loads with conversion details
System-generated application number (response only)
Fee waiver approval document reference
Loan details if forex is loan-funded
Response Body
application/json
application/json
application/json
curl -X POST "https://sandbox-api.m2pprepaid.com/prepaid/corporate/v1/forex/issuance/" \ -H "X-TENANT-ID: ACME_CORP" \ -H "Content-Type: application/json" \ -d '{ "hierarchyId": "90009", "cardTypeEnum": "Single", "kitNo": "320000541", "entityId": "476843769320000541160925", "mobile": { "value": "9876543210", "countryCode": 91 }, "product": { "productId": "FRX001", "productType": "FOREX" }, "walletAmount": [ { "walletName": "USD", "amount": 500, "conversionRate": 84.95, "netAmount": 42475, "tcs": 500, "fees": 250, "gst": 45 } ], "summary": { "fees": 250, "gst": 45, "tcs": 500, "conversionGst": 125, "total": 43395, "feeWaiver": "NOTALLOWED" }, "trip": { "country": { "name": "United States", "threeDigitCountryCode": "USA" }, "startDate": "2026-06-01", "endDate": "2026-06-15", "purposeOfTravel": { "code": "PERSONAL_VISIT", "purpose": "Personal Visit" }, "type": "NEW" }, "funding": { "fundingMode": "SAVINGS_ACCOUNT", "sourceOfFund": "SELF", "accountNo": "1234567890", "ifsc": "SBIN0001234" }, "declarations": { "fatca": true, "lrs": true, "tc": true } }'{
"result": {
"id": "FXI20260601001",
"applicationNumber": "APP-FX-2026-001",
"currentStatus": "CREATED",
"kitNo": "320000541",
"entityId": "476843769320000541160925"
},
"pagination": null
}{
"type": "https://www.m2pfintech.com/problem/problem-with-message",
"title": "Bad Request",
"status": 400,
"detail": "Unable to convert http message",
"message": "error.http.400"
}{
"type": "https://www.m2pfintech.com/problem/problem-with-message",
"title": "LRS limit exceeded for the financial year",
"status": 409,
"detail": "LRS limit exceeded for the financial year",
"message": "error.business",
"businessCode": "PP_CORP_150"
}Filter Forex Card Holder Loads by Criteria POST
Advanced search for forex card holder load records with complex filter criteria. Supports filtering by date range, status, hierarchy, transaction type, and custom fields.
Fetch Forex Issuance by ID GET
Retrieves the complete details of a forex issuance by its unique ID, including customer details, wallet loads, fee breakdown, trip information, and approval status.
