🚀 VaultsPay API v1 is live. See what's new →
Payment CardsRequest For Conversion

Request For Conversion

SaaS apps can request conversion of a virtual card to a physical card for their customers. All endpoints require a valid accessToken and follow the encryption & header rules of the platform.

POST{baseUrl}/pcs/api/v1/virtual-to-physical

Payload

AttributeTypeRequiredDescription
cardIdIntegerYesThe card identifier specifying which card needs to be converted.
addressIdIntegerConditionalDelivery address ID. Either addressId or address object is required.
addressObjectConditionalDelivery address object. Either addressId or address is required.
address.countryString (ISO Alpha-3)ConditionalCountry code (e.g., PAK).
address.stateStringConditionalState/Province.
address.cityStringConditionalCity.
address.addressLine1StringConditionalAddress line 1.
address.postalCodeStringConditionalPostal/ZIP code.
address.longitudeStringConditionalLongitude (decimal).
address.latitudeStringConditionalLatitude (decimal).
Request Example
{
  "cardId": 25,
  "address": {
    "country": "PAK",
    "state": "Punjab",
    "city": "RWP",
    "addressLine1": "line 1 address",
    "postalCode": "44000",
    "longitude": "127.45",
    "latitude": "716.70"
  }
}

Response

FieldTypeDescription
idIntegerCard ID.
userIdIntegerOwner user ID.
cardIssuerConfigIdIntegerCard issuer config ID.
userProfileObjectBasic profile of the cardholder.
_3dSecureObject3DS configuration/details (if available).
accountObjectLinked account details.
cardTierObjectCard tier flags.
manufacturingObjectManufacturing details.
deliveryObjectDelivery details.
paymentCardTypeEnume.g., DEBIT.
cardNetworkEnume.g., MASTERCARD.
cardTypeEnumPHYSICAL or VIRTUAL.
billingCurrencyStringBilling currency code.
embossNameStringEmboss/holder name.
lastFourDigitsStringLast four digits of card.
tokenIntegerCard token.
tokenFlagsStringToken flags bitmask.
pinSetBooleanWhether PIN is set.
statusEnumACTIVE.
cardConversionStatusStringAPPROVED / REJECTED / REQUESTED.
cardTextStringHuman-readable action text.
cardCategoryEnume.g., STANDARD.
consumerTypeEnume.g., CONSUMER.
maxPurchaseLimitNumberMax purchase limit.
statusReasonStringReason for current status.
cardHolderNameStringCardholder full name.
cardTokensArrayLinked tokens.
processedAtThirdPartyBooleanWhether processed at third party.
createdAt / updatedAtStringTimestamps (ISO 8601).
200 — SUCCESS
{
  "data": {
    "id": 25,
    "userId": 5,
    "cardIssuerConfigId": 1,
    "userProfile": {
      "id": 421,
      "pronounTitle": "Mr",
      "firstName": "khalid",
      "lastName": "raza",
      "email": "test.user.com",
      "countryCode": "92",
      "phone": "33059511111",
      "language": "ENGLISH"
    },
    "_3dSecure": { "id": 876, "configId": 9, "status": false },
    "account": {
      "id": 36,
      "accountId": 10,
      "userId": 5,
      "accountType": "DIGITAL",
      "currencyCode": "AED",
      "accountTitle": "DEFAULT USER DIGITAL AED",
      "accountNumber": "1000648060000040",
      "iban": "AE680961000648060000040"
    },
    "cardTier": {
      "id": 1,
      "title": "PMT Mastercard - DEBIT",
      "description": "You can create mastercard debit cards using this product",
      "enableLimits": true,
      "enableFraudRules": false
    },
    "manufacturing": { "id": 219, "configId": 2, "status": "PENDING" },
    "delivery": {
      "id": 219,
      "configId": 3,
      "status": "PENDING",
      "address": {
        "id": 319,
        "country": "PAK",
        "state": "Punjab",
        "city": "RWP",
        "addressLine1": "line 1 address",
        "type": "MAILING",
        "postalCode": "44000",
        "longitude": "127.45",
        "latitude": "716.70"
      }
    },
    "paymentCardType": "DEBIT",
    "cardNetwork": "MASTERCARD",
    "cardType": "PHYSICAL",
    "billingCurrency": "AED",
    "embossName": "KHALID",
    "lastFourDigits": "5844",
    "token": 335446928,
    "tokenFlags": "00010000000000000000000000000000",
    "pinSet": false,
    "status": "ACTIVE",
    "cardConversionStatus": "REQUESTED",
    "cardText": "Your card is active",
    "maxPurchaseLimit": 100,
    "statusReason": "Virtual Card request was approved automatically by the system without agent or admin intervention",
    "cardCategory": "STANDARD",
    "consumerType": "CONSUMER",
    "reportedCards": [],
    "processedAtThirdParty": true,
    "apiCallUniqueIdentifier": "750a2def-3a4f-4de9-bfff-6deb11cc7d57",
    "createdAt": "2025-10-24T07:12:26.407+00:00",
    "updatedAt": "2025-10-24T07:28:59.046+00:00",
    "cardHolderName": "sardar adil",
    "cardTokens": []
  }
}