Charges
Deduct money from your merchant balance.
Charges API
The Charges API allows you to deduct money from your merchant balance for internal adjustments, service fees, and platform fees. Unlike payouts or transfers, charges do not send money externally.
The Charge Object
{
"id": "ch_abc123def456",
"object": "charge",
"amount": 10,
"currency": "GHS",
"description": "Monthly platform fee",
"reference": "fee_jan_2024",
"type": "platform_fee",
"status": "succeeded",
"balance_after": 490,
"metadata": {},
"livemode": true,
"created": "2024-01-15T10:00:00Z"
}Attributes
| Attribute | Type | Description |
|---|---|---|
id | string | Unique identifier |
object | string | Always "charge" |
amount | number | Amount in GHS |
currency | string | Currency code (GHS) |
description | string | Charge description |
reference | string | Your custom reference |
type | string | service_fee, platform_fee, adjustment, other |
status | string | Always succeeded (charges are instant) |
balance_after | number | Merchant balance after charge in GHS |
metadata | object | Custom metadata |
livemode | boolean | Whether this is a live mode charge |
created | string | Creation timestamp |
Create a Charge
POST /v1/chargesRequest Body
| Parameter | Type | Required | Description |
|---|---|---|---|
amount | number | Yes | Amount in GHS (must be positive) |
currency | string | No | Currency (default: GHS) |
description | string | Yes | Charge description (max 500 chars) |
reference | string | No | Your reference (max 100 chars) |
type | string | No | service_fee (default), platform_fee, adjustment, other |
metadata | object | No | Custom metadata |
Use the X-Idempotency-Key header to prevent duplicate charges.
curl -X POST https://api.shikacreators.com/v1/charges \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{
"amount": 10,
"description": "Monthly platform fee",
"type": "platform_fee",
"reference": "fee_jan_2024"
}'const charge = await shikacreators.charges.create({
amount: 10,
description: 'Monthly platform fee',
type: 'platform_fee',
reference: 'fee_jan_2024'
})charge = client.charges.create(
amount=10,
description='Monthly platform fee',
type='platform_fee',
reference='fee_jan_2024'
)Retrieve a Charge
GET /v1/charges/:idList Charges
GET /v1/chargesQuery Parameters
| Parameter | Type | Description |
|---|---|---|
limit | integer | Number of results (1-100, default 10) |
starting_after | string | Cursor for pagination |