ACH Sandbox Environment

Test ACH/Check charges without using the real Banquest API. Create test bank accounts, simulate transactions, and verify your integration with webhook support.

Manage Test Accounts
Create and configure fake bank accounts with custom behaviors like NSF, account closed, or successful transactions.
Test Transactions
Make ACH charge requests and see immediate responses. View detailed transaction history and debug information.
API Compatible
Drop-in replacement for Banquest API. Same request format, same response structure, same status codes.
Webhook Testing
Configure webhook URLs and manually change transaction statuses to test your webhook handlers.
Quick Start
Get started testing in minutes

1. Access the Sandbox Portal

Navigate to /sandbox-ach to view test accounts and transaction history

2. Configure Webhooks (Optional)

Set up your webhook URL to receive transaction status change notifications

3. Add Test Bank Accounts

Create accounts that succeed or fail with specific error codes

4. Make Test Charges

POST to /api/transactions/charge with the same format as Banquest API

5. Update Transaction Status

Manually change transaction status from Submitted to Approved/Declined to trigger webhooks

Create Charge
POST /api/transactions/charge
{
  "amount": 100.00,
  "routing_number": "110000000",
  "account_number": "1234567890",
  "name": "John Doe",
  "account_type": "checking"
}
Response
Status: Submitted (Pending Approval)
{
  "version": "2.0",
  "status": "Submitted",
  "status_code": "A",
  "auth_amount": 100.00,
  "auth_code": "ACH123456",
  "reference_number": 987654321,
  "transaction": {
    "id": 123456789,
    ...
  }
}
Webhook Notifications
Your webhook endpoint will receive status change notifications
POST https://your-app.com/api/webhooks/ach-status
Content-Type: application/json
User-Agent: Banquest-Sandbox/1.0

{
  "event_type": "transaction.status_changed",
  "transaction": {
    "id": "123456789",
    "reference_number": "987654321",
    "amount": 100.00,
    "status": "Approved",
    "status_code": "A",
    "auth_amount": 100.00,
    "auth_code": "ACH123456",
    "settled_date": "2024-01-15",
    "created_at": "2024-01-14T10:30:00Z",
    "updated_at": "2024-01-15T08:45:00Z"
  },
  "previous_status": "Submitted"
}