Guide
Onboarding & account readiness
Before a merchant can be charged, they must complete onboarding and be approved for processing. Pay-Pi handles KYC, underwriting, and compliance; you drive the merchant to a hosted form and check their readiness with one endpoint.
Hosted onboarding form
Merchants complete a hosted Finix onboarding form — you don't build or
store any of it. The link to send them to is returned as onboardingUrl from
the status endpoint below. Once they submit, their application moves into review, and
Pay-Pi enables charges and payouts when approved.
Check readiness
Call GET /v1/onboarding/status to see whether a merchant can accept
payments and what, if anything, is outstanding.
curl https://connect.pay-pi.com/v1/onboarding/status \
-H "X-Api-Key: lc_live_..." {
"onboardingStatus": "pending",
"chargesEnabled": false,
"payoutsEnabled": false,
"reasons": [
{ "code": "under_review", "message": "Your merchant application is under review." }
],
"requirements": [
{ "code": "document.bank_statement", "message": "Upload a recent bank statement." }
],
"pci": { "status": "unknown", "validUntil": null },
"onboardingUrl": "https://onboard.pay-pi.com/..."
} Response fields
onboardingStatusnot_started, pending, enabled, or restricted.chargesEnabledWhether the merchant can accept payments right now.payoutsEnabledWhether funds can settle to the merchant's bank.reasonsWhy the account isn't ready (e.g. under review). Each has a code and message.requirementsOutstanding items the merchant must provide (e.g. a document).pciPCI validation state: status and validUntil.onboardingUrlHosted form link to send the merchant to, or null when nothing is needed.Charging before a merchant is ready
If you attempt POST /v1/payments while chargesEnabled is
false, the API rejects it with a
403 merchant-not-ready. Check
readiness first, and surface the reasons and requirements to
your merchant so they can finish onboarding. The
merchant dashboard renders this same readiness information
for merchants automatically.