/api/v1/merchant/collectionsCreate collection
Initiate a GHS collection via payment link or mobile-money USSD.
Authentication: Bearer API key (`sk_test_…` or `sk_live_…`)
Request body
| Field | Type | Required | Description |
|---|---|---|---|
| amount | string | Yes | Positive decimal amount in GHS (e.g. `"99.00"`). |
| method | string | — | Default `payment_link`. Use any other value for USSD mobile-money collection. |
| channel | string | — | Required for USSD: `13` (MTN), `6` (Telecel), `7` (AirtelTigo). |
| payerPhone | string | — | Required for USSD. E.164 format, e.g. `+233201234567`. |
| payerEmail | string | — | Optional. Used for payment-link notifications. |
| merchantReference | string | — | Your order or checkout reference. |
| metadata | object | — | Arbitrary key-value metadata stored with the collection. |
| expirationMinutes | integer | — | Payment-link expiry in minutes. |
curl -X POST https://api.nexuzpayz.com/api/v1/api/v1/merchant/collections \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{
"amount": "99.00",
"method": "payment_link",
"merchantReference": "ORD-10042",
"payerEmail": "customer@example.com",
"expirationMinutes": 60
}'`201 Created` — returns the collection object.
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"externalRef": "moolre-ref-abc123",
"merchantReference": "ORD-10042",
"amount": "99.00",
"currency": "GHS",
"method": "payment_link",
"channel": null,
"status": "PENDING",
"paymentUrl": "https://pay.moolre.com/...",
"environment": "SANDBOX",
"createdAt": "2026-06-26T10:00:00Z",
"completedAt": null
}Notes
- Merchant must have a GHS collection wallet configured.
- LIVE collections require merchant status `ACTIVE`.
- Statuses: `PENDING`, `REQUIRES_OTP`, `SUCCEEDED`, `FAILED`, `EXPIRED`.