FinanceWeb application · SaaS · API/backend · Integration
B2B invoicing and payments web platform
We rebuilt the payment core of a B2B invoicing and bill-pay platform on an inherited codebase: connected-account verification, card and bank-transfer payments, payment requests by email and SMS link, payouts, platform fees and transactional notifications, shipped to production through a disciplined pull-request workflow.
Problem
The inherited web app had non-functional payment flows: payment code was entangled with an abandoned bank-linking integration, keys were hardcoded and core flows were broken, while the client needed frequent investor-ready demos.
Solution
A backend lead, two frontend developers, a UI/UX designer and a PM rebuilt the payment stack: webhook-driven connected-account verification, card payments with saved payment methods, bank-transfer payments completed by webhooks, payment requests delivered as emailed or SMS links (including to people without an account), a payout module with available and pending balances and multiple external accounts, a 1% platform fee, a company-services invoicing module, seven responsive email templates, SMS notifications and dynamic link-preview images.
Key features
- Webhook-driven connected-account verification
- Card payments with saved payment methods
- Bank-transfer payments with pending-state handling
- Payment requests via emailed and SMS links, including to non-users
- Payout module with balances, multiple external accounts and history
- 1% platform processing fee
- Company-services invoicing with quantity-based totals
- Seven responsive transactional email templates
- Dynamic Open Graph link previews for payment URLs
- Account-not-verified handling and verification banner
Tech stack
- Blade
- DigitalOcean
- DigitalOcean Spaces
- Figma
- Flutter
- GitHub
- JWT
- Laravel
- Livewire
- MySQL
- Nginx
- PHP
- Plaid
- Redis
- SendGrid
- Stripe
- Stripe Connect
- Stripe Elements
- Tailwind CSS
- Twilio
- Vue.js
- Webflow