Making your first purchase
The SimpleCheckout API allows you to create and manage checkouts programmatically.
Create an API Key
Navigate to the API Keys page and create a new api key. Give your key a descriptive name and copy it.
Complete Example
Here's a complete script that creates a checkout and monitors it until completion:
import requests
import time
api_key = "YOUR_API_KEY"
# Step 1: Create a checkout
headers = {
"api-key": api_key,
"Content-Type": "application/json"
}
payload = {
"url": "https://buy.stripe.com/test_cNi3cvg0GeLkagX1un6Ri0m",
"user_data": {"email": "[email protected]"}
}
checkout = requests.post(
"https://api.simplecheckout.ai/v0/checkouts",
json=payload,
headers=headers
).json()
print(f"Checkout created: {checkout}")
# Step 2: Poll for completion
status_url = f"https://api.simplecheckout.ai/v0/checkouts/{checkout['id']}"
while True:
checkout_data = requests.get(status_url, headers=headers).json()
print(f"Status: {checkout_data['status']}", end="")
if checkout_data['status'] in ['completed', 'failed']:
break
print("... waiting 30 seconds before checking again")
time.sleep(30)
How It Works
The script follows the same process as the web interface:
The payload contains these components:
"url"- The product URL (same Stripe test URL from the web demo)"user_data"- All the information needed to complete the purchase (just email for this Stripe test)
Status polling works exactly like checking status in the web interface - the checkout starts as processing and we check every 30 seconds until it becomes completed or failed.
Note: The same rules apply as the web interface - if you don't provide enough information in user_data, the checkout will fail and you'll need to retry with complete details.
Using Customers' Credit Cards
If you want to use your customers' credit card information instead of your own, you can collect and tokenize their payment details securely. When creating a checkout session, include the credit_card_token parameter which represents the tokenized version of your customer's credit card:
{
"url": "https://example.com/product",
"user_data": {
"email": "[email protected]"
},
"credit_card_token": "cct_sandbox_xyz123"
}
For detailed instructions on how to collect and tokenize customer credit cards, see our Tokenizing Credit Cards guide.