Create billing
POST
/api/v1/billing
const url = 'https://api.dokanmazad.com/api/v1/billing';const options = { method: 'POST', headers: {'X-API-Key': '<X-API-Key>', 'Content-Type': 'application/json'}, body: '{"orderId":"cmosor2zy000313ny24hgtfy0","amount":5000,"currency":"USD","type":"invoice","description":"Deposit payment for BMW 3 Series","items":[{"type":"deposit","description":"Initial deposit","amount":3000},{"type":"fee","description":"Processing fee","amount":200}]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.dokanmazad.com/api/v1/billing \ --header 'Content-Type: application/json' \ --header 'X-API-Key: <X-API-Key>' \ --data '{ "orderId": "cmosor2zy000313ny24hgtfy0", "amount": 5000, "currency": "USD", "type": "invoice", "description": "Deposit payment for BMW 3 Series", "items": [ { "type": "deposit", "description": "Initial deposit", "amount": 3000 }, { "type": "fee", "description": "Processing fee", "amount": 200 } ] }'Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
orderId
required
Order CUID this billing belongs to
string
amount
required
Billing amount (minimum 0)
number
currency
ISO 4217 currency — USD | KRW | AED (default: USD)
string
type
Document type — invoice | receipt (default: invoice)
string
description
Human-readable description of what the payment covers
string
items
Line items array — each item: { type, description, amount }
Array
receiptFileUrl
URL of uploaded receipt/invoice document (image or PDF)
string
Examples
Exampledefault
{ "orderId": "cmosor2zy000313ny24hgtfy0", "amount": 5000, "currency": "USD", "type": "invoice", "description": "Deposit payment for BMW 3 Series", "items": [ { "type": "deposit", "description": "Initial deposit", "amount": 3000 }, { "type": "fee", "description": "Processing fee", "amount": 200 } ]}Responses
Section titled “Responses”Success
Media typeapplication/json
object
success
required
boolean
data
required
meta
object
page
integer
limit
integer
total
integer
totalPages
integer
data
required
object
id
required
Newly created billing CUID
string
orderId
required
Parent order CUID
string
amount
required
Billing amount
number
type
required
Document type (invoice | receipt)
string
status
required
Always Pending on create
string
createdAt
required
Creation timestamp
string format: date-time
Examples
Examplesuccess
{ "success": true, "data": { "id": "cmbill00000001ny11aabbcc0", "orderId": "cmosor2zy000313ny24hgtfy0", "amount": 5000, "currency": "USD", "type": "invoice", "status": "Pending", "description": "Deposit payment for BMW 3 Series", "items": [ { "type": "deposit", "description": "Initial deposit", "amount": 3000 }, { "type": "fee", "description": "Processing fee", "amount": 200 } ], "receiptFileUrl": null, "createdAt": "2026-05-01T09:00:00.000Z" }}Unauthorized — missing or invalid API key
Media typeapplication/json
object
success
required
boolean
error
required
string
statusCode
required
integer
Example
{ "success": false}Forbidden — route not in this key’s allowedRoutes
Media typeapplication/json
object
success
required
boolean
error
required
string
statusCode
required
integer
Example
{ "success": false}Rate limit exceeded
Media typeapplication/json
object
success
required
boolean
error
required
string
statusCode
required
integer
Example
{ "success": false}Headers
Section titled “Headers”Retry-After
integer
Seconds to wait before retrying
