Miracle Docs
Refunds

Create refund for payment

Creates a refund against an existing captured payment. The paymentId is taken from the URL path. Omit amount to refund the full remaining capturable amount, or specify a partial amount for a partial refund. Multiple partial refunds are supported until the captured amount is exhausted. Pass an Idempotency-Key header to safely retry without double-refunding.

POST
/v1/payments/{paymentId}/refund
AuthorizationBearer <token>

In: header

Path Parameters

paymentId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://api.miracle.com/v1/payments/string/refund" \  -H "Content-Type: application/json" \  -d '{}'
{
  "data": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0",
    "livemode": true,
    "paymentId": "472e651e-5a1e-424d-8098-23858bf03ad7",
    "status": "pending",
    "amount": {
      "currency": "string",
      "valueMinor": 0
    },
    "reason": "string",
    "merchantReference": "string",
    "statusReason": "string",
    "items": [
      {
        "id": "string",
        "productId": "string",
        "label": "string",
        "description": "string",
        "imageUrl": "string",
        "unitAmount": {
          "currency": "string",
          "valueMinor": 0
        },
        "quantity": 1,
        "taxRate": 0,
        "taxAmount": {
          "currency": "string",
          "valueMinor": 0
        },
        "metadata": {
          "property1": "string",
          "property2": "string"
        }
      }
    ],
    "metadata": {
      "property1": "string",
      "property2": "string"
    },
    "createdAt": "string",
    "updatedAt": "string"
  }
}
Empty
Empty
Empty
Empty

On this page