API Documentation
NeoX documents
NeoX documents
  • Introduction
  • NeoX App
    • E-Wallet
    • eKYC
    • Functionality
  • Payment Gateway
    • Payment Methods
    • Integrations
      • Hosted Checkout
        • Plugin/Extenstion
        • iOS SDK
        • Android SDK
        • React Native SDK
        • Web SDK
        • APIs
      • Direct API
        • Tokenization
      • Refund
        • APIs
        • IPN
    • Transaction Management
      • Query DR
      • Cancel
      • IPN
      • Error Codes
      • Refund on portal
    • Reconciliation
    • Settlement
  • Disbursement
    • Integration
      • Introduction
      • How To Register
      • Security Method
      • Generate token API
      • Get merchant profile API
      • Request disbursement API
      • Get disbursement transaction API
      • Get exchange rate API
      • Inquiry bank account API
      • Currency conversion API
      • Event Notification
      • Response Data Structure
      • Error codes
    • Disbursement Account
    • Disbursement request
    • Transaction Management
      • Query Request/Transaction
      • Webhook
      • Error Codes
    • Reconciliation
  • Collections
    • Integration
      • Introduction
      • How To Register
      • Security Method
      • API authenPlatform
      • API upload file
      • APIs for virtual accounts management
        • API create list of virtual accounts
        • API update KYC virtual account information
        • API update Virtual Account transaction data from merchant
        • API set active/inactive Virtual Account
        • API get list virtual accounts
        • API get detail virtual account
      • APIs for transactions management
        • API update transaction documents
        • API get list transactions
        • API get detail transaction
      • APIs for refund requests management
        • API create refund request
        • API get list refund requests
        • API get detail refund request
      • APIs for withdraw requests management
        • API get list withdraw banks
        • API create withdraw request
        • API get list withdraw requests
        • API get detail withdraw request
      • Event Notification
      • SFTP upload document file of collection transaction
      • Error Codes
    • Virtual Account Management
      • Virtual Account
      • Virtual Account Status
      • Webhook
    • Transaction Management
      • Webhook
    • Transaction Status Management
      • Webhook
    • Refund Request Management
      • Webhook
    • Withdraw Request Management
      • Webhook
    • Reconciliation
    • Settlement
  • Virtual Card
    • API authenPlatform
    • Error Codes
    • Virtual Card Policy Management
      • API Create Card Policy
      • API Get Detail Card Policy
      • API Get List Card Policies
      • API Set Active Card Policy
      • API Update Card Policy
    • Virtual Card Management
      • Virtual Card APIs
        • API Create Virtual Card
        • API Create List Virtual Cards
        • API Get List Virtual Cards
        • API Get Detail Virtual Card
        • API Get Virtual Card Sensitive Data
        • API Set Active Virtual Card
      • Webhook
      • Decrypting Card Data Algorithm
  • Merchant Portal
    • Onboarding
    • Payment Gateway
      • Reconciliation
      • Withdraw
    • Disbursement
      • Reports
    • Collections
      • Reports
      • Withdraw
Powered by GitBook
On this page
  • Request
  • Response
  • Example cURL
  • Notes

Was this helpful?

  1. Virtual Card
  2. Virtual Card Policy Management

API Create Card Policy

Endpoint: POST {{url_openapi}}/v2/vc/virtual-card-policies/

Description:

Create a new Virtual Card Policy for a merchant, specifying card limits, expiry, supported MCC groups, and other policy settings.


Request

Request Body Field Descriptions (JSON)

Field
Type
Required
Description

requestId

string

Yes

Unique request ID (UUID recommended)

name

string

Yes

Name of the virtual card policy

cardBrand

string

No

Card brand ("visa", "mastercard")

cardCurrency

integer

No

Card currency (Support: "USD", "EUR", "GBP", "SGD", "HKD", "VND"). Default: USD

cardLimit

integer

No

Maximum card limit (in currency)

expiryDate

string

No

Card expiry date in format YYYY-MM

