bugfix:支付
This commit is contained in:
@@ -190,6 +190,31 @@ func TestIsOrderRefundedStatus(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// TestBuildIOSRefundQueryResponse 校验 iOS 退款问询应答结构:
|
||||
// 必须带 ErrCode/ErrMsg 并包一层 IosRefundQueryResponse,字段名与官方一致。
|
||||
// 回归防护:早期实现返回平铺的 {result_code, evidence},Apple 侧无法解析。
|
||||
func TestBuildIOSRefundQueryResponse(t *testing.T) {
|
||||
body := BuildIOSRefundQueryResponse(1, "拒绝退款", "订单 OD1 发放的权益已被使用")
|
||||
var got struct {
|
||||
ErrCode int `json:"ErrCode"`
|
||||
ErrMsg string `json:"ErrMsg"`
|
||||
Resp struct {
|
||||
ResultCode int `json:"result_code"`
|
||||
ResultInfo string `json:"result_info"`
|
||||
Evidence string `json:"evidence"`
|
||||
} `json:"IosRefundQueryResponse"`
|
||||
}
|
||||
if err := json.Unmarshal(body, &got); err != nil {
|
||||
t.Fatalf("unmarshal ios refund query response: %v, body=%s", err, body)
|
||||
}
|
||||
if got.ErrCode != 0 || got.ErrMsg != "success" {
|
||||
t.Fatalf("ErrCode/ErrMsg = %d/%q, want 0/success", got.ErrCode, got.ErrMsg)
|
||||
}
|
||||
if got.Resp.ResultCode != 1 || got.Resp.ResultInfo != "拒绝退款" || got.Resp.Evidence == "" {
|
||||
t.Fatalf("IosRefundQueryResponse mismatch: %+v", got.Resp)
|
||||
}
|
||||
}
|
||||
|
||||
// TestXPayOrderInfoUnmarshal 校验 query_order 响应解析:订单字段包在 order 子对象内,status 为数字枚举。
|
||||
// 回归防护:早期实现把字段平铺在顶层且 status 定义为 string,导致反查恒失败、订单永远停在待支付。
|
||||
func TestXPayOrderInfoUnmarshal(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user