Flex Capital Implementation Guide
Flex Capital Integration Guide
This guide walks you through the complete end-to-end integration process for Flex Capital, from initial account registration through to taking advances.
Overview
Flex Capital is not a specific type of advance - it's a facility that provides merchants with a pre-authorised limit that can be used across all Liberis products. Once a merchant has Flex Capital activated, they can apply for BCA advances with streamlined eligibility checks and simplified contracts.
Integration Flow
1. Account Registration and Provisioning
Start by registering and provisioning the merchant's account using the business registration API:
POST /v3/business/register_and_provisionThis creates and provisions a capital account for the merchant in the Liberis system, making it immediately ready for use.
2. Check Flex Capital Eligibility
After registration, check if the account has Flex Capital upgrade actions available:
GET /v3/business/{liberisId}/capital_accountLook for availableActions in the response. If the merchant is eligible for Flex Capital, you'll see an action with actionType: "UPGRADE_TO_FLEX_CAPITAL".
Important: Handling Frozen Accounts
If the account has been frozen (due to payment issues, compliance concerns, or other business reasons), the merchant will not be eligible for Flex Capital upgrades. Frozen accounts will:
- Not have
UPGRADE_TO_FLEX_CAPITALin theiravailableActions - Receive marketing offers with
doNotMarket: true - Need to resolve the underlying issues before being eligible again
Check the statusFlags in the capital account response for any freeze indicators.
3. Marketing Offer Webhook
You'll also receive a marketing offer webhook indicating the merchant's eligibility for a Flex Capital upgrade. The offer is reported at offerLevel: "ACCOUNT" with type: "FLEX_UPGRADE", and includes:
limits.min/limits.max- the amount range the merchant may be eligible forapprovalStatus- one ofSPECULATIVE,ELIGIBLE,PRE_APPROVED,NO_DECISION_NEEDED
This offer does not itself contain specific split percentages or a firm pre-authorised limit - it only signals that the merchant may be eligible for an upgrade within that amount range. Use it to decide whether to prompt the merchant that they may be eligible for a Flex Capital upgrade.
4. Quote Flex Capital Upgrade Options
Only once the merchant indicates they want to apply for the upgrade should you quote the available options:
POST /v3/business/{liberisId}/capital_account/flex_capital/upgrade/optionsProvide creditBureauCheckConsent in the request. The response contains an options array, where each option has an optionId, splitPercentage, and preAuthorisedLimit. This is the point at which the merchant is given the different split percentages to choose between - not at the marketing offer stage.
5. Present Options to Merchant
Each option returned by the quote call has a different:
- Split percentage - the percentage of daily revenue that goes toward payment
- Pre-authorised limit - the maximum amount available for instant advances
Present these options to the merchant so they can pick the one they want to apply for.
6. Test Pricing (Optional)
Before the merchant commits to an option, you can test pricing for specific amounts:
POST /v3/business/{liberisId}/capital_account/flex_capital/upgrade/price_testThis allows merchants to see exactly what different amounts would cost before upgrading. Provide an optionId and amount to get detailed fee breakdowns and estimated payment times.
7. Apply for Flex Capital Upgrade
Once the merchant selects an option, apply for the upgrade:
POST /v3/business/{liberisId}/capital_account/flex_capital/upgrade/applyProvide the selected optionId from the quoted options.
8. Contract Signing
The response includes a contractPackId that needs to be signed. Use the Contracts API to present the documents to the merchant for signing:
GET /v3/contract_packs/{contractPackId}Follow the contract signing flow as documented in the Contracts API guide.
9. Liberis Decision Process
After contract signing, Liberis will:
- Review the application
- Make a final decision on the upgrade
- Update the account status
10. Flex Capital Activation
Once approved, the merchant's capital account will be updated with pre-authorised limit information. You can verify this by checking the capital account:
GET /v3/business/{liberisId}/capital_account11. Understanding Pre-Authorised Limits
The Flex Capital facility provides two key metrics for managing available funding:
- Pre-authorised Limit - The total amount approved for the merchant (e.g., $10,000)
- Remaining Limit - How much of that limit is still available to use
For example:
- If a merchant has a $10,000 pre-authorised limit
- And they've taken a $3,000 advance that's still being paid back
- Their remaining limit would be $7,000
This remaining amount represents what they can immediately access for new advances without additional underwriting.
12. Using Flex Capital for Advances
Now the merchant can apply for BCA advances with streamlined processing:
POST /v3/business/{liberisId}/capital_account/advances/bca/quote
POST /v3/business/{liberisId}/capital_account/advances/bca/apply_by_quote_idBenefits of Flex Capital for advances:
- Automatic eligibility - no additional underwriting needed for amounts within remaining limit
- Simplified contracts - reduced documentation requirements
- Instant approval - for amounts within the remaining pre-authorised limit
- Consistent terms - split percentage already agreed
The advance will be processed using the existing Flex Capital terms. The amount taken will reduce the remaining limit until the advance is paid back.
13. Limit Management
As advances are taken and paid back:
- Taking an advance reduces the remaining limit
- Making payments increases the remaining limit back toward the total pre-authorised amount
- The total pre-authorised limit stays constant unless the merchant upgrades to a higher tier
Monitor the remaining limit to help merchants understand their available funding capacity.
Upgrade and Downgrade Flows
The diagrams below summarise the end-to-end sequence of calls and webhooks for taking a Flex Capital upgrade, and for a merchant's terms being downgraded afterwards. The upgrade decision flow is reported through the upgradeStatusChanged webhook (PENDING, UPGRADED, REJECTED, CANCELLED), while a completed upgrade or downgrade is signalled at the account level through the accountStatusChanged webhook (changeType: UPGRADED / DOWNGRADED) — see Key Integration Points below.
Upgrade Flow
sequenceDiagram
actor M as Merchant
participant P as Partner
participant L as Liberis
P->>L: GET /v3/business/{liberisId}/capital_account
L-->>P: availableActions includes UPGRADE_TO_FLEX_CAPITAL
L-->>P: marketingOfferCreated webhook (offerLevel: ACCOUNT, type: FLEX_UPGRADE, limits min/max, approvalStatus)
P->>M: Merchant may be eligible for a Flex Capital upgrade
M->>P: Wants to apply
P->>L: POST .../flex_capital/upgrade/options {creditBureauCheckConsent}
L-->>P: options[] (optionId, splitPercentage, preAuthorisedLimit)
P->>M: Present upgrade options
opt Price testing
P->>L: POST .../flex_capital/upgrade/price_test
L-->>P: Fee breakdown for amount
end
M->>P: Selects an option
P->>L: POST .../flex_capital/upgrade/apply {optionId}
L-->>P: contractPackId, status: PENDING
L-->>P: upgradeStatusChanged webhook (status: PENDING)
P->>M: Present contract pack for signing
M->>P: Signs documents
P->>L: GET /v3/contract_packs/{contractPackId} (signing flow)
L-->>L: Reviews application, makes decision
alt Upgrade approved
L-->>P: upgradeStatusChanged webhook (status: UPGRADED)
L-->>P: accountStatusChanged webhook (changeType: UPGRADED)
L-->>P: accountStatusChanged webhook (changeType: PRE_AUTHORISED_LIMIT_CHANGED)
P->>L: GET /v3/business/{liberisId}/capital_account
L-->>P: preAuthorisedLimit active
else Upgrade rejected
L-->>P: upgradeStatusChanged webhook (status: REJECTED)
else Merchant cancels before a decision is made
P->>L: POST .../flex_capital/upgrade/cancel
L-->>P: upgradeStatusChanged webhook (status: CANCELLED)
end
Downgrade Flow
sequenceDiagram
actor M as Merchant
participant P as Partner
participant L as Liberis
Note over P,L: Downgrade can only happen after an upgrade has already completed
M->>P: Requests to downgrade (or partner/Liberis initiates)
P->>L: POST /v3/business/{liberisId}/capital_account/flex_capital/upgrade/downgrade
L-->>L: Reverts split percentage and pre-authorised limit
L-->>P: accountStatusChanged webhook (changeType: DOWNGRADED)
L-->>P: accountStatusChanged webhook (changeType: PRE_AUTHORISED_LIMIT_CHANGED)
P->>L: GET /v3/business/{liberisId}/capital_account
L-->>P: Updated (reverted) pre-authorised limit and split
P->>M: Confirms new terms
Key Integration Points
Webhooks to Monitor
liberis.capitalAccounts.v3.marketingOfferCreated- Flex Capital upgrade eligibility (offerLevel: ACCOUNT,type: FLEX_UPGRADE, amount range,approvalStatus) - call the quote options endpoint to get specific split percentages and limitsliberis.capitalAccounts.v3.upgradeStatusChanged- Upgrade decision updates (PENDING,UPGRADED,REJECTED,CANCELLED) — see the Upgrade and Downgrade Flows aboveliberis.capitalAccounts.v3.advanceStatusChanged- Advance status for flex-enabled accountsliberis.capitalAccounts.v3.accountStatusChanged- Account-level changes, including freeze/unfreeze, pre-authorised limit changes (PRE_AUTHORISED_LIMIT_CHANGED), and completed upgrades and downgrades (changeType: UPGRADED/DOWNGRADED)
Error Handling
- UPGRADE_NOT_ELIGIBLE - Merchant doesn't qualify for Flex Capital
- INVALID_OPTION_ID - Selected option is no longer available
- AMOUNT_OUT_OF_RANGE - Requested amount exceeds remaining pre-authorised limit
- FROZEN - Account is frozen and cannot access Flex Capital
Testing Considerations
- Use the price test endpoint to validate calculations before presenting to merchants
- Verify contract signing flow works with Flex Capital contract packs
- Test the complete flow from upgrade through to taking advances
- Test scenarios with frozen accounts to ensure proper error handling
- Verify limit calculations work correctly as advances are taken and paid back
Summary
Flex Capital provides a powerful way to offer merchants pre-authorised funding with transparent terms. The integration involves:
- Registration - Create and provision the merchant account
- Eligibility - Check for upgrade actions and handle frozen accounts
- Selection - Present options and allow price testing
- Application - Apply for the chosen Flex Capital option
- Contracts - Complete document signing
- Activation - Verify the pre-authorised limit is active
- Usage - Take streamlined advances using the remaining facility
- Management - Monitor and communicate available limits
This creates a seamless experience where merchants get fast access to funding with predictable terms across all Liberis products, while maintaining clear visibility into their available capacity.
Updated 4 days ago