How to issue a refund
- Go to Payments → Transactions.
- Find and open the transaction you want to refund.
- Click Refund.
- Enter the refund amount (must not exceed the original transaction amount).
- Optionally add an internal note explaining the reason.
- Click Confirm Refund.
Refund statuses
Refund rules
- You can only refund transactions with Completed status.
- The refund amount cannot exceed the original transaction amount.
- Partial refunds are allowed - you can refund any amount up to the original.
- You cannot refund a transaction that has already been fully refunded.
- Gateway fees from the original transaction are not refunded to the customer.
Gateway-specific behavior
For gateways marked as Delayed, the refund stays in Pending status until the gateway sends a confirmation webhook. The
RefundReconciliationJob runs periodically (via cron or queue worker) to sync pending refund statuses with the gateway.
Ledger impact
When a refund completes, OwnPay records a reversing double-entry in the ledger. The original credit to your merchant payable account is debited back, and the corresponding asset account is adjusted. Your ledger balance decreases by the refunded amount.API access
You can issue refunds programmatically with aPOST request to /payments/{id}/refund. See the Merchant API reference for the full request and response schema.
Troubleshooting
Related Pages
- Transactions - find transactions to refund
- Ledger - see the accounting impact of refunds
- Payment flow - full transaction lifecycle explanation
- Merchant API - programmatic refund endpoint