5‑Minute Quickstart (TypeScript)
- Create an API key in the dashboard.
- Test with cURL (customers.create):
curl -X POST https://api.bizpaysol.com/v1/customers -H "Authorization: Bearer sk_test_123..." -H "Content-Type: application/json" -d '{"name":"Acme Inc","email":"ap@acme.com"}'Or with fetch (Node 18+):
const res = await fetch('https://api.bizpaysol.com/v1/customers', {
method: 'POST',
headers: {
Authorization: 'Bearer ' + process.env.BIZPAY_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({ name: 'Acme Inc', email: 'ap@acme.com' })
});
const data = await res.json();Developer Portal Overview
Integrate BizPay Solutions in minutes. Secure, NACHA‑compliant ACH with modern APIs, idempotency, and signed webhooks.
Getting Started
- Base URL: https://api.bizpaysol.com/v1
- Auth: Send a Bearer API key in the Authorization header
- Idempotency: Include a unique Idempotency-Key for each write request
- Webhooks: HMAC‑SHA256 signatures via
X-BizPay-Signaturewith timestamp and replay protection
Common Objects
customer,bank_account(tokenized),mandatepayment(ach_debit/ach_credit),payout,event
Authentication
# example API key (use your own from the dashboard)
SK=sk_test_1234567890abcdef1234567890abcd
curl -s https://api.bizpaysol.com/v1/customers -H "Authorization: Bearer ${SK}" -H "Content-Type: application/json"Create a Customer
curl -X POST https://api.bizpaysol.com/v1/customers -H "Authorization: Bearer sk_test_1234567890abcdef1234567890abcd" -H "Content-Type: application/json" -d '{
"name": "Acme Inc",
"email": "ap@acme.com",
"metadata": {"segment": "SaaS"}
}'Tokenize a Bank Account
curl -X POST https://api.bizpaysol.com/v1/bank_accounts -H "Authorization: Bearer sk_test_1234567890abcdef1234567890abcd" -H "Content-Type: application/json" -d '{
"customer_id": "cus_9f2b1c",
"plaid_public_token": "public-sandbox-abc123xyz"
}'Create an ACH Debit
curl -X POST https://api.bizpaysol.com/v1/payments -H "Authorization: Bearer sk_test_1234567890abcdef1234567890abcd" -H "Idempotency-Key: 8b2f1d6e-0b74-4e6a-9c2a-1d7391a2de9e" -H "Content-Type: application/json" -d '{
"type": "ach_debit",
"customer_id": "cus_9f2b1c",
"bank_account_id": "ba_48d7e0",
"amount": 125000,
"currency": "USD",
"description": "Invoice #4821"
}'Webhook: payment.succeeded
POST /webhooks/bizpay (example payload)
Headers:
X-BizPay-Signature: t=1730959200,v1=0a2b3c4d5e6f... (HMAC-SHA256)
{
"id": "evt_7c1a2f",
"type": "payment.succeeded",
"data": {
"payment": {
"id": "pay_d1e27a",
"amount": 125000,
"currency": "USD",
"status": "succeeded"
}
}
}Error Codes
- 400
validation_error• 401unauthorized• 403forbidden - 404
not_found• 409idempotency_conflict• 422unprocessable - 429
rate_limited• 5xxserver_error