Forex Transfer Check (Preview)
Previews a forex wallet-to-wallet transfer without executing it. Returns the exchange rate, converted amount, fees, and markup that would apply.
When to Use
- Show the customer a transfer preview before confirmation
- Calculate the exchange rate and fees for display
- Validate that the transfer is possible (sufficient balance, valid wallets)
Note
The rates returned are indicative and may change slightly when the actual transfer is executed, as forex rates fluctuate in real-time.
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. Card kit number
1 <= lengthRequired. Amount to transfer from source wallet
0 <= valueRequired. Source wallet currency name
1 <= lengthRequired. Target wallet currency name
1 <= lengthExchange rate type: IBR = Interbank Rate, CRD = Card Rate
Response Body
application/json
application/json
application/json
curl -X POST "https://sandbox-api.m2pprepaid.com/prepaid/customer/v2/customers/forex/transfer-check" \ -H "X-TENANT-ID: ACME_CORP" \ -H "Content-Type: application/json" \ -d '{ "kitNo": "20006085", "amount": 25, "sourceWalletName": "USD", "targetWalletName": "SGD", "rateType": "IBR" }'{
"result": {
"txnId": "string",
"entityId": "string",
"kitNo": "string",
"txnOrigin": "WEB",
"source": {
"amount": "string",
"preBalance": "string",
"postBalance": "string",
"transactionType": "string",
"transactionStatus": "SUCCESS",
"externalTransactionId": "string",
"transactionCurrencyCode": "string",
"transactionCurrencyCodeName": "USD",
"exchangeRate": 0,
"crDr": "C"
},
"destination": {
"amount": "string",
"preBalance": "string",
"postBalance": "string",
"transactionType": "string",
"transactionStatus": "SUCCESS",
"externalTransactionId": "string",
"transactionCurrencyCode": "string",
"transactionCurrencyCodeName": "USD",
"exchangeRate": 0,
"crDr": "C"
},
"conversionInfo": {
"conversionRate": 1.319385,
"convertedAmount": 32.98,
"markUpAmount": 0,
"markUpServiceTax": 0,
"txnFees": 0,
"serviceTax": 0,
"grossConvertedAmount": 32.98
}
},
"pagination": {
"list": true,
"pageSize": 0,
"pageNo": 0,
"totalPages": 0,
"totalElements": 0
}
}{
"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": "Invalid Tenant Access",
"status": 409,
"detail": "Invalid Tenant Access",
"message": "error.business",
"businessCode": "M2PPP_011"
}Forex Wallet-to-Wallet Transfer POST
Transfers funds between two forex wallets on the same card. For example, converting USD to SGD or EUR to GBP. ### How It Works 1. Specify source and target wallet names 2. Amount is debited from the source wallet 3. Converted amount is credited to the target wallet 4. Exchange rate is applied based on the current interbank rate (IBR) ### Rate Types | Type | Description | |------|-------------| | `IBR` | Interbank Rate — standard market rate | | `CRD` | Card Rate — rate configured for the product | ### Response Structure Returns a detailed breakdown: - **source**: Debit details with pre/post balance - **destination**: Credit details with pre/post balance - **conversionInfo**: Exchange rate, markup, fees, gross amount
Check Wallet Balance POST
Retrieves the current available balance for a specific wallet. For multi-currency cards (e.g., forex cards), you can check the balance of each currency wallet individually. ### Response Details The balance response includes: - **Available Balance**: The amount currently available for transactions - **Wallet Currency**: The currency of the wallet (INR, USD, EUR, etc.) - **Wallet Status**: Current status of the wallet ### When to Use - **Pre-Transaction Check**: Verify sufficient balance before initiating a debit/transfer - **Balance Display**: Show real-time balance in your app/portal - **Reconciliation**: Compare balances for accounting and reconciliation purposes
