Some errors include details.unavailableLabel, a short message you can show on the button. Validation errors include details listing the fields at fault.
The PaymentIntent does not exist on the install account.
Create the proof with the install account’s key.
PROOF_INELIGIBLE
400
The PaymentIntent cannot start a split: wrong status, missing PayShare metadata, no amount or currency, a test and live mismatch, or it was already used.
Create a new, unconfirmed proof with the required metadata in the same mode as the install.
BELOW_MIN_SPLIT_AMOUNT
400
The order total is below the minimum for a split. details.minSplitAmountMinor gives the minimum.
This failure happens on your server, before PayShare sees the request. Stripe returns: The provided key does not have access to account.
STRIPE_SECRET_KEY is the login. The acct_ you pass as stripeAccountId, or as the Stripe-Account header when you create the order proof, is the shop. Swapping only the secret key leaves the old account id in the start-split route. The new key cannot charge that old account, and the button shows PayShare — unavailable. Update the account id to the acct_ that owns the new key. Pay now and Split must use that same account.