m2pfintech
API LibraryTransaction

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.

POST
/v2/customers/forex/transfer-check

Authorization

bearerAuth tenantId
AuthorizationBearer <token>

JWT Bearer token from the Authentication API

In: header

X-TENANT-ID<token>

Your unique tenant identifier assigned during onboarding

In: header

Header Parameters

X-TENANT-ID*string

Your unique tenant identifier

Request Body

application/json

kitNo*string

Required. Card kit number

Length1 <= length
amount*number

Required. Amount to transfer from source wallet

Range0 <= value
sourceWalletName*string

Required. Source wallet currency name

Length1 <= length
targetWalletName*string

Required. Target wallet currency name

Length1 <= length
rateType?string

Exchange 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"
}