Skip to main content
FlexPrice provides native integrations with popular payment processors, CRM platforms, and accounting systems to streamline your billing operations.

Supported Integrations

FlexPrice supports the following integration providers:

Stripe

Payment processing and subscription management

Razorpay

Payment gateway for India and Southeast Asia

HubSpot

CRM sync for customers, deals, and quotes

QuickBooks

Accounting integration for invoices and payments

Chargebee

Subscription billing and invoice management

Moyasar

Payment gateway for Saudi Arabia

Nomod

Enterprise payment processing

Integration Capabilities

Bidirectional Sync

Many integrations support bidirectional synchronization:
  • Customer Management - Sync customer data between FlexPrice and your payment provider
  • Invoice Sync - Push FlexPrice invoices to external systems for payment collection
  • Payment Reconciliation - Automatically record payments made through external systems
  • Plan/Product Sync - Import pricing plans from external platforms
  • Subscription Management - Keep subscription status in sync across systems

Webhook-Based Updates

Integrations use webhooks for real-time updates:
  • Receive instant notifications when payments succeed or fail
  • Track subscription changes (created, updated, cancelled)
  • Monitor customer lifecycle events
  • Handle payment method updates

Integration Architecture

FlexPrice uses a factory pattern to manage integrations:
// Get a specific integration
stripeIntegration, err := factory.GetStripeIntegration(ctx)

// Access integration services
stripeIntegration.CustomerSvc     // Customer operations
stripeIntegration.PaymentSvc      // Payment processing
stripeIntegration.InvoiceSyncSvc  // Invoice sync
stripeIntegration.WebhookHandler  // Webhook handling

Entity Integration Mapping

FlexPrice maintains a mapping table to track relationships between FlexPrice entities and external provider entities:
type EntityIntegrationMapping struct {
    EntityID         string  // FlexPrice entity ID (customer, invoice, etc.)
    EntityType       string  // customer, plan, invoice, subscription
    ProviderType     string  // stripe, razorpay, hubspot, etc.
    ProviderEntityID string  // External provider's entity ID
    Metadata         map     // Additional sync context
}
This enables:
  • Lookup of external IDs for syncing
  • Preventing duplicate entity creation
  • Tracking sync direction and history
  • Efficient webhook processing

Connection Configuration

Each integration requires a connection to be configured in your environment:
1

Create Connection

Configure API credentials for your integration provider through the FlexPrice dashboard or API.
2

Configure Sync Settings

Enable specific sync directions:
  • Customer inbound/outbound
  • Invoice inbound/outbound
  • Plan inbound/outbound
  • Subscription inbound/outbound
3

Set Up Webhooks

Configure webhook endpoints in your provider’s dashboard to receive real-time updates.
4

Test Integration

Verify the connection by performing test operations and monitoring sync status.

Security

Integrations are secured through:
  • Encrypted Credentials - All API keys and secrets are encrypted at rest
  • Webhook Signature Verification - Incoming webhooks are validated using provider-specific signatures
  • Environment Isolation - Each environment maintains separate integration configurations
  • Audit Logging - All integration operations are logged for compliance

Next Steps

Stripe Integration

Set up Stripe for payment processing

Webhook Configuration

Configure webhooks for real-time updates