Skip to main content
POST
/
api
/
v1
/
transactions
/
wallet
/
complete-onboarding
/
curl --request POST \
  --url https://hpay-api.host-sl.com/api/v1/transactions/wallet/complete-onboarding/ \
  --header 'api-key: YOUR_API_KEY' \
  --header 'secret-key: YOUR_SECRET_KEY' \
  --header 'X-Forwarded-For: 41.223.10.5' \
  --header 'Content-Type: application/json' \
  --data '{
    "wallet_id": "9a8b7c6d-...",
    "individual": { "first_name": "Alice", "last_name": "Kamara", "address": { "country": "SL" } },
    "business_profile": { "mcc": "5734" }
  }'
{
  "message": "Onboarding data submitted. Account verified and payouts enabled.",
  "account_id": "acct_1ABC...",
  "payouts_enabled": true,
  "external_account_added": false,
  "currently_due": [],
  "pending_verification": [],
  "disabled_reason": null
}
Creates (or reuses) the Stripe Connect account for the wallet’s owner and submits their verification details. Depending on Stripe’s checks, the response reports payouts enabled, or lists what’s still required — often a verification document.
The X-Forwarded-For header is required and must contain the end customer’s IP address — Stripe records it as evidence that they accepted the Terms of Service. Sending your server’s IP is a compliance violation. The SDKs make this a required client_ip / clientIp argument.

Headers

X-Forwarded-For
string
required
The end customer’s IP address, captured from their request to your app.

Request Body

wallet_id
string
required
The wallet whose owner is being onboarded.
individual
object
required
The account holder’s identity details (name, date of birth, address with country, etc.) — Stripe’s individual object shape.
business_profile
object
required
The business profile (e.g. mcc, product description).
card_token
string
Optional card token to attach as the payout destination.

Response

account_id
string
The Stripe Connect account ID.
payouts_enabled
boolean
Whether the account is verified and can receive payouts.
currently_due
string[]
Verification requirements Stripe still needs.
pending_verification
string[]
Items Stripe is currently reviewing.
external_account_added
boolean
Whether the optional card payout destination was attached.
{
  "message": "Onboarding data submitted. Account verified and payouts enabled.",
  "account_id": "acct_1ABC...",
  "payouts_enabled": true,
  "external_account_added": false,
  "currently_due": [],
  "pending_verification": [],
  "disabled_reason": null
}
curl --request POST \
  --url https://hpay-api.host-sl.com/api/v1/transactions/wallet/complete-onboarding/ \
  --header 'api-key: YOUR_API_KEY' \
  --header 'secret-key: YOUR_SECRET_KEY' \
  --header 'X-Forwarded-For: 41.223.10.5' \
  --header 'Content-Type: application/json' \
  --data '{
    "wallet_id": "9a8b7c6d-...",
    "individual": { "first_name": "Alice", "last_name": "Kamara", "address": { "country": "SL" } },
    "business_profile": { "mcc": "5734" }
  }'