Open CoMixCo opened 1 year ago
应该是 refund_status 吧 这个问题什么时候给更新啊
没人管吗?大家遇到这个问题是怎么解决的呢?
@zhangllee 很奇怪的是,退款接口返回的里面是status,推送通知过来的又是refund_status,而且通知里推过来的channel是空的,导致解析报错了,服了
你们怎么处理的?手撸一份?
通知里推过来的channel是空的,导致解析报错了
这个有人处理吗?
反正我是通过if notifyReq.EventType == "REFUND.SUCCESS" {
判断,然后传的【refunddomestic.STATUS_SUCCESS,】给业务层处理。
或者自己手撸一个struct用于接收 /Resource/Plaintext
'''
handler, err := mall.GetWechatPayHandler(mchid)
if err != nil {
global.GVA_LOG.Warn("微信退款回调处理失败", zap.Error(err))
return mparam.WxPayCallbackResp{Code: "failed", Message: "处理失败"}, err
}
// 解析异步通知的参数
refund := new(refunddomestic.Refund)
notifyReq, err := handler.ParseNotifyRequest(context.Background(), c.Request, refund)
if err != nil {
global.GVA_LOG.Warn("微信退款回调处理失败", zap.Error(err))
return mparam.WxPayCallbackResp{Code: "failed", Message: "验签或解密失败"}, err
}
if notifyReq.EventType == "REFUND.SUCCESS" {
// 业务处理
// 解析异步通知的参数
if err = json.Unmarshal([]byte(notifyReq.Resource.Plaintext), &refund); err != nil {
global.GVA_LOG.Warn("微信退款回调处理失败", zap.Error(err))
return mparam.WxPayCallbackResp{Code: "failed", Message: "解析参数失败"}, err
}
outRefundNo := strings.TrimPrefix(*refund.OutRefundNo, global.GVA_CONFIG.Wechat.TradeNoPrefix)
outTradeNo := strings.TrimPrefix(*refund.OutTradeNo, global.GVA_CONFIG.Wechat.TradeNoPrefix)
// 后续处理 .......................
}
'''
直到今天,这个问题依旧,是go用户量太小懒得理?这个问题很难解决吗?改个字段名就行了的,愣是不修复,搞到测试半天,测试又麻烦!
直到今天,这个问题依旧,是go用户量太小懒得理?这个问题很难解决吗?改个字段名就行了的,愣是不修复,搞到测试半天,测试又麻烦!
这个BUG 但凡你提交个commit,也不至于留到现在
/services/refunddomestic/models.go 第880行: Status *Status
json:"status"
解析失败,无法获取退款状态 json字段应该是json:"json_status"