5‑Minute Quickstart (TypeScript)

  1. Create an API key in the dashboard.
  2. 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-Signature with timestamp and replay protection

Common Objects

  • customer, bank_account (tokenized), mandate
  • payment (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 • 401 unauthorized • 403 forbidden
  • 404 not_found • 409 idempotency_conflict • 422 unprocessable
  • 429 rate_limited • 5xx server_error