跳转到主要内容

概览

Waffo Pancake 使用退款工单系统。买家通过 API 或客户门户申请退款,每次申请都会创建一个按照定义的生命周期流转的工单。商家在仪表盘中审核和处理工单。

业务规则

这些规则由 API 强制执行,无法覆盖。
  • 一次性产品在支付后 7 天内可申请退款。
  • 订阅不使用退款工单系统。取消在当前计费周期结束时生效。
  • 部分退款可通过在创建工单时提供自定义 amount(最小货币单位)来实现。

退款工单状态

每个退款工单按以下生命周期流转:

pending

已申请退款,等待审核。

approved

商家已批准退款。

rejected

退款申请被拒绝。

processing

退款正在由支付服务商处理。

succeeded

退款已成功完成。

failed

退款处理失败。

创建退款工单

通过 API Key 认证调用 API 来创建退款工单。

端点

POST /v1/actions/refund-ticket/create-ticket
认证方式: API Key

请求体

paymentId
string
必填
要退款的支付 ID(UUID v4)。
reason
string
必填
退款原因说明。
amount
integer
退款金额,以最小货币单位表示(如分)。省略则为全额退款。

响应

ticketId
string
创建的退款工单唯一 ID。
status
string
工单的初始状态。创建时始终为 pending
requestedAmount
integer
退款金额,以最小货币单位表示。

示例

curl -X POST https://waffo-pancake-auth-service.vercel.app/v1/actions/refund-ticket/create-ticket \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY_TOKEN" \
  -d '{
    "paymentId": "550e8400-e29b-41d4-a716-446655440000",
    "reason": "Product not as described",
    "amount": 1500
  }'

查询退款工单

使用 GraphQL 检索退款工单数据。
query {
  refundTickets(storeId: "STORE_ID") {
    id
    paymentId
    storeId
    customerId
    reason
    status
    requestedAmount
    approvedAmount
    currency
    createdAt
    updatedAt
    resolvedAt
  }
}
字段类型说明
idstring退款工单 ID
paymentIdstring关联的支付 ID
storeIdstring拥有该支付的商店
customerIdstring申请退款的买家
reasonstring买家提供的原因
statusstring当前工单状态
requestedAmountinteger买家申请的金额
approvedAmountinteger已批准的金额(可能与申请金额不同)
currencystringISO 4217 货币代码
createdAtstringISO 8601 时间戳
updatedAtstringISO 8601 时间戳
resolvedAtstringISO 8601 时间戳(未解决则为 null)

Webhook 通知

您可以配置 Webhooks 在退款工单事件发生时接收通知。有关设置说明,请参阅 Webhooks 指南

减少退款请求

准确的描述能减少”与预期不符”的退款请求。
让客户先试后买,减少购买后的后悔。
快速解决问题,避免演变为退款请求。
使用清晰的账单描述,让客户能识别扣款来源。