Lender adapter
BuzzPay
BuzzPay Finance, LLC (issued via Cross River Bank)
Endpoints
How BuzzPay plugs in
/api/v1/lenders/lp_buzzpay_prime/quoteEazePay POSTs the normalised applicant + bureau + bank snapshot. BuzzPay's adapter responds with approve / decline / counter / ineligible inside its 612ms SLA.
/api/v1/webhooks/lenders/lp_buzzpay_primeBuzzPay posts lifecycle events back here: application.decisioned, offer.bound, loan.funded, loan.repaid, hardship.opened. HMAC-SHA256 signed.
/api/v1/applications/{id}/offersOperator console fetches the consumer-best ranked offers, including BuzzPay's when eligible.
Request from EazePay
What we send to your quote endpoint
{
"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
{
"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
{
"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.