Refund Transaction
Changed onRefund 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.
Request
- Base URLhttps://myworkspace.myclickfunnels.com/api/v2
- Auth
- HTTP bearer
- or OAuth 2Authorization codehttps://accounts.myclickfunnels.com/oauth/authorizeToken URLhttps://accounts.myclickfunnels.com/oauth/token
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Path parameters
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.
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
- info
endpoint added
- info