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-paymentAuthentication
Requires JWT
Note
Include your JWT in the
Authorization: Bearer YOUR_TOKEN header (user-facing apps, RBAC). View authentication guide →Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | Project 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
| Code | Meaning |
|---|---|
400 | Bad request or validation error. |
401 | Authentication required or invalid token. |
500 | Internal server error. |