minTransAmount

integer

No

Minimum transaction amount (in currency)

maxTransAmount

integer

No

Maximum transaction amount (in currency)

activeOnCreate

boolean

No

Whether the card is active upon creation. Default: false

autoCloseCard

boolean

No

Whether the card should auto-close. Default: false

supportedMccGroup

string[]

No

List of supported Merchant Category Codes (MCC)


Request sample

{
  "name": "MERCHANT TEST VIRTUAL CARD POLICY",
  "requestId": "de1d2870-b3cf-4c92-ab0c-6b758ae4c7c4",
  "cardBrand": "visa",
  "cardCurrency": "USD",
  "cardLimit": 30000,
  "expiryDate": "2028-12",
  "minTransAmount": 10,
  "maxTransAmount": 20000,
  "activeOnCreate": true,
  "autoCloseCard": false,
  "supportedMccGroup": ["9405", "8011"]
}

Response

Response Field Descriptions

Field
Type
Description

code

number

Response code

state

number

State of the response

data

object

Details of the created policy

message

string

Status message

neoResponseId

string

Internal response tracking ID

data object fields:

Field
Type
Description

requestId

string

Merchant request ID

merchantCode

string

Merchant code

name

string

Policy name

cardBrand

string

Card brand

cardCurrency

string

Card currency

expiryDate

string

Expiry date

cardLimit

number

Card limit (in currency)

minTransAmount

number

Minimum transaction amount (in currency)

maxTransAmount

number

Maximum transaction amount (in currency)

activeOnCreate

boolean

Active on create

autoCloseCard

boolean

Auto close card

supportedMccGroup

string[]

Supported MCC groups

isActive

boolean

Is policy active

extraData

object

Reserved for future use

revision

number

Revision number

createdAt

string

Creation timestamp (ISO 8601)

createdBy

string

Creator's email


Response sample

{
  "code": 1,
  "state": 2,
  "data": {
    "requestId": "de1d2870-b3cf-4c92-ab0c-6b758ae4c7c4",
    "merchantCode": "COLRLC",
    "name": "MERCHANT TEST VIRTUAL CARD POLICY",
    "cardBrand": "visa",
    "cardCurrency": "USD",
    "cardLimit": 3000,
    "expiryDate": "2028-12",
    "minTransAmount": 10,
    "maxTransAmount": 2000,
    "activeOnCreate": true,
    "autoCloseCard": false,
    "supportedMccGroup": [
      "9405",
      "8011"
    ],
    "isActive": true,
    "extraData": {},
    "revision": 1,
    "createdAt": "2025-06-04T02:08:31.887Z",
    "createdBy": "sony@gmail.com"
  },
  "message": "Successful",
  "neoResponseId": "8bab83be-1048-4dd0-b846-b35241c8eca3"
}

Example cURL

curl -X POST "https://{base_url_openapi}/v2/vc/virtual-card-policies" \
  -H "Authorization: Bearer <YOUR_TOKEN>" \
  -H "Content-Type: application/json" \
  -H "Accept-Language: en" \
  -d '{
    "name": "MERCHANT TEST VIRTUAL CARD POLICY",
    "requestId": "de1d2870-b3cf-4c92-ab0c-6b758ae4c7c4",
    "cardBrand": "visa",
    "cardCurrency": "USD",
    "cardLimit": 30000,
    "expiryDate": "2028-12",
    "minTransAmount": 10,
    "maxTransAmount": 20000,
    "activeOnCreate": true,
    "autoCloseCard": false,
    "supportedMccGroup": ["9405", "8011"]
  }'

Notes

  • Requires Bearer token in the Authorization header.

  • The Accept-Language header can be used to specify the response language (Support: "vi", "en").

  • Use a unique requestId for each request to avoid duplicate creations.

  • Ensure the MCC codes are valid and supported by your system.

PreviousVirtual Card Policy ManagementNextAPI Get Detail Card Policy

Last updated 1 day ago

Was this helpful?