Orders::Transaction

Refund Transaction

Changed on

Refund this charge, in full, through ClickFunnels' own refund path (the same path the in-app refund button uses) so the money actually moves back through the payment processor (Payments AI/Rebilly or Stripe).

A refund addresses a transaction because the transaction IS the charge: refundable balance and refund eligibility are tracked per transaction, and the refund is recorded against this one. A subscription order accumulates one charge per renewal and an invoice can carry more than one, so neither identifies a single charge to reverse. List an order's charges with GET /orders/{order_id}/transactions and refund the one you mean - a refundable charge has external_type sale or capture, result: approved, and status completed or partially-refunded.

Partial refunds are deliberately not offered here, so this always refunds the charge's full outstanding amount. Writing status: refunded onto an invoice is not an alternative: that is available only for external (self-managed) orders, and a local status write moves no money.

Payments AI/Rebilly records the refund synchronously, so the returned transaction already reflects it (200). Stripe only initiates the refund and confirms it in a later webhook, so the response is 202 and the returned transaction can still show its pre-refund status; poll GET /orders/transactions/{id} for the settled state. Please refer to our Orders Overview guide for more information about the different types of orders and payment processors.

post/orders/transactions/{id}/refund

Request

Path parameters

idstring required

Request body

Example request

{
  "orders_transaction": {
    "reason": "requested_by_customer"
  }
}

Response

OK - the processor refunded the charge in-request (Payments AI/Rebilly), so the returned transaction already reflects it. status becomes refunded, or partially-refunded when earlier refunds left a remaining balance.

idinteger

Transaction ID

public_idstring nullable

Transaction public ID

order_idinteger

Order ID

statusstring

Status

external_typestring nullable

Type

external_idstring

External ID

amountstring nullable

Amount

currencystring nullable

Currency

reasonstring nullable

Reason

adjusted_transaction_idstring nullable

Adjusted transaction

resultstring

Result

billing_payment_instruction_idstring nullable

Billing Payment Instruction ID

billing_payment_instruction_typestring nullable

Billing Payment Instruction Type

arnstring nullable

ARN

is_rebillboolean nullable

Is Rebill

rebill_numberstring nullable

Rebill Number

created_atstring nullable

Created

updated_atstring nullable

Updated

Example response

{
  "id": 1,
  "public_id": "NpboZw",
  "order_id": 6,
  "status": "completed",
  "external_type": "sale",
  "external_id": "4a74b081c7ff7d8d7332e54d7d2a89df",
  "amount": "100.00",
  "currency": "USD",
  "reason": null,
  "adjusted_transaction_id": null,
  "result": "approved",
  "billing_payment_instruction_id": null,
  "billing_payment_instruction_type": null,
  "arn": null,
  "is_rebill": false,
  "rebill_number": null,
  "created_at": null,
  "updated_at": null
}

Changes