feat(payments): add Paystack subaccount revenue sharing support#96
Merged
Conversation
musale
commented
May 26, 2026
Contributor
- Add subaccount fields to ServiceProduct model (bank, percentage, bearer)
- Add create_subaccount, list_banks, update_subaccount service functions
- Wire subaccount params into initialise_transaction for split payments
- Add Revenue Sharing section to product create form with dynamic bank dropdown
- Add subaccount status card to product detail page with retry button
- Add /dashboard/services/banks/ endpoint (cached 24h)
- Add /dashboard/services//create-subaccount/ endpoint
- Rename sidebar nav 'Products' to 'Payments'
- Update PRODUCT_PAYMENTS.md with revenue sharing documentation
- Change dev DB port from 5433 to 5483 to avoid conflicts
- Add subaccount fields to ServiceProduct model (bank, percentage, bearer) - Add create_subaccount, list_banks, update_subaccount service functions - Wire subaccount params into initialise_transaction for split payments - Add Revenue Sharing section to product create form with dynamic bank dropdown - Add subaccount status card to product detail page with retry button - Add /dashboard/services/banks/ endpoint (cached 24h) - Add /dashboard/services/<slug>/create-subaccount/ endpoint - Rename sidebar nav 'Products' to 'Payments' - Update PRODUCT_PAYMENTS.md with revenue sharing documentation - Change dev DB port from 5433 to 5483 to avoid conflicts
- Harden: Replace inline event handlers with addEventListener - Harden: Add aria-expanded/aria-controls on toggle disclosure - Harden: Use <fieldset disabled> to prevent hidden field submission - Harden: Add required attrs on revenue sharing fields - Adapt: Responsive input sizing (input-sm on mobile, input-md on desktop) - Adapt: Buttons scale up on larger viewports (btn-sm → btn-md) - Clarify: Add loading spinner for bank dropdown - Clarify: Show bank count and error states with status text - Polish: Bump helper text contrast from /30 to /40 - Polish: Add aria-hidden to decorative SVGs - Polish: Add role=alert on error div, role=note on info callout - Polish: Add inputmode=numeric on account number field - Polish: Focus management after toggle reveal
…ication Detail page (harden, adapt, clarify, polish): - Remove all inline onclick handlers, use addEventListener with IIFE - Replace confirm() with inline confirmation pattern (click-twice) - Add aria-label on status dots, copy buttons, action buttons - Add aria-hidden='true' to all decorative SVGs - Bump helper text contrast from /40 to /50 - Add proper for/id associations on form labels - Responsive input sizing (input-sm sm:input-md) - Copy buttons upgraded from btn-xs to btn-sm (44px touch target) - Copy feedback: text changes to 'Copied!' with success color - Add mobile card view for webhook delivery logs table - Regenerate button responsive (btn-xs sm:btn-sm) Apple Pay domain verification: - Add verification file at .well-known/apple-developer-merchantid-domain-association - Add ApplePayDomainVerificationView serving the file - Add URL route for the verification endpoint
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.