Standard
This guide outlines how to use the Checkbook API to create virtual cards for marketplace users, and load them with funds from the marketplace owner.
Create Recipient
Create the marketplace user who will be receiving the virtual card
For this request, you’ll be using the API keys of the marketplace owner
Things you need
user_id
: Unique identifier for new user
name
: Name of user or business
curl -X POST \
-H "Authorization: d6aa2703655f4ba2af2a56202961ca86:dXbCgzYBMibj8ZwuQMd2NXr6rtvjZ8" \
-H "Content-Type: application/json" \
-d '{
"name": "Michael Scott",
"user_id": "Michael_Scott_Ppr_Company"
}' \
https://demo.checkbook.io/v3/user
The response will give us the user’s api keys
{
"id":"a7703226a05e4835bebbd7449afc9a3d",
"key":"de2cd51420464f0fae44189e233cad27",
"secret":"uejJbr1RdPlrcx8QRAA7qIAGFTfd0K6CtmVYe2kH",
"user_id":"Michael_Scott_Ppr_Company"
}
Create a Virtual Card
We now create the virtual card for the new user
For this request, you’ll be using the API keys of the marketplace user
curl -X POST \
-H "Authorization: de2cd51420464f0fae44189e233cad27:uejJbr1RdPlrcx8QRAA7qIAGFTfd0K6CtmVYe2kH" \
-H "Content-Type: application/json" \
-d '{
"email": "michael@dundermifflin.com"
}' \
https://demo.checkbook.io/v3/account/vcc
The response will give us the virtual card id, which will be used to load funds
{
"card_number":"0000",
"expiration_date":"2027-04-29",
"id":"d33ddc525445472a824534ae39e990fa"
}
Send Payment
We’ll now be sending a payment from the marketplace owner to the marketplace user
For this request, you’ll be using the API keys of the marketplace owner
Things you need
amount
: The amount of money being sent
name
: The recipient’s name
recipient
: The user ID of the marketplace user created in Step 1
curl -X POST \
-H "Authorization: d6aa2703655f4ba2af2a56202961ca86:dXbCgzYBMibj8ZwuQMd2NXr6rtvjZ8" \
-H "Content-Type: application/json" \
-d '{
"name": "Michael Scott",
"amount": 10.00,
"recipient": "Michael_Scott_Ppr_Company"
}' \
https://demo.checkbook.io/v3/check/digital
The response confirms the payment has been created and provides the payment ID
{
"amount": 10.0,
"comment": null,
"date": "2025-04-29 09:43:37",
"description": null,
"id": "81aeb93d0db34af9a7a73814fbb8778b",
"image_uri": "https://checkbook-checks-demo.s3.amazonaws.com/95f2c701-4aa0-4799-b82a-bf1f147f61c9.png",
"name": "Michael Scott",
"number": 53050163,
"recipient": "Michael_Scott_Ppr_Company",
"remittance_advice": [],
"status": "UNPAID"
}
Deposit the Payment
Lastly, we’ll deposit the payment to the virtual card
For this request, you’ll be using the API keys of the marketplace user (e.g. the recipient of the payment)
Things you need
account
: The id of the account (e.g. virtual card) where the payment will be deposited
curl -X POST \
-H "Authorization: de2cd51420464f0fae44189e233cad27:uejJbr1RdPlrcx8QRAA7qIAGFTfd0K6CtmVYe2kH" \
-H "Content-Type: application/json" \
-d '{
"account": "d33ddc525445472a824534ae39e990fa"
}' \
https://demo.checkbook.io/v3/check/deposit/81aeb93d0db34af9a7a73814fbb8778b