BagsBags Docs
Guides

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

  1. You request a refund for a completed transaction (full or partial amount).
  2. Bags validates the transaction belongs to your merchant account and that your balance covers the refund.
  3. USDC is sent on-chain to the customer's original wallet via Coinbase CDP.
  4. 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:

  1. Go to Payments in the Bags dashboard.
  2. Open the completed transaction.
  3. Click Refund and enter the amount and reason.
  4. 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

NetworkTypical refund confirmation
Base / PolygonMinutes
EthereumMinutes (higher gas)
SolanaContact support

What's next

On this page