| 
									
										
										
										
											2024-11-21 12:18:28 +08:00
										 |  |  | package pay | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							|  |  |  | 	"context" | 
					
						
							|  |  |  | 	"net/http" | 
					
						
							| 
									
										
										
										
											2025-04-09 15:58:06 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-04-27 12:17:18 +08:00
										 |  |  | 	"tyc-server/app/main/api/internal/svc" | 
					
						
							| 
									
										
										
										
											2024-11-21 12:18:28 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	"github.com/zeromicro/go-zero/core/logx" | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | type WechatPayCallbackLogic struct { | 
					
						
							|  |  |  | 	logx.Logger | 
					
						
							|  |  |  | 	ctx    context.Context | 
					
						
							|  |  |  | 	svcCtx *svc.ServiceContext | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func NewWechatPayCallbackLogic(ctx context.Context, svcCtx *svc.ServiceContext) *WechatPayCallbackLogic { | 
					
						
							|  |  |  | 	return &WechatPayCallbackLogic{ | 
					
						
							|  |  |  | 		Logger: logx.WithContext(ctx), | 
					
						
							|  |  |  | 		ctx:    ctx, | 
					
						
							|  |  |  | 		svcCtx: svcCtx, | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (l *WechatPayCallbackLogic) WechatPayCallback(w http.ResponseWriter, r *http.Request) error { | 
					
						
							| 
									
										
										
										
											2025-05-27 18:35:01 +08:00
										 |  |  | 	err := l.svcCtx.PayService.HandlePaymentCallback(l.ctx, "wechat", r) | 
					
						
							| 
									
										
										
										
											2024-11-21 12:18:28 +08:00
										 |  |  | 	if err != nil { | 
					
						
							|  |  |  | 		logx.Errorf("微信支付回调,%+v", err) | 
					
						
							|  |  |  | 		return nil | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	// 响应微信回调成功 | 
					
						
							|  |  |  | 	w.WriteHeader(http.StatusOK) | 
					
						
							|  |  |  | 	_, _ = w.Write([]byte("success")) // 确保只写入一次响应 | 
					
						
							|  |  |  | 	return nil | 
					
						
							|  |  |  | } |