Lender adapter

B

BuzzPay

BuzzPay Finance, LLC (issued via Cross River Bank)

Active on the rail
Brands
tradepay · medpay · coachpay · direct
Tiers served
prime_plus, prime, near_prime
APR band
6.0% – 18.0%
Envelope
$50k – $8000k
P95 SLA
612ms
Integration
API
Webhook
buzzpay.example.com
Product id
lp_buzzpay_prime

Endpoints

How BuzzPay plugs in

POST/api/v1/lenders/lp_buzzpay_prime/quote

EazePay POSTs the normalised applicant + bureau + bank snapshot. BuzzPay's adapter responds with approve / decline / counter / ineligible inside its 612ms SLA.

POST/api/v1/webhooks/lenders/lp_buzzpay_prime

BuzzPay posts lifecycle events back here: application.decisioned, offer.bound, loan.funded, loan.repaid, hardship.opened. HMAC-SHA256 signed.

GET/api/v1/applications/{id}/offers

Operator console fetches the consumer-best ranked offers, including BuzzPay's when eligible.

Request from EazePay

What we send to your quote endpoint

request.jsonJSON
{
  "application_id": "app_4nqLkR2vTjW",
  "policy_version": "orch_v_2026_05_a",
  "snapshot_hash": "sha256:f4e9c1a2…",
  "applicant": {
    "state": "TX",
    "fico_band": "740-779",
    "income_monthly_cents": 684000,
    "dti_pct": 28.4,
    "cashflow_score": 0.84,
    "mla_covered": false,
    "scra_active": false
  },
  "request": {
    "amount_cents": 1850000,
    "term_months": 60,
    "category": "home_improvement"
  },
  "permissible_purpose": "604(a)(3)(A)"
}

Response shape we expect

What BuzzPay responds with

response.jsonJSON
{
  "decision": "approved",
  "offer": {
    "offer_id": "off_005gqka6",
    "application_id": "app_007jm5bo",
    "lender_product_id": "lp_buzzpay_prime",
    "lender": "BuzzPay",
    "lender_of_record": "Cross River Bank",
    "amount_cents": 1850000,
    "term_months": 60,
    "apr_bps": 1199,
    "fee_cents": 0,
    "monthly_payment_cents": 41143,
    "approval_likelihood": 0.92,
    "valid_until": "2026-07-31T04:27:30.980Z"
  },
  "reason_codes": [
    "approved_within_policy"
  ],
  "policy_version": "orch_v_2026_05_a",
  "valid_until": "2026-07-31T04:27:30.980Z"
}

Inbound webhook

Status events BuzzPay posts back

webhook.jsonJSON
{
  "event_type": "loan.funded",
  "event_version": 1,
  "occurred_at": "2026-07-31T03:57:30.980Z",
  "data": {
    "loan_id": "loan_2KvN8aR",
    "offer_id": "off_005gqka6",
    "rail": "rtp",
    "amount_cents": 1850000,
    "disbursed_at": "2026-07-31T03:57:30.980Z"
  }
}

Signing scheme

Every payload (inbound + outbound) is signed with HMAC-SHA256(secret, timestamp + '.' + nonce + '.' + body). Timestamp must be within a 5-minute window; nonce must be unique across the last 24 hours. Failed verification returns RFC 7807 401 signature_invalid with a human-readable detail.

Next step

Ready to bind BuzzPay to your sandbox?

Generate sandbox keys, paste your webhook URL, and run the full test pack — quote, bind, fund, webhook back — in under 30 minutes.