Issue Refunds
Refund USDC payments via the Bags dashboard and support channels in v0.
Bags supports full and partial refunds for completed USDC payments. Refunds are sent on-chain back to the customer's wallet on the same network as the original transaction.
v0: Self-serve refunds in the merchant dashboard are gated behind a feature flag. For v0, contact Live Support on Slack or email hello@getbags.app with the transaction ID and refund amount.
How USDC refunds work
- You request a refund for a completed transaction (full or partial amount).
- Bags validates the transaction belongs to your merchant account and that your balance covers the refund.
- USDC is sent on-chain to the customer's original wallet via Coinbase CDP.
- Your merchant balance and transaction status update; a webhook may fire depending on event type.
Refunds are supported on EVM networks (Base, Polygon, Ethereum). Solana refund support varies — contact support for Solana-specific cases.
Refund via dashboard (when enabled)
When self-serve refunds are enabled for your account:
- Go to Payments in the Bags dashboard.
- Open the completed transaction.
- Click Refund and enter the amount and reason.
- Confirm — the on-chain refund is initiated asynchronously.
Refund API
The /api/refunds endpoints use dashboard session authentication (Supabase JWT from your logged-in dashboard session), not merchant API keys. They are intended for first-party dashboard use.
For programmatic refunds via API key, contact support — this may expand in a future release.
See Refunds API for request/response shapes.
Timing
| Network | Typical refund confirmation |
|---|---|
| Base / Polygon | Minutes |
| Ethereum | Minutes (higher gas) |
| Solana | Contact support |