Card Order

The Card Order resource

Card Order Object
{
"id": 142,
"profileId": 123456,
"clientId": "{{clientId}}",
"cardProgram": {
"name": "VISA_DEBIT_BUSINESS_UK_1",
"scheme": "VISA",
"defaultCurrency": "GBP",
"cardType" : "VIRTUAL_NON_UPGRADEABLE"
},
"billingAddress": {
"country": "GB",
"city": "London",
"postCode": "E1 6JJ",
"firstLine": "The Tea Building",
"secondLine": "56 Shoreditch High St",
"thirdLine": null,
"state": null,
"phoneNumber": "+442071111111"
},
"cardType": "VIRTUAL_NON_UPGRADEABLE", // deprecated - field moved to cardProgram
"cardToken": null,
"replacesCard": null,
"creationTime": "2022-05-31T01:43:24.596321434Z",
"modificationTime": "2022-05-31T01:43:24.596321825Z",
"status": "REQUIREMENTS_FULFILLED",
"cardHolderName": "Valentin K",
"phoneNumber": "+442079640500",
"lifetimeLimit": 100
}

Retrieve card programs availability

Retrieves the list of available card programs and their details.

Card program: a Card Program is what Wise calls all the cards you will be issuing with us, grouped by product type and by issuing country.

Issuing country: the country where your card is created.

Product type: the type of card we are issuing on your behalf (consumer, corporate, digital, physical, etc.).

Example Request
curl -X GET https://api.sandbox.transferwise.tech/v3/spend/profiles/{{profileId}}/card-orders/availability \
-H 'Authorization: Bearer <your api token>' \
-H 'Content-Type: application/json'
Example Response
{
"cardPrograms": [
{
"name": "VISA_DEBIT_BUSINESS_UK_1",
"scheme": "VISA",
"defaultCurrency": "GBP",
"cardType" : "VIRTUAL_NON_UPGRADEABLE"
}
]
}

Create a card order

POST /v3/spend/profiles/{{profileId}}/card-orders

Orders a new card for a given profile. The card program should come from the list of available card programs.

The lifetimeLimit parameter is the maximum amount that can be spent with the card for the entire lifetime of the card. The lifetime limit currency is the card's default currency defined in the card program. The default lifetime limit value is 0, which means the card cannot be used until the lifetime limit is updated.

The billing address fields (firstLine, secondLine, thirdLine, city, state) all have a maximum length of 30 characters.

Please also note that this call needs an extra field in the header called "X-idempotence-uuid". This should be generated and used for any subsequent retry call in the case that the initial POST fails.

The returned response contains the status. The possible status values are:

  • PLACED - The profile is not verified. The digital card will be generated once the profile is verified.
  • REQUIREMENTS_FULFILLED - The card is being generated, which usually takes less than one second.
  • CARD_DETAILS_CREATED - The card has been generated. The completion of a digital card order only takes a few extra milliseconds.
  • COMPLETED - The card has been generated and the card order has been completed.
  • CANCELLED - The card order has been canceled. This can happen if you ask Wise customer support team to cancel a card order.

Response

Returns a card order.

Example Request
curl -X POST https://api.sandbox.transferwise.tech/v3/spend/profiles/{{profileId}}/card-orders \
-H 'Authorization: Bearer <your api token>' \
-H 'Content-Type: application/json' \
-H 'X-idempotence-uuid: <generated uuid>' \
-d '{
"program": "<card program name>",
"cardHolderName": "<card holder name>",
"phoneNumber": "<phone number>",
"billingAddress": {
"firstLine": "<first line of the address>",
"secondLine": "<optional second line>",
"thirdLine": "<optional third line>",
"city": "<city>",
"state": "<optional state>",
"postCode": "<optional postal code>",
"country": "<2 letter country code using ISO 3166-1 alpha-2>"
},
"lifetimeLimit": 100,
}'

Retrieve all cards orders by profile

GET /v3/spend/profiles/{{profileId}}/card-orders?pageSize=10&pageNumber=1

The following parameters are optional:

  • pageSize - the maximal number of requested card orders (used for pagination). This parameter has to be between 10 and 100 inclusive. If ommitted the default value 10 is used.
  • pageNumber - the requested page number starting from 1 (used for pagination). This parameter has to be equal or greater than 1. If ommitted the default value of 1 is used.

Both parameters are optional and if not provided their default values will be used.

Response

The returned response contains 2 elements:

  • totalCount - the total number of card orders, this number is never affected by the given pageSize or pageNumber parameters
  • cardOrders - the list of card orders starting from the given pageNumber (please keep in mind that the size of this list is limited by the given pageSize parameter with a default value of 10)
Example Request
curl -X GET https://api.sandbox.transferwise.tech/v3/spend/profiles/{{profileId}}/card-orders?pageSize=10&pageNumber=1 \
-H 'Authorization: Bearer <your api token>'

Retrieve details of a particular card order

GET /v3/spend/profiles/{{profileId}}/card-orders/{{cardOrderId}}

Retrieves the details of a particular card order given its id.

Response

Returns a card order.

Example Request
curl -X GET https://api.sandbox.transferwise.tech/v3/spend/profiles/{{profileId}}/card-orders/{{cardOrderId}} \
-H 'Authorization: Bearer <your api token>'