How vulpfin/foxpay works
FoxPay is a merchant-scoped payment orchestration service: merchants create payment intents through one API, and FoxPay presents eligible provider checkout routes while providers handle payment entry and money movement. Signed provider events and reconciliation—not browser redirects—establish payment state. Separate seller and consumer experiences support onboarding, account dashboards, and provider connections; background jobs handle reconciliation, token health, and outgoing webhooks. The graph uses README statements and indexed references for relationships; unsampled implementation details are not inferred.
Main entry points: services.py Payment services · merchant_views.py Seller portal · tasks.py Background tasks · webhook_delivery.py Merchant webhooks
Components 21
Accounts and API
- Consumer dashboard
apps/accounts/views.py - TG11 identity
apps/accounts/identity.py - Seller portal
apps/payments/merchant_views.py - Payment API
apps/payments/views.py
Payment orchestration
- Payment services
apps/payments/services.py - Provider routing
apps/payments/routing.py - Abuse controls
apps/payments/abuse.py - Adapter dispatch
apps/payments/adapters/card.py - Crypto adapter dispatch
apps/payments/adapters/crypto.py - Payment ledger
apps/payments/ledger.py - Payment state
apps/payments/models.py
Provider connections
- Stripe Connect
apps/payments/stripe_connect.py - Square OAuth
apps/payments/square_oauth.py - PayPal partner
apps/payments/paypal_partner.py - NOWPayments credentials
apps/payments/nowpayments_connection.py
Events and operations
- Provider events
apps/payments/events.py - Reconciliation
apps/payments/payment_reconciliation.py - Background tasks
apps/payments/tasks.py - Merchant webhooks
apps/payments/webhook_delivery.py
Other components
- Merchant client
- Payment providers
Connections 25
- Merchant client → Payment API: creates intents
- Payment API → Payment services: delegates to
- Payment services → Provider routing: selects routes
apps/payments/services.py - Payment services → Abuse controls: checks limits
apps/payments/services.py - Payment services → Adapter dispatch: dispatches card
apps/payments/services.py - Payment services → Crypto adapter dispatch: dispatches crypto
apps/payments/services.py - Payment services → Payment ledger: updates ledger
apps/payments/services.py - Payment services → Payment state: reads and writes
apps/payments/services.py - Adapter dispatch → Payment providers: calls provider
- Crypto adapter dispatch → Payment providers: calls provider
- Seller portal → Stripe Connect: manages connection
- Seller portal → Square OAuth: manages connection
- Seller portal → PayPal partner: manages connection
- Seller portal → NOWPayments credentials: manages credentials
- Stripe Connect → Payment providers: authorizes payments
- Square OAuth → Payment providers: authorizes payments
- PayPal partner → Payment providers: authorizes payments
- NOWPayments credentials → Payment providers: authorizes payments
- Payment providers → Provider events: sends signed events
- Provider events → Background tasks: queues processing
apps/payments/events.py - Background tasks → Reconciliation: runs reconciliation
apps/payments/tasks.py - Background tasks → Merchant webhooks: runs delivery
apps/payments/tasks.py - Merchant webhooks → Payment state: loads event state
apps/payments/webhook_delivery.py - Merchant webhooks → Merchant client: posts signed webhook
apps/payments/webhook_delivery.py - Consumer dashboard → TG11 identity: uses linked identity
apps/accounts/views.py