Creating a business card

How to create a business card and an associated card account.

Introduction

After you create a Business and it has passed KYB verification, you can use the cards API to create a business card. This creates a card and simultaneously creates an associated card account. ▶ Run in Postman

A business card and its card account are closely coupled but logically distinct, the difference being what is managed. The card resource contains information about the actual physical or virtual card, while the card account resource stores broader account information, such as what bank accounts are connected to the card.

The card configuration is determined by the program_id which is provided by Bond based on your requirements. There are three card configurations:

  • Virtual
  • Physical
  • Dual

For details, see Card program ID.

When you create a virtual card, your customer can use it for purchases immediately. If you issued them with a physical card, they can only use it after they activate it. See activating a physical card.

📘

Note

Virtual cards are issues as active and physical cards are issued as Inactive. Activating the physical card automatically deactivates its corresponding virtual card.

Creating a business card and card account

To create a business card, use the POST /cards operation and provide the parameters as shown in the table below.

ParameterTypeDescription
business_id
required
stringUUID that identifies the business generated when you create a business.
program_id
required
stringUUID that represents the card program offered to customers by your brand in partnership with a bank.
credit_limitstringNew credit limit for the card. Decimal format with two decimal places, for example 3000.00.
card_design_idstringThe visual design of card in integer format.
Please contact Bond support for information regarding creating card designs.

An example of a request to create a business card is shown below.

curl --request POST \
     --url https://sandbox.bond.tech/api/v0/cards \
     --header 'Authorization: YOUR-AUTHORIZATION' \
     --header 'Content-Type: application/json' \
     --header 'Identity: YOUR-IDENTITY' \
     --data '
{
     "business_id": "6f0e7dcb-6073-42df-bf02-ce71bd5fac3b",
     "program_id": "2742ff6a-7455-4066-8b45-ae12d3acca34",
     "credit_limit": "3000.00",
     "card_design_id": "5"
}
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://sandbox.bond.tech/api/v0/cards")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request["Identity"] = 'YOUR-IDENTITY'
request["Authorization"] = 'YOUR-AUTHORIZATION'
request.body = "{\"business_id\":\"6f0e7dcb-6073-42df-bf02-ce71bd5fac3b\",\"program_id\":\"2742ff6a-7455-4066-8b45-ae12d3acca34\",\"credit_limit\":\"3000.00\",\"card_design_id\":\"5\"}"

response = http.request(request)
puts response.read_body
const options = {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    Identity: 'YOUR-IDENTITY',
    Authorization: 'YOUR-AUTHORIZATION'
  },
  body: JSON.stringify({
    business_id: '6f0e7dcb-6073-42df-bf02-ce71bd5fac3b',
    program_id: '2742ff6a-7455-4066-8b45-ae12d3acca34',
    credit_limit: '3000.00',
    card_design_id: '5'
  })
};

fetch('https://sandbox.bond.tech/api/v0/cards', options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));
import requests

url = "https://sandbox.bond.tech/api/v0/cards"

payload = {
    "business_id": "6f0e7dcb-6073-42df-bf02-ce71bd5fac3b",
    "program_id": "2742ff6a-7455-4066-8b45-ae12d3acca34",
    "credit_limit": "3000.00",
    "card_design_id": "5"
}
headers = {
    "Content-Type": "application/json",
    "Identity": "YOUR-IDENTITY",
    "Authorization": "YOUR-AUTHORIZATION"
}

response = requests.request("POST", url, json=payload, headers=headers)

print(response.text)
var client = new RestClient("https://sandbox.bond.tech/api/v0/cards");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Identity", "YOUR-IDENTITY");
request.AddHeader("Authorization", "YOUR-AUTHORIZATION");
request.AddParameter("application/json", "{\"business_id\":\"6f0e7dcb-6073-42df-bf02-ce71bd5fac3b\",\"program_id\":\"2742ff6a-7455-4066-8b45-ae12d3acca34\",\"credit_limit\":\"3000.00\",\"card_design_id\":\"5\"}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"business_id\":\"6f0e7dcb-6073-42df-bf02-ce71bd5fac3b\",\"program_id\":\"2742ff6a-7455-4066-8b45-ae12d3acca34\",\"credit_limit\":\"3000.00\",\"card_design_id\":\"5\"}");
Request request = new Request.Builder()
  .url("https://sandbox.bond.tech/api/v0/cards")
  .post(body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Identity", "YOUR-IDENTITY")
  .addHeader("Authorization", "YOUR-AUTHORIZATION")
  .build();

Response response = client.newCall(request).execute();

An example of a response to a successful request to create a business card is shown below.

{
    "card_id": "2742ff6a-7455-4066-8b45-ae12d3acca34",
    "last_four": "6169",
    "status": "Active",
    "card_account_id": "48aef94d-8473-47c8-943f-d3ac1745d8fa",
    "pseudo_dda":  "1010101010101010",
    "business_id": "094cd49b-6412-429f-a396-314097a6c3b9",
    "sponsor_bank_routing_number": "101011011",
    "card_design_id": "5"
}

For a complete specification and interactive examples, see Creating a business card in the Bond API Reference.

For a complete specification and interactive examples of changing a card's limit, see Updating a card in the Bond API Reference.