API Reference
Every endpoint, with authentication, parameters, examples and error codes.
POST
/v1/paymentsCreate payment
Creates a payment intent and routes it to the configured authorised payment partner. Amounts are integer cents (amount_minor).
Required permission
payments:writeAuthentication
Bearer secret key or OAuth 2.0 client-credentials tokenRequest parameters
| Name | In | Type | Description |
|---|---|---|---|
| Idempotency-Key* | header | string | Unique key (UUID recommended). Replays with the same key return the original result. |
| amount_minor* | body | integer | Amount in cents. R2,500.00 = 250000. |
| currency* | body | string | ISO 4217 code. Only ZAR is supported. |
| merchant_id* | body | string | Merchant receiving the funds. |
| member_id | body | string | SAMBO member identifier for WRS eligibility. |
| reference | body | string | Your order reference. |
1
2
3
4
5
curl -X POST "https://sandbox.api.stratumfintech.co.za/v1/payments" \ -H "Authorization: Bearer $STRATUM_SECRET_KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"amount_minor":250000,"currency":"ZAR","merchant_id":"mch_demo_7890","member_id":"mbr_demo_4567","reference":"ORDER-1001"}'
JSON request body
1
2
3
4
5
6
7
{
"amount_minor": 250000,
"currency": "ZAR",
"merchant_id": "mch_demo_7890",
"member_id": "mbr_demo_4567",
"reference": "ORDER-1001"
}Response example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"id": "txn_demo_123456",
"status": "pending",
"amount_minor": 250000,
"currency": "ZAR",
"merchant": {
"id": "mch_demo_7890",
"name": "Food Corner"
},
"member": {
"id": "mbr_demo_4567"
},
"wrs_allocation": {
"eligible_amount_minor": 9000,
"status": "estimated",
"is_invested": false
},
"environment": "sandbox"
}Error codes
- 400
invalid_request
Missing or malformed parameters. - 409
idempotency_conflict
Idempotency key reused with a different body. - 401
authentication_error
Missing or invalid API key. - 403
permission_denied
Key lacks the required scope for this resource. - 429
rate_limited
Too many requests. Retry after the Retry-After header.
Sandbox testing
Use amount_minor ending in 01 to simulate failure, 02 for pending, 03 for timeout.
Base URL: https://sandbox.api.stratumfintech.co.za/v1. Use a sk_test_ key. Production keys are disabled pending approval.
