Skip to main content

Card

This module contains endpoints for creating and managing virtual cards.
Each user card will be charged a monthly fee from the partner's EUR balance. The fee for one card is €0,25 per month.
A customer can have a maximum of 10 cards at one time.
Each user has a card creation limit:

  • 5 cards per 24 hours
  • 10 cards per 30 days
  • 20 cards per year

Create virtual card

Method: POST
Endpoint: /v1/card/virtual

Request

Request body - required

NameTypeRequiredDescription
externalUserIdstringYesExternal user id (from your system)
labelstringYesCard label, min length 3, max length 30
pinstringYesCard pin, 4 digits

 

Example body request

{
"externalUserId": "bca65c48-df49-4831-a7b2-de7903321581",
"label": "Shopping",
"pin": "1234"
}

Response

Code: 200
Description: Returns card details

 

Example response

{
"cardId": "7018ac87-455f-4bf4-851a-0f6bcf82b84d",
"cardNumber": "1234123412341234",
"cvv": "123",
"exp": "01/30"
}

 

Code: 400
Description: User does not exist

Example response

{
"errorCode": "P412",
"errorName": "invalid-user"
}

 

Code: 400
Description: User of this country cannot have virtual card

Example response

{
"errorCode": "P431",
"errorName": "forbidden-country"
}

Get all user cards

Method: GET
Endpoint: /v1/card/all/:externalUserId

Request

Parameters - required

NameTypeRequiredExampleDescription
externalUserIdstringYesf9b430dc-7e1a-42a0-bbb4-9003935ea9f9External user id (from your system)

Response

Code: 200
Description: Returns all user cards

Example response

{
"cards": [
{
"cardId": "7018ac87-455f-4bf4-851a-0f6bcf82b84d",
"status": "ACTIVE",
"label": "Shopping",
"cardLastDigits": "1234"
},
{
"cardId": "8c394557-ba48-4ab4-9349-84d396b4a7f7",
"status": "LOCKED_BY_USER",
"label": "Virtual",
"cardLastDigits": "4321"
}
]
}

 

Code: 400
Description: User does not exist

Example response

{
"errorCode": "P412",
"errorName": "invalid-user"
}

Get card details

Method: GET
Endpoint: /v1/card/details/:externalUserId/:cardId

Request

Parameters - required

NameTypeRequiredExampleDescription
externalUserIdstringYesf9b430dc-7e1a-42a0-bbb4-9003935ea9f9External user id (from your system)
cardIdstringYes8c394557-ba48-4ab4-9349-84d396b4a7f7Card id (from our system)

Response

Code: 200
Description: Returns card details

Example response

{
"status": "ACTIVE",
"cardNumber": "1234123412341234",
"cvv": "123",
"exp": "01/30"
}

 

Code: 400
Description: User does not exist

Example response

{
"errorCode": "P412",
"errorName": "invalid-user"
}

 

Code: 400
Description: Card does not exist

Example response

{
"errorCode": "P434",
"errorName": "invalid-card"
}

Update card pin

Method: PATCH
Endpoint: /v1/card/pin

Request

Request body - required

NameTypeRequiredDescription
externalUserIdstringYesExternal user id (from your system)
cardIdstringYesCard id (from our system)
pinstringYesCard pin, 4 digits

 

Example body request

{
"externalUserId": "bca65c48-df49-4831-a7b2-de7903321581",
"cardId": "8c394557-ba48-4ab4-9349-84d396b4a7f7",
"pin": "1234"
}

Response

Code: 200
Description: Card pin updated

 

Example response

{
"message": "Card pin updated successfully"
}

 

Code: 400
Description: User does not exist

Example response

{
"errorCode": "P412",
"errorName": "invalid-user"
}

 

Code: 400
Description: Card does not exist

Example response

{
"errorCode": "P434",
"errorName": "invalid-card"
}

Block card

Method: PATCH
Endpoint: /v1/card/block

Request

Request body - required

NameTypeRequiredDescription
externalUserIdstringYesExternal user id (from your system)
cardIdstringYesCard id (from our system)

 

Example body request

{
"externalUserId": "bca65c48-df49-4831-a7b2-de7903321581",
"cardId": "8c394557-ba48-4ab4-9349-84d396b4a7f7"
}

Response

Code: 200
Description: Card blocked

 

Example response

{
"message": "Card blocked successfully"
}

 

Code: 400
Description: User does not exist

Example response

