Billing

Submit payout onboarding for organization

Validates and stores the org's payout account details, then queues the org for platform-admin review. This does not activate payments by itself; initialize-payment only starts succeeding once the org is approved. The required fields depend on the chosen country: call GET /payment-processing/countries first and collect exactly the fields that country's schema returns (bank code + account number for most African markets, plus a BVN for Nigeria, or routing number/sort code + account type + account holder name for the US/UK). Requires owner or admin role.

AuthBearer (JWT)
GroupBilling
Rate limitSee Rate Limits
POST/api/orgs/{orgId}/payment-processing/enable

SDK setup

Create a client and set credentials (JWT and/or API key) before calling the API. Match the authentication type shown above.

import { Configuration, BillingApi } from 'mudbase-sdk';

const configuration = new Configuration({
  basePath: 'https://cloud.mudbase.dev',
  accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfbW9yZ2FuX2RlIiwiZW1haWwiOiJtb3JnYW4uY2hlbkBub3J0aHdpbmQuZGV2IiwiZXhwIjoxODI1MTI5NjAwfQ.doc_preview_sig',
});

const billing = new BillingApi(configuration);
import { Configuration, BillingApi } from 'mudbase-sdk';

const configuration = new Configuration({
  basePath: 'https://cloud.mudbase.dev',
  accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfbW9yZ2FuX2RlIiwiZW1haWwiOiJtb3JnYW4uY2hlbkBub3J0aHdpbmQuZGV2IiwiZXhwIjoxODI1MTI5NjAwfQ.doc_preview_sig',
});

const billing = new BillingApi(configuration);

Example request

Call this endpoint using the client from SDK setup. Use View HTTP for a raw cURL example.

const { data: result } = await billing.enablePaymentProcessing(
  "org_1Dzo1P7c4j",
  {
    country: "Benin",
    businessName: "Clifford Hammes",
    businessMobile: "1-533-211-2406",
    accountBank: "array reboot",
    accountNumber: "driver connect",
    bvn: "interface program",
    accountType: "system back up",
    accountHolderName: "Roy Nolan"
  }
);
const { data: result } = await billing.enablePaymentProcessing(
  "org_1Dzo1P7c4j",
  {
    country: "Benin",
    businessName: "Clifford Hammes",
    businessMobile: "1-533-211-2406",
    accountBank: "array reboot",
    accountNumber: "driver connect",
    bvn: "interface program",
    accountType: "system back up",
    accountHolderName: "Roy Nolan"
  }
);

Playground

live

Test this endpoint with your own credentials. Your requests will be sent to the live API.

Use the auth endpoints to obtain a JWT.

No Request Yet

Send a request to see the full inspector

Authentication

Requires JWT
Note
Include your JWT in the Authorization: Bearer YOUR_TOKEN header (user-facing apps, RBAC). View authentication guide →

Path Parameters

NameTypeRequiredDescription
orgIdstringYes-

Request Body

json
{
  "country": "Japan",
  "businessName": "Vada Jacobson",
  "businessMobile": "1-855-263-8265 x7981",
  "accountBank": "card compress",
  "accountNumber": "transmitter calculate",
  "bvn": "port navigate",
  "accountType": "monitor compress",
  "accountHolderName": "Bruce Ratke"
}
{
  "country": "Japan",
  "businessName": "Vada Jacobson",
  "businessMobile": "1-855-263-8265 x7981",
  "accountBank": "card compress",
  "accountNumber": "transmitter calculate",
  "bvn": "port navigate",
  "accountType": "monitor compress",
  "accountHolderName": "Bruce Ratke"
}

Responses

200Onboarding submitted (or already enabled)
json
{
  "success": true,
  "message": "Stylish Keyboard designed to make you stand out with lively looks",
  "data": {
    "onboarded": false,
    "alreadyEnabled": false,
    "approvalStatus": "protocol copy"
  }
}
{
  "success": true,
  "message": "Stylish Keyboard designed to make you stand out with lively looks",
  "data": {
    "onboarded": false,
    "alreadyEnabled": false,
    "approvalStatus": "protocol copy"
  }
}
400-
401-
403-
500-

Errors

CodeMeaning
400-
401-
403-
500-
Edit this page on GitHub
Chat with us