How to get verified for payouts — complete the KYC form in the Commet dashboard.
Organizations using their own payment connection can start accepting payments immediately. Commet-managed payment processing remains unavailable until merchant review and identity verification are complete.
Live organizations only
Payout verification is unavailable in sandbox. Switch to your live organization before submitting business, identity, document, or bank information.
Click Verify Account in the finance section to start the one-time KYC process — a multi-step form in the Commet dashboard: business info → personal info → identity document → bank account. Commet submits it to the payment provider for review, then wait for approval — usually a few days.
Your country is set in the first step and locks once the verification is submitted to the provider. Contact support to correct it after that.
Verification data is collected in the Commet dashboard and submitted to the payment provider for KYC review. Full bank account numbers are never returned by the API — only the last 4 digits.
Approval can take several days. You'll be notified when your account is ready.
After completing verification in the Commet dashboard, you can add destination bank accounts and withdraw your balance programmatically.
POST /api/v1/payouts/verification is deprecated and no longer accepts or processes KYC data. Authenticated requests return 410 Gone with the endpoint_deprecated error code.
Complete verification in the dashboard
Do not send business, identity, document, or bank information to this endpoint. Use the one-time verification flow in your live organization's finance section.
{
"error": {
"code": "endpoint_deprecated",
"message": "The payout verification API is deprecated. Complete KYC in the Commet dashboard."
}
}Add an additional destination bank account to an existing payout account. Country and currency are resolved from your organization. The full account number is never returned — only last4.
const account = await commet.payouts.addBankAccount({
accountNumber: '000123456789',
accountHolderName: 'Jane Doe',
routingNumber: '110000000',
accountType: 'checking',
setDefault: true,
})account = commet.payouts.add_bank_account(
account_number="000123456789",
account_holder_name="Jane Doe",
routing_number="110000000",
account_type="checking",
set_default=True,
)account, err := client.Payouts.AddBankAccount(ctx, &commet.AddPayoutBankAccountParams{
AccountNumber: "000123456789",
AccountHolderName: "Jane Doe",
})var account = commet.payouts().addBankAccount(
AddPayoutBankAccountParams.builder("000123456789", "Jane Doe")
.routingNumber("110000000")
.accountType("checking")
.setDefault(true)
.build()
);$account = $commet->payouts->addBankAccount(
accountNumber: '000123456789',
accountHolderName: 'Jane Doe',
routingNumber: '110000000',
accountType: 'checking',
setDefault: true,
);curl -X POST https://commet.co/api/v1/payouts/bank-accounts \
-H "x-api-key: $COMMET_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"accountNumber": "000123456789",
"accountHolderName": "Jane Doe",
"routingNumber": "110000000",
"accountType": "checking",
"setDefault": true
}'Withdraw available balance to your verified payout account. amount is in cents (USD, minimum 1000 = $10). The payout is created in pending and settles to paid asynchronously as provider webhooks arrive.
const payout = await commet.payouts.request({
amount: 50000,
description: 'March payout',
})payout = commet.payouts.request(amount=50000, description="March payout")description := "March payout"
payout, err := client.Payouts.Request(ctx, &commet.RequestPayoutParams{
Amount: 50000,
Description: &description,
})var payout = commet.payouts().request(
RequestPayoutParams.builder(50000).description("March payout").build()
);$payout = $commet->payouts->request(amount: 50000, description: 'March payout');curl -X POST https://commet.co/api/v1/payouts \
-H "x-api-key: $COMMET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"amount": 50000, "description": "March payout"}'How is this guide?