Cards
Retrieve a list of cards stored in the PCI DSS Level 1 vault
List
List cards that have been stored on the platform through a Checkout Page or Payment Form.
Path
GET /cards?{query parameters}
Query Parameters
| Field | Required | Description | Example |
|---|---|---|---|
| expire_in_months | N | Filter for card that will expire in x months | 2 |
| card_status | N | Card status ACTIVE, ARCHIVED, DISABLED, EXPIRED | ACTIVE |
| customer_id | N | ID of a specific customer to filter for, see customers | cus_abc123... |
Response Body
{
"status": true,
"records": [{
"id": "crd_abc123...",
"created_at": "2024-12-28 22:14:47",
"updated_at": null,
"card_status": "ACTIVE",
"customer_id": "cus_abc123...",
"card_nickname": "Mike's Card",
"card_ending": "9834",
"card_expire": "04/29",
"card_brand": "VISA",
"card_token": "60d678e2465b5b6c4fd5e847ef39c70c4b0c22d1b826f39eb80a107b3b8433ad",
"is_expired": false,
"is_recurring": true,
"is_default": true,
"expire_in_months": 5,
}, ...]
}
Response Parameters
Field | Type | Description | Example |
|---|---|---|---|
| status | Boolean | true - response success, false - response error | true |
| records | Array | Array of card objects | ... |
| records.id | String(32) | Unique ID of this card | crd_abc123... |
| records.created_at | Timestamp(YYYY-MM-DD HH:mm:ss) | When this card was stored | 2024-12-28 22:14:47 |
| records.updated_at | Timestamp(YYYY-MM-DD HH:mm:ss) | When this card entry was last changed | null |
| records.card_status | ENUM | Card status ACTIVE, ARCHIVED, DISABLED, EXPIRED | ACTIVE |
| records.customer_id | String(32) | ID of the customer who owns this card see customers | cus_abc123... |
| records.card_nickname | String(64) | A nickname given to the card | Mike's Card |
| records.card_ending | String(4) | Last 4 digits of the card number | 9834 |
| records.card_expire | String(5) | Card expiry date in MM/YY format | 04/29 |
| records.card_brand | ENUM | Card brand (VISA, MASTERCARD, AMEX, DINERS_CLUB) | VISA |
| records.card_token | String | Card token used for payments | 60d678e2465b5b6c4fd5e847ef39c70c4b0c22d1b826f39eb80a107b3b8433ad |
| records.is_expired | Boolean | Indicates if the card has expired | false |
| records.is_recurring | Boolean | Indicates if the card can be used for recurring payments | true |
| records.is_default | Boolean | Indicates if the card is the default card set for payments | true |
| records.expire_in_months | Boolean | Indicates in how many months the card expires | 5 |
Update
API call to update existing card(s) as single or batch records.
Path
POST /cards/update
Request Body
Only include fields you wish to change (besides id used to find the record). Setting a column to null will clear that field's value if allowed
{
"records": [{
"id": "crd_abc123...",
"card_status": "ACTIVE",
"card_nickname": "Mike's Updated Card",
"is_default": true
}, {
"id": "crd_def456...",
"card_nickname": "Sarah's Card",
"is_default": false
}]
}
Request Parameters
Field | Required | Type | Description | Example |
|---|---|---|---|---|
| id | Y | String(32) | ID of the card to update | crd_abc123... |
| card_status | N | ENUM | Card status ACTIVE, ARCHIVED, DISABLED, EXPIRED | ACTIVE |
| card_nickname | N | String(64) | A nickname for the card | Mike's Updated Card |
| is_default | N | Boolean | Set as the default card for payments | true |
Response Body
{
"status": true,
"results": [{
"id": "crd_abc123...",
"created_at": "2024-12-28 22:14:47",
"updated_at": "2024-12-28 22:20:15",
"card_status": "ACTIVE",
"customer_id": "cus_abc123...",
"card_nickname": "Mike's Updated Card",
"card_ending": "9834",
"card_expire": "04/29",
"card_brand": "VISA",
"card_token": "60d678e2465b5b6c4fd5e847ef39c70c4b0c22d1b826f39eb80a107b3b8433ad",
"is_expired": false,
"is_recurring": true,
"is_default": true,
"expire_in_months": 5
}, {
"id": "crd_def456...",
"created_at": "2024-12-28 21:30:12",
"updated_at": "2024-12-28 22:20:15",
"card_status": "ACTIVE",
"customer_id": "cus_def456...",
"card_nickname": "Sarah's Card",
"card_ending": "1234",
"card_expire": "08/27",
"card_brand": "VISA",
"card_token": "70e789f3576c6c7d5ge6f958fg50d81e5c1d33e2c937g50fc91b218c4c9544be",
"is_expired": false,
"is_recurring": true,
"is_default": false,
"expire_in_months": 35
}]
}
Response Parameters
Field | Required | Type | Description | Example |
|---|---|---|---|---|
| id | Y | String(32) | Record id to update | crd_abc123... |
| card_status | N | ENUM | Card status ACTIVE, ARCHIVED, DISABLED, EXPIRED | ACTIVE |
| card_nickname | N | String(64) | A nickname for the card | Mike's Updated Card |
| is_default | N | Boolean | Set as the default card for payments | true |
| customer_id | n/a | String(32) | ID of the customer who owns this card see customers | cus_abc123... |
| card_ending | n/a | String(4) | Last 4 digits of the card number | 9834 |
| card_expire | n/a | String(5) | Card expiry date in MM/YY format | 04/29 |
| card_brand | n/a | ENUM | Card brand (VISA, MASTERCARD, AMEX, DINERS_CLUB) | VISA |
| card_token | n/a | String | Card token used for payments | 60d678e2... |
| is_expired | n/a | Boolean | Indicates if the card has expired | false |
| is_recurring | n/a | Boolean | Indicates if the card can be used for recurring payments | true |
| expire_in_months | n/a | Boolean | Indicates in how many months the card expires | 5 |
| created_at | n/a | Timestamp(YYYY-MM-DD HH:mm:ss) | Date and time card was stored | 2024-12-28 22:14:47 |
| updated_at | n/a | Timestamp(YYYY-MM-DD HH:mm:ss) | Date and time record was last updated | 2024-12-28 22:20:15 |
Bank Accounts
Manage customer bank account details including account numbers, branch codes, account types, and bank verification. Required for EFT Debit Orders, DebiCheck, and Registered Mandate payment processing.
Mandates
Create and manage payment mandates for recurring transactions including DebiCheck and Registered Mandates. Handle mandate creation, authentication, status updates, and cancellation with full SARB compliance.