billing

Initialize fiat payment (app-scoped)

Same as org-level initialize-payment; projectId from path is used for scope and tx_ref. Resolves project to org and uses org's Flutterwave subaccount.

POST/api/projects/{projectId}/payment-processing/initialize-payment

Authentication

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

Path Parameters

NameTypeRequiredDescription
projectIdstringYesProject ID for payment scope and tx_ref.

Request Body

Payment amount, currency, customer (email, name), and optional metadata.

json
{
  "amount": 69.62,
  "currency": "NPR",
  "customer": {
    "email": "filomena_weber@northwind.dev",
    "name": "Dorothy McGlynn"
  },
  "metadata": {}
}
{
  "amount": 69.62,
  "currency": "NPR",
  "customer": {
    "email": "filomena_weber@northwind.dev",
    "name": "Dorothy McGlynn"
  },
  "metadata": {}
}

SDK setup

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

import { MudbaseClient } from "mudbase";

const client = new MudbaseClient();
client.setJWT("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfbW9yZ2FuX2RlIiwiZW1haWwiOiJtb3JnYW4uY2hlbkBub3J0aHdpbmQuZGV2IiwiZXhwIjoxODI1MTI5NjAwfQ.doc_preview_sig");
import { MudbaseClient } from "mudbase";

const client = new MudbaseClient();
client.setJWT("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfbW9yZ2FuX2RlIiwiZW1haWwiOiJtb3JnYW4uY2hlbkBub3J0aHdpbmQuZGV2IiwiZXhwIjoxODI1MTI5NjAwfQ.doc_preview_sig");

Example request

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

const result = await client.billing.initializePayment({
  projectId: "proj_U91kg8SEYB2A",
  amount: 538.77,
  customer: "feed reboot",
  currency: "EGP",
  metadata: "monitor input"
});
const result = await client.billing.initializePayment({
  projectId: "proj_U91kg8SEYB2A",
  amount: 538.77,
  customer: "feed reboot",
  currency: "EGP",
  metadata: "monitor input"
});

Try It 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

Responses

200Payment link and fee breakdown (same shape as org-level)
400Bad request or validation error.
401Authentication required or invalid token.
500Internal server error.

Errors

CodeMeaning
400Bad request or validation error.
401Authentication required or invalid token.
500Internal server error.
Edit this page on GitHub