Create a cardholder under the merchant. First name, last name, and email are required.
| Item | Details |
|---|---|
| Endpoint | POST /api/v1/merchant/cardholder/createCardholder |
| Field | Type | Required | Description |
|---|---|---|---|
| Long | ✅ | Merchant number |
| String(64) | ✅ | Idempotent request ID |
| String(50) | ✅ | Cardholder first name |
| String(20) | ✅ | Cardholder last name |
| String(100) | ✅ | Email address, must be valid format |
| String(20) | — | Mobile number |
| String(10) | — | Mobile area code, e.g. |
| String(20) | — | Date of birth, e.g. |
| String(2) | — | Nationality, ISO 3166-1 alpha-2 code |
| String(2) | — | Address country code |
| String(50) | — | Address state/province code |
| String(50) | — | Address city code |
| String(200) | — | Address line 1 |
| String(200) | — | Address line 2 |
| String(20) | — | Postal code |
| String(200) | — | Remark |
The response data object contains the full cardholder information:
| Field | Type | Description |
|---|---|---|
cardholderId | Long | Cardholder ID |
firstName | String | First name |
lastName | String | Last name |
email | String | |
mobile | String | Mobile number |
mobileAreaCode | String | Mobile area code |
birthDay | String | Date of birth |
nationality | String | Nationality |
addressRegionCode | String | Address country code |
addressStateCode | String | State/province code |
addressCityCode | String | City code |
addressDetailLine1 | String | Address line 1 |
addressDetailLine2 | String | Address line 2 |
addressPostalCode | String | Postal code |
remark | String | Remark |
{
"respCode": "20000",
"respMsg": "success",
"data": {
"cardholderId": 300001,
"firstName": "John",
"lastName": "Doe",
"email": "[email]",
"mobile": "[phone_number]",
"mobileAreaCode": "+86",
"birthDay": "1990-01-01",
"nationality": "CN",
"addressRegionCode": "CN",
"addressStateCode": "GD",
"addressCityCode": "SZ",
"addressDetailLine1": "[address]",
"addressDetailLine2": null,
"addressPostalCode": "518000",
"remark": null
}
}
Update an existing cardholder's information.
| Item | Details |
|---|---|
| Endpoint | POST /api/v1/merchant/cardholder/updateCardholder |
| Field | Type | Required | Description |
|---|---|---|---|
| Long | ✅ | Merchant number |
| Long | ✅ | Cardholder ID |
| String(50) | ✅ | First name |
| String(20) | ✅ | Last name |
| String(100) | ✅ | Email address |
| String(20) | — | Mobile number |
| String(10) | — | Mobile area code |
| String(20) | — | Date of birth |
| String(2) | — | Nationality |
| String(2) | — | Address country code |
| String(50) | — | State/province code |
| String(50) | — | City code |
| String(200) | — | Address line 1 |
| String(200) | — | Address line 2 |
| String(20) | — | Postal code |
| String(200) | — | Remark |
Same as Create Cardholder response parameters.
{
"respCode": "20000",
"respMsg": "success",
"data": {
"cardholderId": 300001,
"firstName": "John",
"lastName": "Smith",
"email": "[email]",
"mobile": "[phone_number]",
"mobileAreaCode": "+86",
"birthDay": "1990-01-01",
"nationality": "CN",
"addressRegionCode": "CN",
"addressStateCode": "GD",
"addressCityCode": "GZ",
"addressDetailLine1": "[address]",
"addressDetailLine2": null,
"addressPostalCode": "510000",
"remark": null
}
}
Query cardholder details by cardholder ID.
| Item | Details |
|---|---|
| Endpoint | POST /api/v1/merchant/cardholder/getCardholderDetail |
| Field | Type | Required | Description |
|---|---|---|---|
| Long | ✅ | Merchant number |
| Long | ✅ | Cardholder ID |
Same as Create Cardholder response parameters.
Paginated query of cardholders under the merchant, filterable by cardholder ID or idempotent request ID.
| Item | Details |
|---|---|
| Endpoint | POST /api/v1/merchant/cardholder/queryCardholder |
| Field | Type | Required | Description |
|---|---|---|---|
| Long | — | Merchant number (overrides base merchantNo for cross-merchant queries) |
| Long | — | Cardholder ID, queries all if omitted |
| String(64) | — | Idempotent request ID for filtering |
| Integer | ✅ | Page number, minimum 1 |
| Integer | ✅ | Page size, range 1–100 |
| Field | Type | Description |
|---|---|---|
data.records[] | Array | Cardholder list, each item same as Create Cardholder response |
data.total | Long | Total records |
data.current | Long | Current page |
data.size | Long | Page size |
{
"respCode": "20000",
"respMsg": "success",
"data": {
"records": [
{
"cardholderId": 300001,
"firstName": "John",
"lastName": "Doe",
"email": "[email]",
"mobile": "[phone_number]",
"mobileAreaCode": "+86",
"birthDay": "1990-01-01",
"nationality": "CN",
"addressRegionCode": "CN",
"addressStateCode": "GD",
"addressCityCode": "SZ",
"addressDetailLine1": "[address]",
"addressDetailLine2": null,
"addressPostalCode": "518000",
"remark": null
}
],
"total": 1,
"current": 1,
"size": 10
}
}