代码调整
This commit is contained in:
		
							parent
							
								
									fc6f3533ab
								
							
						
					
					
						commit
						d9adae9639
					
				|  | @ -58,8 +58,8 @@ func TestOrder(t *testing.T) { | |||
| 			Extra:     []byte(`{}`), | ||||
| 		}, | ||||
| 	} | ||||
| 	t.Logf("%s\n", request.String()) | ||||
| 	return | ||||
| 	//t.Logf("%s\n", request.String())
 | ||||
| 	//return
 | ||||
| 	t.Run("TestOrder", func(t *testing.T) { | ||||
| 		got, err := srv.Order(context.Background(), request) | ||||
| 		if err != nil { | ||||
|  |  | |||
|  | @ -33,21 +33,25 @@ func newClient(ctx context.Context, c *Server) (*core.Client, error) { | |||
| 	if err != nil { | ||||
| 		return nil, proto.ErrorConfigFail(fmt.Sprintf("MchID[%s] get current dir error:%v", c.MchID, err)) | ||||
| 	} | ||||
| 
 | ||||
| 	filePath := fmt.Sprintf("%s/%s/%s/%s", dir, "cert", "wechat", c.MchID) | ||||
| 	if !putils.FileExists(filePath) { | ||||
| 		return nil, proto.ErrorConfigFail(fmt.Sprintf("MchID[%s]微信密钥证书信息不存在,请联系技术人员处理", c.MchID)) | ||||
| 	} | ||||
| 
 | ||||
| 	// 商户相关配置,商户API私钥
 | ||||
| 	mchPrivateKey, err := utils.LoadPrivateKeyWithPath(fmt.Sprintf("%s/%s", filePath, "wechat_private_key.pem")) | ||||
| 	if err != nil { | ||||
| 		return nil, proto.ErrorConfigFail(fmt.Sprintf("MchID[%s] load merchant private key error:%v", c.MchID, err)) | ||||
| 	} | ||||
| 
 | ||||
| 	var client *core.Client | ||||
| 	// 微信支付平台配置
 | ||||
| 	wechatPayCertificate, err := utils.LoadCertificateWithPath(fmt.Sprintf("%s/%s", filePath, "wechat_cert.pem")) | ||||
| 	if err != nil { | ||||
| 		return nil, proto.ErrorConfigFail(fmt.Sprintf("平台证书有误:%v", err)) | ||||
| 	} | ||||
| 
 | ||||
| 	client, err = core.NewClient( | ||||
| 		ctx, | ||||
| 		option.WithMerchantCredential( | ||||
|  | @ -60,5 +64,6 @@ func newClient(ctx context.Context, c *Server) (*core.Client, error) { | |||
| 	if err != nil { | ||||
| 		return nil, proto.ErrorConfigFail(fmt.Sprintf("创建 Client 失败:%v", err)) | ||||
| 	} | ||||
| 
 | ||||
| 	return client, nil | ||||
| } | ||||
|  |  | |||
|  | @ -26,24 +26,30 @@ func init() { | |||
| func GetClient(ctx context.Context, c *Server) (*core.Client, error) { | ||||
| 	instance.mutex.Lock() | ||||
| 	defer instance.mutex.Unlock() | ||||
| 
 | ||||
| 	if instance.clients[c.MchID] != nil { | ||||
| 		return instance.clients[c.MchID], nil | ||||
| 	} | ||||
| 
 | ||||
| 	var err error | ||||
| 	instance.once.Do(func() { | ||||
| 		instance.clients[c.MchID], err = newClient(ctx, c) | ||||
| 	}) | ||||
| 
 | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 
 | ||||
| 	return instance.clients[c.MchID], nil | ||||
| } | ||||
| 
 | ||||
| func (s *Server) Verify(ctx context.Context, message, signature string) error { | ||||
| 	var verifier auth.Verifier | ||||
| 	verifier = verifiers.NewSHA256WithRSAVerifier(nil) | ||||
| 
 | ||||
| 	if err := verifier.Verify(ctx, s.MchCertificateSerialNumber, message, signature); err != nil { | ||||
| 		return proto.ErrorSignFail(err.Error()) | ||||
| 	} | ||||
| 
 | ||||
| 	return nil | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue