---
id: payment-provisioning
title: Payment Provisioning
description: Embed-ready workflow for collecting payout bank info and provisioning merchants for funding.
sidebar_position: 12
---

import {
  CodeBlock,
  PropsMarkdownTable,
  PartsMarkdownTable,
  getPropsFromDocs,
  getComponentParts,
  getWebcomponentsVersion,
  ComponentBox,
  setUpMocks,
} from '../helpers';
import docsJson from '../docs.json';
import componentTreeJson from '../component-tree.json';
import '@justifi/webcomponents/dist/module/justifi-payment-provisioning';

{setUpMocks()}

## Overview

Component to render a business onboarding form, segmented into multiple steps. You will need to first create a business via [Business API](https://docs.justifi.tech/api-spec#tag/Business) to get the business-id required for this component.

## Usage

<CodeBlock>{`<justifi-payment-provisioning
  auth-token="wct_provisioning"
  business-id="biz_456"
/>`}</CodeBlock>

## Props & Events

<PropsMarkdownTable
  props={getPropsFromDocs('justifi-payment-provisioning', docsJson)}
/>

### Events

- `submit-event`: Fires when payout information is collected and saved. Payload includes the API response or error details.
- `click-event`: Fires on button interactions (Previous/Next step navigation). Payload includes the action name.
- `error-event`: Fires when errors occur, including:
  - Missing required props (`auth-token` or `business-id`)
  - API failures during business data fetch or provisioning submission
  - When provisioning has already been requested for the business

  Payload includes `message`, `errorCode`, and `severity` properties.

### Public Methods

This component does not expose any public methods. Form submission is handled automatically through the multi-step form flow.

## Validation Rules

The form enforces the following rules before a step can be submitted. They apply to both US and Canadian businesses.

### Business Information

- **Date of Registration** is required and must be a date in the past — today's date is not accepted.

### Business Owners

- **Ownership percentage** is required for every owner and must be at least **25%** (and at most 100%). Owners with less than 25% ownership should not be registered; the form displays an informational alert reminding that all owners with 25% or more ownership of the business must be registered.
- **Combined ownership** across all owners cannot exceed **100%**. Totals under 100% are allowed.
- **Email addresses** must be unique across owners. Submitting duplicate emails blocks the step and flags the offending field with an error.

## Theming & Layout

<PartsMarkdownTable
  parts={getComponentParts('justifi-payment-provisioning', componentTreeJson)}
/>

# Example Usage

---

<ComponentBox>
  <justifi-payment-provisioning
    business-id="biz_123"
    auth-token="wct_provisioning"
  />
</ComponentBox>

---
