跳转到主要内容

取消收款

POST/api/v1/bank/wallet/charge/{charge_uuid}/cancel/{wallet_uuid}/Bearer Token

请求头

请求头必填
AuthorizationBearer {A55_ACCESS_TOKEN}
Content-Typeapplication/json
Idempotency-Key(幂等键)UUID v4建议

路径参数

字段类型必填说明
charge_uuidstring (UUID)要取消的收款
wallet_uuidstring (UUID)拥有该收款的钱包

请求体

字段类型必填说明
reasonstring取消原因,用于对账

响应字段

字段类型说明
charge_uuidstring已取消收款的标识符
wallet_uuidstring拥有该收款的钱包
statusstring成功时为 canceled
messageobject附加详情,成功时为空对象

HTTP 状态码

状态码说明
200收款取消成功
400收款不在可取消状态
401Bearer Token(持有者令牌)无效或已过期
403该钱包权限不足
404收款或钱包未找到
409收款已取消或已结算
422验证错误
429超出速率限制
500服务器内部错误 - 请使用指数退避重试

代码示例

curl -s -X POST "https://core-manager.a55.tech/api/v1/bank/wallet/charge/a1b2c3d4-e5f6-7890-abcd-ef1234567890/cancel/f47ac10b-58cc-4372-a567-0e02b2c3d479/" \
-H "Authorization: Bearer $A55_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000" \
-d '{"reason": "客户在发货前要求取消"}'

错误响应示例

{
"charge_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "error",
"message": [
{
"code": "CANCEL_NOT_ALLOWED",
"source": "charge",
"description": "Charge has already been settled and cannot be cancelled. Use refund instead."
}
]
}

(API 原始错误信息,原文为英文)