docs

Refund

A Refund returns funds from a successful Charge back to the customer's original payment method. Refunds can be full or partial, and a single Charge can be refunded multiple times up to its original amount. The Refund's `status` reflects the processor's progress as the money makes its way back: `pending` while in flight, `succeeded` once the funds have been returned, or `failed` if the processor rejected the request.

{
  "id": "re_abc123",
  "object": "refund",
  "amount": 50000,
  "chargeId": "ch_xyz789",
  "paymentIntentId": "pi_xyz789",
  "balanceTransactionId": "string",
  "failureBalanceTransactionId": "string",
  "externalRefundId": "string",
  "createdAt": "2025-03-25T12:00:00.000Z",
  "currency": "EGP",
  "presentmentDetails": {
    "amount": 80000,
    "currency": "KWD",
    "exchangeRate": 168.2,
    "exchangeRateId": "exr_3gQWCqaDsihr09Fi5MfwXL"
  },
  "status": "PENDING",
  "reason": "DUPLICATE",
  "failureReason": "lost_or_stolen_card",
  "pendingReason": "processing",
  "description": "string",
  "destinationDetails": {
    "type": "card",
    "card": {
      "reference": "string",
      "referenceStatus": "pending",
      "referenceType": "string",
      "type": "pending"
    },
    "wallet": {
      "reference": "string",
      "provider": "string"
    },
    "bankTransfer": {
      "reference": "string",
      "referenceStatus": "pending"
    },
    "kiosk": {
      "reference": "string",
      "provider": "string"
    }
  },
  "nextAction": {
    "type": "string",
    "displayDetails": {
      "emailSentAt": "string",
      "emailSentTo": "string",
      "expiresAt": "string"
    }
  },
  "instructionsEmail": "string",
  "receiptNumber": "string",
  "feeAmount": 0
}