{
"errorCode": "P412",
"errorName": "invalid-user"
}

 

Code: 400
Description: Card does not exist

Example response

{
"errorCode": "P434",
"errorName": "invalid-card"
}

Unblock card

Method: PATCH
Endpoint: /v1/card/unblock

Request

Request body - required

NameTypeRequiredDescription
externalUserIdstringYesExternal user id (from your system)
cardIdstringYesCard id (from our system)

 

Example body request

{
"externalUserId": "bca65c48-df49-4831-a7b2-de7903321581",
"cardId": "8c394557-ba48-4ab4-9349-84d396b4a7f7"
}

Response

Code: 200
Description: Card unblocked

 

Example response

{
"message": "Card unblocked successfully"
}

 

Code: 400
Description: User does not exist

Example response

{
"errorCode": "P412",
"errorName": "invalid-user"
}

 

Code: 400
Description: Card does not exist

Example response

{
"errorCode": "P434",
"errorName": "invalid-card"
}

Get card limits

Method: GET
Endpoint: /v1/card/limits/:externalUserId/:cardId

Request

Parameters - required

NameTypeRequiredExampleDescription
externalUserIdstringYesf9b430dc-7e1a-42a0-bbb4-9003935ea9f9External user id (from your system)
cardIdstringYes8c394557-ba48-4ab4-9349-84d396b4a7f7Card id (from our system)

Response

Code: 200
Description: Returns card limits

Response body explanation

{
"monthlyTrxAll": "Total monthly limit",
"dailyTrxAll": "Total daily limit",
"monthlyTrxAtm": "ATM monthly limit",
"dailyTrxAtm": "ATM daily limit",
"monthlyTrxEcom": "Ecommerce monthly limit",
"dailyTrxEcom": "Ecommerce daily limit"
}

 

Example response

{
"monthlyTrxAll": 7500,
"dailyTrxAll": 1500,
"monthlyTrxAtm": 2500,
"dailyTrxAtm": 500,
"monthlyTrxEcom": 5000,
"dailyTrxEcom": 1000
}

 

Code: 400
Description: User does not exist

Example response

{
"errorCode": "P412",
"errorName": "invalid-user"
}

 

Code: 400
Description: Card does not exist

Example response

{
"errorCode": "P434",
"errorName": "invalid-card"
}

Update card limits

Method: PATCH
Endpoint: /v1/card/limits

Request

Request body - required

NameTypeRequiredDescription
externalUserIdstringYesExternal user id (from your system)
cardIdstringYesCard id (from our system)
monthlyTrxAllnumberYesTotal monthly limit
dailyTrxAllnumberYesTotal daily limit
monthlyTrxAtmnumberYesATM monthly limit
dailyTrxAtmnumberYesATM daily limit
monthlyTrxEcomnumberYesEcommerce monthly limit
dailyTrxEcomnumberYesEcommerce daily limit

 

Example body request

{
"externalUserId": "bca65c48-df49-4831-a7b2-de7903321581",
"cardId": "8c394557-ba48-4ab4-9349-84d396b4a7f7",
"monthlyTrxAll": 7500,
"dailyTrxAll": 1500,
"monthlyTrxAtm": 2500,
"dailyTrxAtm": 500,
"monthlyTrxEcom": 5000,
"dailyTrxEcom": 1000
}

Response

Code: 200
Description: Card limits updated

 

Example response

{
"message": "Card limits updated successfully"
}

 

Code: 400
Description: User does not exist

Example response

{
"errorCode": "P412",
"errorName": "invalid-user"
}

 

Code: 400
Description: Card does not exist

Example response

{
"errorCode": "P434",
"errorName": "invalid-card"
}

Delete card

Method: DELETE
Endpoint: /v1/card

Request

Request body - required

NameTypeRequiredDescription
externalUserIdstringYesExternal user id (from your system)
cardIdstringYesCard id (from our system)

 

Example body request

{
"externalUserId": "bca65c48-df49-4831-a7b2-de7903321581",
"cardId": "8c394557-ba48-4ab4-9349-84d396b4a7f7"
}

Response

Code: 200
Description: Card deleted

 

Example response

{
"message": "Card deleted successfully"
}

 

Code: 400
Description: User does not exist

Example response

{
"errorCode": "P412",
"errorName": "invalid-user"
}

 

Code: 400
Description: Card does not exist

Example response

{
"errorCode": "P434",
"errorName": "invalid-card"
}