Lender admin: DivideBuy vs Propensio comparison
This doc describes the standardised viewer, builder, and styling setup for DivideBuy, Propensio, and other lenders in the admin. It compares the two lenders, documents the implemented standard (same skeleton, IDs, and regulatory rule), and provides verification tests to confirm everything works.
1. Page structure (Lender Settings)
| Aspect | DivideBuy | Propensio |
|---|---|---|
| Lender Settings URL | admin/lenders/dividebuy/lender-settings/ | admin/lenders/propensio/lender-settings/ |
| Body class | light marketing-embeds | light marketing-embeds |
| Scripts | navigation.js, nav-builder.js, embed-isolation.js, lender-marketing-builder.js | Same |
| Marketing builder | #marketingBuilder | Same |
| Ecommerce / modal | #lender-modal-container, .embed-dividebuy-modal | #lender-modal-container, .embed-propensio-modal |
| Calculator | #calcFeatureBuilder, #builderCalcPreview, #legacy-calc-container (hidden) | Same IDs |
| Finance Assistant | #financeAssistantSection, #financeAssistantBuilder, #financeAssistantPreview | Same IDs and structure |
Conclusion: the Lender Settings HTML skeleton and IDs are standardised for all lenders.
2. Viewer (preview iframes)
- Calculator and Finance Assistant previews are rendered by
lender-marketing-builder.jsassrcdociframes. - Height sync is done through
postMessageand capped in parent handlers to avoid runaway growth. - Embed isolation (
embed-isolation.js) applies to embeds with lender classes.
3. Builder (feature toggles and order)
- Shared builder flow uses
renderCalcFeatureToggles,renderFinanceAssistantCalcPreview, and common styling/overrides loading. - Canonical disclosure field is
regulatoryDisclosureText. - Legacy fields
regulatoryTextandeligibilityTextremain visible and are labelled as legacy.
4. Styling settings
- Both lenders use the same styling editor and save/load flow.
- Styling keys such as
logoUrl,accentColor, andfontColorare shared.
5. Admin site structure (outside Lender Settings)
| Area | DivideBuy | Propensio |
|---|---|---|
| Credit Products (index) | Has "Sort by APR/term" checkbox | No "Sort by APR/term" in the same place |
| Extra sections | index + lender-settings/ | Plus api/, finance-settings/, marketing/ |
6. Code-level differences (summary)
- Credit Products API normalisation explicitly maps
dividebuy. - Propensio has extra disclosure assembly logic and product-specific APR handling.
- Builder field visibility has been standardised across lenders.
7. Implemented standard (all lenders)
- Viewer:
- shared iframe preview pipeline and capped resizing.
- Builder:
- same IDs on all lender settings pages.
- same regulatory and legacy field rule.
- Styling:
- one schema and editor for all lenders.
8. Verification / testing
Use these checks:
- Same standard IDs exist on each lender settings page.
- Builder loads without lender-specific DOM branching.
- Preview heights stabilise and do not grow indefinitely.
- Regulatory Disclosure Text and legacy rows are visible in calculator and modal builders.
- At least one additional lender (besides DivideBuy and Propensio) follows the same behavior.