m2pfintech
API LibraryConfiguration

Fetch Approved Purpose of Travel List

Retrieves the last approved master list of travel purposes. These purpose codes are required when creating forex issuance or load requests.

Common Purpose Codes

CodePurpose
S0301Business Travel
S0304Medical Treatment
S0305Studies Abroad
PERSONAL_VISITPersonal Visit / Tourism
S0301_CONFAttending Conference

Server

This endpoint is served by pp-configs, not pp-corporate. Use the configs base URL.

GET
/v1/purpose-of-travel/fetch-last-approved

Authorization

bearerAuth tenantId
AuthorizationBearer <token>

In: header

X-TENANT-ID<token>

In: header

Header Parameters

X-TENANT-ID*string

Your unique tenant identifier

Response Body

application/json

application/json

curl -X GET "https://sandbox-api.m2pprepaid.com/prepaid/corporate/v1/purpose-of-travel/fetch-last-approved" \  -H "X-TENANT-ID: ACME_CORP"
{
  "result": {
    "id": "POT001",
    "purposes": [
      {
        "code": "PERSONAL_VISIT",
        "purpose": "Personal Visit"
      },
      {
        "code": "S0301",
        "purpose": "Business Travel"
      },
      {
        "code": "S0304",
        "purpose": "Medical Treatment"
      },
      {
        "code": "S0305",
        "purpose": "Studies Abroad"
      },
      {
        "code": "S0301_CONF",
        "purpose": "Attending Conference"
      }
    ]
  },
  "pagination": null
}
{
  "type": "https://www.m2pfintech.com/problem/problem-with-message",
  "title": "Business validation failed",
  "status": 409,
  "detail": "Business validation failed",
  "message": "error.business",
  "businessCode": "PP_CORP_002"
}

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.

Create Account Action Request (Maker) POST

Creates an account action request as the **maker** step of a maker-checker workflow. The request is created in a `PENDING` state and stays pending until a separate **checker** approves or rejects it via the account state-transition API. ### Action Types | `actionType` | Description | |--------------|-------------| | `CLOSURE` | Close the account. Optionally pull back the residual balance to a bank account (`bankDetails` + `autoPullback`). | | `STATUS_UPDATE` | Change the account status. | | `FREEZE` | Freeze the account (block debits/credits per product config). | | `UNFREEZE` | Reverse a freeze and restore the account. | | `LIMIT_UPDATE` | Update account-level limits. | ### Notes - `customerEntityId` and `accountEntityId` are mandatory. - For `CLOSURE` with balance pull-back, supply `bankDetails` and set `autoPullback: true`. - `updateReason` is free text, capped at 512 characters.