Refund Event
The refund event type is used when processing a refund for a previous transaction. Monitoring refund events helps detect refund abuse patterns.
Category: Monetary
Relevant feedback outcomes: success, fail, fraud, dispute, rejected, refund
note
Chargebacks are not a typical outcome for refund events, since the transaction is already being reversed.
Request Example
POST /api/v1/generic/validate HTTP/1.1
Host: api.sa.mubeen.ai
X-API-Key: <your_key>
Content-Type: application/json
{
"event_type": "refund",
"timestamp": "2025-03-16T14:00:00Z",
"trx_id": "trx_e5f6a7b8c9d0",
"attempt_id": "att_001",
"order_id": "order_44321",
"external_id": "refund_44321",
"device_id": "fp_789abc0123def456",
"user_id": "usr_456789",
"full_name": "Sara Al-Qahtani",
"phone_number": "+965545678901",
"ip_address": "46.186.33.120",
"ip_country": "KW",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_0) Safari/17.0",
"payment_method": "Visa",
"card_bin": "41111111",
"card_last4": "5678",
"card_expiry_month": 9,
"card_expiry_year": 2029,
"card_fingerprint": "d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9",
"card_brand": "visa",
"card_issuing_bank": "Bank AlBilad",
"card_issuer_country": "KW",
"transaction_amount": 75.00,
"currency": "USD",
"account_created_at": "2024-05-20T00:00:00Z",
"channel": "web",
"platform": "web"
}
Response Example
{
"request_id": "e5f6a7b8-c9d0-1234-ef01-456789012cde",
"decision": "log",
"risk_score": 5,
"risk_level": "low"
}
Feedback Examples
Successful Refund
{
"request_id": "e5f6a7b8-c9d0-1234-ef01-456789012cde",
"outcome": "success",
"external_id": "refund_44321"
}
Fraudulent Refund Request
{
"request_id": "e5f6a7b8-c9d0-1234-ef01-456789012cde",
"outcome": "fraud",
"outcome_details": {
"fraud_type": "refund_abuse",
"detection_method": "pattern_analysis"
},
"external_id": "refund_44321"
}
Key Fields for Refund Events
| Field | Importance | Notes |
|---|---|---|
transaction_amount | Required | Refund value |
currency | Recommended | Currency code (ISO 4217, e.g., USD). Not enforced by the API. If omitted, the amount is treated as USD, so a non-USD amount is converted wrongly and USD-based rules and reporting will be off |
user_id | Required | Customer requesting the refund |
card_fingerprint | Recommended | Links refund to original payment card |