Skip to content

Order.refund

POST /{namespace}/orders/{order}/refund

Refund returns all or part of an Order’s payment to the Customer and posts the reversing Entries.

Noun
Order
Mode
do
Event
Order.refunded

Inputs

InputTypeRequiredDescription
orderOrderrequiredThe paid Order.
amountmoneyThe amount. Defaults to the full payment.
reasontextrequiredWhy the money goes back.

Outputs

OutputTypeRequiredDescription
orderOrderrequiredThe refunded Order.

Effects

  • Emits Order.refunded.
  • Performed by the Billing Specialist.
  • One-way (money, customer): it waits out its delay window, and runs in the send and do modes.
  • Checks the refund Limit; above it, opens an Approval and the Action waits.

Refuses when

CheckErrorFixThen call
The input does not match the schema of the operation.invalid-inputRead the schema of the operation, then send every required field with the right type.Order.refund
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.Order.refund
The record is not in a state that allows this Verb, so the call is refused.refusedRead the record, run the Verb that moves it to an allowed state, then retry.Order.refund

When it waits

GateDefault
Decision classMedium: one-way, bounded (money, customer)
Delay window1 business hour, in which a watcher can pause, redirect or cancel it; then it runs.
LimitThe spend Limit of the Permission or Mandate it runs under.
Over the LimitIt waits pending for an Approval from the Founder. Approved, it runs; refused, it ends refused with limit-exceeded; unanswered by its deadline, it ends canceled.