Stratum Fintech logov1.0

API Reference

Every endpoint, with authentication, parameters, examples and error codes.

POST/v1/payments

Create payment

Creates a payment intent and routes it to the configured authorised payment partner. Amounts are integer cents (amount_minor).

Required permission

payments:write

Authentication

Bearer secret key or OAuth 2.0 client-credentials token

Request parameters

NameInTypeDescription
Idempotency-Key*headerstringUnique key (UUID recommended). Replays with the same key return the original result.
amount_minor*bodyintegerAmount in cents. R2,500.00 = 250000.
currency*bodystringISO 4217 code. Only ZAR is supported.
merchant_id*bodystringMerchant receiving the funds.
member_idbodystringSAMBO member identifier for WRS eligibility.
referencebodystringYour 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

  • 400invalid_request
    Missing or malformed parameters.
  • 409idempotency_conflict
    Idempotency key reused with a different body.
  • 401authentication_error
    Missing or invalid API key.
  • 403permission_denied
    Key lacks the required scope for this resource.
  • 429rate_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.