Overview
Waffo Pancake uses a refund ticket system. Buyers request refunds through the API or Customer Portal, and each request creates a ticket that moves through a defined lifecycle. Merchants review and resolve tickets from the dashboard.Business Rules
These rules are enforced by the API and cannot be overridden.
- One-time products are eligible for refund within 7 days of payment.
- Subscriptions do not use the refund ticket system. Cancellation takes effect at the end of the current billing period.
- Partial refunds are supported by providing a custom
amount(in smallest currency units) when creating a ticket.
Refund Ticket Statuses
Every refund ticket moves through the following lifecycle:pending
Refund requested, awaiting review.
approved
Refund approved by the merchant.
rejected
Refund request denied.
processing
Refund is being processed by the payment provider.
succeeded
Refund completed successfully.
failed
Refund processing failed.
Creating a Refund Ticket
Refund tickets are created by calling the API with API Key authentication.Endpoint
Request Body
The ID of the payment to refund (UUID v4).
A description of why the refund is being requested.
Amount to refund in smallest currency units (e.g., cents). Omit for a full refund.
Response
The unique ID of the created refund ticket.
Initial status of the ticket. Always
pending on creation.The refund amount in smallest currency units.
Example
Querying Refund Tickets
Use GraphQL to retrieve refund ticket data.| Field | Type | Description |
|---|---|---|
id | string | Refund ticket ID |
paymentId | string | Associated payment ID |
storeId | string | Store that owns the payment |
customerId | string | Buyer who requested the refund |
reason | string | Reason provided by the buyer |
status | string | Current ticket status |
requestedAmount | integer | Amount the buyer requested |
approvedAmount | integer | Amount approved (may differ from requested) |
currency | string | ISO 4217 currency code |
createdAt | string | ISO 8601 timestamp |
updatedAt | string | ISO 8601 timestamp |
resolvedAt | string | ISO 8601 timestamp (null if unresolved) |
Webhook Notifications
You can configure webhooks to receive notifications when refund ticket events occur. See the Webhooks guide for setup instructions.Reducing Refund Requests
Clear Product Descriptions
Clear Product Descriptions
Accurate descriptions reduce “not as expected” refund requests.
Trial Periods
Trial Periods
Let customers try before buying to reduce post-purchase regret.
Responsive Support
Responsive Support
Address issues quickly before they become refund requests.
Recognizable Billing
Recognizable Billing
Use a clear billing descriptor so customers recognize charges.