Refunds are submitted through the HMAC integration and reverse funds from the processor back to the subscriber.
Request
API key ID assigned to the integration
RFC3339 timestamp used in the HMAC signature
Hex-encoded HMAC-SHA256 of the request
Body Parameters
ID of transaction to refund
Amount to refund (can be partial)
Admin/User ID authorizing refund
Response
Formatted refunded amount
Example
BODY='{"original_transaction_id":"txn_pos_12345","amount":"1500.00","reason":"Customer returned item","initiated_by":"admin_user_01"}'
TIMESTAMP='2026-03-10T12:00:00Z'
SIGNATURE=$(printf 'POST\n/api/v1/payment/refund\n%s\n%s' "$TIMESTAMP" "$BODY" | openssl dgst -sha256 -hmac "$OLIVE_HMAC_SECRET" -hex | sed 's/^.* //')
curl -X POST "https://olive-gateway-a6ba.onrender.com/api/v1/payment/refund" \
-H "X-API-Key-ID: $OLIVE_API_KEY_ID" \
-H "X-Timestamp: $TIMESTAMP" \
-H "X-Signature: $SIGNATURE" \
-H "Content-Type: application/json" \
-d "$BODY"
{
"success": true,
"message": "Refund processed successfully",
"refund_transaction_id": "rfnd_abc789",
"amount": "1,500.00 SLE"
}
| Status | Code | Description |
|---|
| 400 | Validation or business error | Invalid amount or refund not allowed |
| 401 | HMAC auth error | Missing/invalid X-API-Key-ID, X-Timestamp, or X-Signature |
| 500 | Internal error | Server error |
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
API key ID assigned to the integration
RFC3339 timestamp used in the HMAC signature
Hex-encoded HMAC-SHA256 of the request
ID of transaction to refund
Amount to refund (can be partial)
Admin/User ID authorizing refund
Formatted refunded amount