Priority Commerce Engine

One integration for onboarding, payments, and treasury

Board merchants, accept payments, and move funds through a single set of APIs. Start in the sandbox, then promote the same integration to production.

Product sections

Each section carries its own guides, reference, and sandbox notes. Pick the part of the platform you are integrating first.

Create businesses, collect owner and beneficial-owner detail, and track underwriting to an approved status.

Get StartedSubmit a business, track review, and receive the approval webhook.
Example request — POST /entities
{
  "legal_name": "Acme Coffee LLC",
  "owner": {
    "first_name": "Jordan",
    "last_name": "Lee",
    "ownership_percentage": 100
  }
}

Submit your first business in the sandbox, watch it move through review, and receive the approval webhook. Roughly fifteen minutes end to end.

Key ConceptsEntities, owners, and the fields underwriting checks against.
Example request — GET /entities/{id}
{
  "id": "ent_8f2a",
  "legal_name": "Acme Coffee LLC",
  "owners": [{ "ownership_percentage": 100 }],
  "status": "in_review"
}

An entity is the business being boarded. Owners and beneficial owners are the people attached to it, and underwriting evaluates both before the entity can accept funds.

Create a BusinessSubmit the entity payload with required owner and beneficial-owner detail.
Example request — POST /entities
{
  "legal_name": "Acme Coffee LLC",
  "structure": "llc",
  "owner": { "ownership_percentage": 100 }
}

Submit the entity payload with legal name, structure, and required owner detail. The response includes an entity id and an initial review status.

Manage an EntityUpdate details, add owners, and re-submit for review.
Example request — PATCH /entities/{id}
{
  "owner": {
    "first_name": "Jordan",
    "last_name": "Lee"
  }
}

PATCH an entity to update details or add an owner, then re-submit it for review.

Onboarding StatusesEvery state a business can hold, from submitted to approved.
Example request — GET /entities/{id}
{
  "id": "ent_8f2a",
  "status": "approved"
}

Every state a business can hold: submitted, in_review, approved, or rejected.

Take card, ACH, and wallet payments, then handle the lifecycle — authorization, capture, refund, and dispute.

Get StartedRun a test card through authorization, capture, and settlement.
Example request — POST /payments
{
  "amount": 4200,
  "currency": "usd",
  "payment_method": "pm_test_visa",
  "capture": true
}

Run a test card through authorization and capture, then reconcile the result against the payment object and its webhook events.

Payment MethodsCards, ACH, and wallets — which are supported and where.
Example request — GET /payment_methods
{
  "type": "card",
  "brand": "visa",
  "last4": "4242"
}

Cards, ACH, and wallets are all represented as a payment_method on the payment object — which are supported depends on the merchant configuration.

Create a PaymentAuthorize a charge, then capture or void it.
Example request — POST /payments
{
  "amount": 4200,
  "payment_method": "pm_test_visa",
  "capture": false
}

Authorize a charge against a payment method, then capture or void it.

Refunds and DisputesIssue a refund and respond when a dispute is filed.
Example request — POST /payments/{id}/refunds
{
  "amount": 4200
}

Issue a full or partial refund, and respond with evidence when a dispute is filed.

Payment StatusesEvery state a payment can hold, from authorized to settled.
Example request — GET /payments/{id}
{
  "id": "pay_3c91",
  "status": "settled"
}

Every state a payment can hold, from authorized to captured, settled, refunded, or disputed.

Developer Resources Introduction API Reference Webhooks

Open accounts, fund them, and move money between balances with ACH, wires, and internal transfers.

Get StartedFund a sandbox account and move your first transfer.
Example request — POST /transfers
{
  "amount": 150000,
  "currency": "usd",
  "from_account": "acct_sandbox_01",
  "rail": "ach"
}

Fund a sandbox account and move your first transfer.

Open an AccountCreate a ledger account and attach it to an entity.
Example request — POST /accounts
{
  "entity_id": "ent_8f2a",
  "currency": "usd"
}

Create a ledger account and attach it to an entity.

Pay via ACHSend a credit, track submission, and handle returns.
Example request — POST /transfers
{
  "amount": 150000,
  "from_account": "acct_sandbox_01",
  "rail": "ach"
}

Send a credit from a funded account, follow the transfer through submission and settlement, and handle returns when they arrive.

Move MoneyTransfer between two accounts you control.
Example request — POST /transfers
{
  "amount": 5000,
  "from_account": "acct_sandbox_01",
  "to_account": "acct_sandbox_02",
  "rail": "internal"
}

Transfer between two accounts you control.

Sandbox TestingRouting numbers and amounts that trigger each outcome.
Example request — GET /sandbox/test-data
{
  "routing_number": "110000000",
  "account_number": "000123456789"
}

Routing numbers and amounts that trigger each outcome — approval, insufficient funds, or a return.

Developer Resources Introduction API Reference Error Codes

Ready-to-launch solutions

Hosted products that sit on top of the same APIs when you would rather not build the surface yourself.

Priority Checkout

A hosted payment page you can theme and drop into an existing flow with a single redirect.

Explore Checkout

Priority Vault

Tokenized storage for cards and bank accounts, so sensitive data never touches your servers.

Explore Vault

Start with the tools

API Reference

Every endpoint, field, and response code, with live request samples.

Postman Collection

A pre-built workspace with sandbox credentials and example calls.

Test data and sandbox

Values that trigger each approval, decline, and return scenario.

Talk through your integration with a specialist

Bring your architecture and timeline. A solutions engineer will map it to the right APIs.

Contact us
.readme-logo { display: none !important; }