Bon Voyage and Zopa Start Flow
Operator home is the merchant record, not a script URL.
- Open the merchant → Overview → Features matrix.
- On the Finance Assistant row, click the cog (Settings). That opens Finance Assistant Settings.
- Scroll to Zopa Settings (or use ↓ Skip to Zopa settings).
- Read launched applications on the merchant Enquiries tab (Zopa application status tile), or click Enquiries in the Settings header.
Lender Settings Bon Voyage stage is a preview of the post-submit screen. It does not hold Zopa credentials.
Settings header buttons: Enquiries, Back to Merchant, Back to Merchants. Snap / Humm / Propensio fields: Lender Apply start. Shopper form fields: Enquiry Page.
Shopper path those settings turn on:
- Calculator
- Enquiry page
- Bon Voyage
- Zopa Vendigo widget (hosted application)
Direct apply URL is the Apply for finance button when Finance Assistant is off for this lender. When FA is on, a failed widget start does not auto-open that URL.
Do not paste secrets onto this public page. Credential secrets are write-only (Leave blank to keep existing).
Zopa Settings in admin
On the merchant: Finance Assistant → Zopa Settings. ⓘ How Zopa apply works in Bon Voyage.
The heading used to say “DivideBuy via Zopa”. DivideBuy retired in Aug
2026; the live heading is Zopa Settings. The HTML id
#dividebuy-zopa-settings is a leftover anchor only.
Subtitle: Configure Zopa credentials used for the application start flow. Secrets are write-only and never shown once saved.
Configure:
- Enable Zopa credit application
- Default environment
- Vertical ID
- Accordion Sandbox credentials: Sandbox public key, Sandbox base URL, Sandbox secret key (optional), Sandbox secret status. Placeholders: Zopa sandbox public key,
https://app.zopa.demo.vendigo.com, secret Leave blank to keep existing. - Accordion Live credentials: Live public key, Live base URL, Live secret key (optional), Live secret status. Placeholders: Zopa live public key,
https://app.zopa.vendigo.com, secret Leave blank to keep existing. - Webhook token (optional), Webhook token status
- Webhook URL (paste into Zopa → Webhook URL)
Save Zopa settings writes this section. Generate token mints the webhook token. Secrets are write-only. Leave a secret blank to keep the stored value.
What Zopa gets
| Field | Value |
|---|---|
orderId | Same FinMatch reference as Admin Submission ID when mint succeeds (M…-P…-R…) |
| amount | Purchase price from calculator (before deposit) |
| deposit | Customer deposit from calculator |
| APR / term | Selected credit product |
| product type | IFC or IBC derived from product APR |
| vertical ID | From Vertical ID (admin default 8 when unset) |
| primary applicant | Enquiry: name, email, phone, address, postcode |
| public key + base URL | Sandbox / Live credentials here |
Vertical ID
Zopa issues a vertical per merchant account. Pick the value from that merchant’s own Zopa integration guide. Sending a vertical the account is not approved for makes Zopa reject the application.
| ID | Label in admin |
|---|---|
| 1 | Solar Panels (Supply & Install) |
| 2 | Renewables |
| 3 | Furniture |
| 8 | Home Improvements (admin default when unset) |
| 9 | Home Improvements Upper |
| 17 | Infinity Renewables Home Improvements Upper |
| 19 | Renewables (legacy) |
1 is a live option (added Aug 2026). 17 is a live option (added Sep
2026) and is not the same as 1. Do not assume every merchant should
use 8.
Pick the ID from that merchant’s own Zopa integration guide, then Save
Zopa settings. The start path sends the saved integer as-is (including
17; it does not collapse to 8). Unset still defaults to 8.
Status webhook
Zopa posts application status updates (approved / referred / declined, e-sign URL, reference numbers, SAT note) to a per-merchant URL:
POST /api/webhooks/zopa?merchantId=…&token=…
In Zopa Settings: click Generate token, copy the full Webhook
URL (paste into Zopa → Webhook URL) before Save Zopa settings,
paste it into the merchant’s Zopa integration settings, then save in
admin. The token is show-once; admin can regenerate, never reveal.
Updates appear on the enquiry as a Zopa application status tile
with a status history. Apply / start already minted the FinMatch
reference (M{merchant}-P{partner}-R{sequence}) and stored the
Applications ledger
row under that id. An application already stored under a merchant
order id keeps that old row; a later status can create a second row
under the FinMatch reference. Old ids cannot be renamed. Credit status
notification email is still off. No history backfill has run.
Hint: Per-merchant URL. Generate a token, copy the full URL shown above before saving (the token is never readable again), then paste it into the merchant’s Zopa integration settings and save here.
Hint: Zopa posts loan application status updates to this URL. Without a token the endpoint rejects deliveries. See cloud-run/finance-assistant/docs/ZOPA_WEBHOOK_SETUP.md.
Full runbook: cloud-run/finance-assistant/docs/ZOPA_WEBHOOK_SETUP.md.
Lender Settings Bon Voyage stage
On Lender Settings → Finance Assistant, the stage nav Finance Assistant stages has Bon Voyage stage. Stage title is Finance Assistant — Bon Voyage.
Builder subtitle: Preview the post-submission “Thank you / Redirecting…” screen. (Config controls coming next.) That preview is not where operators save Zopa credentials.
Accordion subtitle: Core logic: finance-assistant.js,
enquiry-page.js, bon-voyage.js (linked above the stack). Advanced
adds Script links.
Runtime notes
These scripts render the shopper Bon Voyage handoff. Operators do not deploy them from Admin. Production source of truth:
https://storage.googleapis.com/finmatch-p/scripts/
https://storage.googleapis.com/finmatch-p/scripts/finance-assistant.jshttps://storage.googleapis.com/finmatch-p/scripts/bon-voyage.jshttps://storage.googleapis.com/finmatch-p/scripts/start-finance-application-registry.jshttps://storage.googleapis.com/finmatch-p/scripts/start-finance-application-request-builders.js
After the shopper submits enquiry:
finance-assistant.jsbuilds the start payload and renders Bon Voyage.bon-voyage.jscalls/api/lenders/start/zopa/finance-application(via the merchant Finance Assistant proxy).- Cloud Run returns
hash,widgetScriptUrl,environment, andorderId. - The browser loads the Vendigo widget with that hash.
- Cloud Run persists a session so Zopa’s status webhook can join back to the enquiry Zopa application status tile.
For FM-1234-5678-9102 (finmatch.io), Zopa launches from Bon Voyage when
Finance Assistant includes lender zopa and Zopa Settings has
sandbox/live credentials saved. That is a Finance Assistant Bon Voyage
launch, not a static Direct apply URL redirect.
Troubleshooting
config_not_foundfrom start route: merchant profile missing, or Enable Zopa credit application is No.public_key_missingorsecret_key_missing: save the missing values on Zopa Settings, then Save Zopa settings.- Widget constructor missing: returned
widgetScriptUrldid not load (blocked script or network).
Related
- Applications — staff ledger and FinMatch reference
- Finance Assistant Overview
- Enquiry Page
- Lender Apply start
- Lender Settings
- Merchant Page Editing