Merge branch 'dev-lwl/wx' into test
This commit is contained in:
commit
aeeb97dc7c
|
@ -8,6 +8,7 @@ type ConfigSt struct {
|
|||
MixMysql *configcenter.MysqlConfig `json:"mix_mysql" yaml:"mix_mysql"` // mix mysql
|
||||
Crypto *configcenter.CryptoConfig `json:"crypto" yaml:"crypto"` // 账号相关加密
|
||||
Wxpay *configcenter.WxpayClientConfig `json:"wxpay" yaml:"wxpay"` // 微信支付
|
||||
WxpayTFZ *configcenter.WxpayClientConfig `json:"wxpay_tfz" yaml:"wxpay_tfz"` // 微信支付
|
||||
Alipay *configcenter.AlipayClientConfig `json:"alipay" yaml:"alipay"` // 支付宝 心意到了
|
||||
AlipayMYTS *configcenter.AlipayClientConfig `json:"alipay_myts" yaml:"alipay_myts"` // 支付宝 觅缘天使
|
||||
Apollo *configcenter.ApolloConfig `json:"apollo" yaml:"apollo"` // Apollo
|
||||
|
|
|
@ -159,7 +159,7 @@ func (s *Service) Init(c any) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
err = wxpaycli.Init(cfg.Wxpay)
|
||||
err = wxpaycli.InitMulti(cfg.Wxpay, cfg.WxpayTFZ)
|
||||
if err != nil {
|
||||
logger.Error("wxpaycli.Init fail, cfg: %v, err: %v", util.ToJson(cfg.Wxpay), err)
|
||||
return
|
||||
|
|
|
@ -68,6 +68,7 @@ CREATE INDEX ix_orderid ON vas_ch_charge (order_id);
|
|||
CREATE INDEX mid_ct ON vas_ch_income (mid, ct);
|
||||
CREATE INDEX uid_ct ON vas_ch_income (uid, ct);
|
||||
CREATE INDEX ix_orderid ON vas_ch_income (order_id);
|
||||
CREATE INDEX ix_ct ON vas_ch_income (ct);
|
||||
CREATE INDEX mid_ct ON vas_ch_withdraw (mid, ct);
|
||||
CREATE INDEX uid_ct ON vas_ch_withdraw (uid, ct);
|
||||
CREATE INDEX ix_orderid ON vas_ch_withdraw (order_id);
|
||||
|
|
|
@ -63,6 +63,15 @@ wxpay:
|
|||
notify_url: "https://api.tiefen.fun/ext/vas/wxpay_callback"
|
||||
app_secret: "ebc325109b91087e22f046bc8ac5c940"
|
||||
|
||||
wxpay_tfz:
|
||||
mchid: "1675813721"
|
||||
appid: "wxc28fd8aaf31984b6"
|
||||
serial_no: "176903F43E78B0BA5AA1F08A3BE852A5F637DC77"
|
||||
apiv3_key: "5QwY1XMK1HW3JQwGKbA3mfJ5cdsTQGjR"
|
||||
private_key_path: "/app/wishpal-ironfan/etc/mix/wxpaycert_tfz/apiclient_key.pem"
|
||||
notify_url: "https://api.tiefen.fun/ext/vas/wxpay_callback"
|
||||
app_secret: "ebc325109b91087e22f046bc8ac5c940"
|
||||
|
||||
apollo:
|
||||
app_id: "wishpal_live_service"
|
||||
cluster: "dev"
|
||||
|
|
|
@ -36,6 +36,16 @@ wxpay:
|
|||
notify_url: "https://api.wishpal.cn/ext/vas/wxpay_callback"
|
||||
app_secret: "ebc325109b91087e22f046bc8ac5c940"
|
||||
|
||||
wxpay_tfz:
|
||||
mchid: "1675813721"
|
||||
appid: "wxc28fd8aaf31984b6"
|
||||
serial_no: "176903F43E78B0BA5AA1F08A3BE852A5F637DC77"
|
||||
apiv3_key: "5QwY1XMK1HW3JQwGKbA3mfJ5cdsTQGjR"
|
||||
private_key_path: "/app/wishpal-ironfan/etc/mix/wxpaycert_tfz/apiclient_key.pem"
|
||||
notify_url: "https://api.wishpal.cn/ext/vas/wxpay_callback"
|
||||
app_secret: "ebc325109b91087e22f046bc8ac5c940"
|
||||
apiv2_key: "mot5410nh69k87e22f046bc8anv5xds8"
|
||||
|
||||
crypto:
|
||||
aes:
|
||||
private_key: "Xbz1145141919810"
|
||||
|
|
Binary file not shown.
|
@ -0,0 +1,25 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIEKDCCAxCgAwIBAgIUF2kD9D54sLpaofCKO+hSpfY33HcwDQYJKoZIhvcNAQEL
|
||||
BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT
|
||||
FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg
|
||||
Q0EwHhcNMjQwNTAyMTc1NzA2WhcNMjkwNTAxMTc1NzA2WjCBgTETMBEGA1UEAwwK
|
||||
MTY3NTgxMzcyMTEbMBkGA1UECgwS5b6u5L+h5ZWG5oi357O757ufMS0wKwYDVQQL
|
||||
DCTmiJDpg73lv4PmhI/liLDkuobnp5HmioDmnInpmZDlhazlj7gxCzAJBgNVBAYT
|
||||
AkNOMREwDwYDVQQHDAhTaGVuWmhlbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
|
||||
AQoCggEBAOaDpU37roG4zQOok/00vHtgPQdVEy/SgxqdakEEygVFXTiCh/PSmynV
|
||||
wtAiULYkDor+KdPMAqmTO/wVxlkxVWhh0tq3Wr49MWqmSGAdS749H0CKv/TxrL+y
|
||||
Bmw5OuKolGV7xYne9wJC28M0wJOJH4XFwUSJnQqOec956KdwnSWuZ/X8uI0d8Cs1
|
||||
It/HRX4tJunEDaPFLCnF4ju6wrr+kAjlZb35laDX7zmDg25/yhpxpmgeAeJgSH7K
|
||||
EJSCYlUWOpspMb4porEG5NIUxu1TfLXO4kkx3j7Diz8szdzZrTGdLcc4FjKNTdIL
|
||||
jaJxmH8eyYC2Zu2jyuF5F3vSTtACszsCAwEAAaOBuTCBtjAJBgNVHRMEAjAAMAsG
|
||||
A1UdDwQEAwID+DCBmwYDVR0fBIGTMIGQMIGNoIGKoIGHhoGEaHR0cDovL2V2Y2Eu
|
||||
aXRydXMuY29tLmNuL3B1YmxpYy9pdHJ1c2NybD9DQT0xQkQ0MjIwRTUwREJDMDRC
|
||||
MDZBRDM5NzU0OTg0NkMwMUMzRThFQkQyJnNnPUhBQ0M0NzFCNjU0MjJFMTJCMjdB
|
||||
OUQzM0E4N0FEMUNERjU5MjZFMTQwMzcxMA0GCSqGSIb3DQEBCwUAA4IBAQB8Ze+8
|
||||
G5dKUUuAaGlwBQNxwf1YPeZ7LU3lh0OKc+09cQ3yNDJXdYKdgrCI0L2dkZMnk0xo
|
||||
/gf0lxFfXiRfR5jYCYr3MRU7ooayqXEPpvwoRmTboiE9hVrpPifGeETsKJwQkvE3
|
||||
W1kpBYckkNtUBucL6c7W66q7kFtz+8wVP7gPgJ7UFjk8x3r4Zao+A3opPRTBVgls
|
||||
fxmmCu1Ud3Pf/zHKd1FCBDZepJ2ObOIUYW/0Wc+p2VbqansG1DirQ5jkmaf33mEN
|
||||
51kDz5Hw07XGz04ZVPAWkpLtjAQFF4bSVfYxTYvhOllTidZXtt2IJNGT/MQyKp98
|
||||
ufapZz95Zc/bxQ7U
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,28 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDmg6VN+66BuM0D
|
||||
qJP9NLx7YD0HVRMv0oManWpBBMoFRV04gofz0psp1cLQIlC2JA6K/inTzAKpkzv8
|
||||
FcZZMVVoYdLat1q+PTFqpkhgHUu+PR9Air/08ay/sgZsOTriqJRle8WJ3vcCQtvD
|
||||
NMCTiR+FxcFEiZ0KjnnPeeincJ0lrmf1/LiNHfArNSLfx0V+LSbpxA2jxSwpxeI7
|
||||
usK6/pAI5WW9+ZWg1+85g4Nuf8oacaZoHgHiYEh+yhCUgmJVFjqbKTG+KaKxBuTS
|
||||
FMbtU3y1zuJJMd4+w4s/LM3c2a0xnS3HOBYyjU3SC42icZh/HsmAtmbto8rheRd7
|
||||
0k7QArM7AgMBAAECggEAYQEHQFDod8iH5cE8PbLCmny+UeaYQ2ioKTwTKbdVOHCf
|
||||
MRelFJMNHsbIy4OVSYDU6eLZQTq56BiAhq23IXOkSF/aNpYwRpxDvmipTmElrbHV
|
||||
A/kfnHlTQ/wrvcE7qYRdpnM2hrVgZwAxsOzzGWL78/RrR2dNwdKBKjFYGZZHW0JE
|
||||
HB3H6KZsqPssM9COYy4JrzWOgx/dGxihMSeWbGFgjXXo7LN7bWPzS6/6nBcVrmQU
|
||||
JNjQ2Y4MIc56pjfoXwWHLUfftNL75uLr+yBVsL3qOLVTpLgIQQZyPSfj0Xg3rG7h
|
||||
hzab5gLF+TREAFYsHPR1vyDJjzGjimrHjvCWysMxaQKBgQD26GvU2tz5HNMpGeUZ
|
||||
A0DJmnKxY40sPltZES/l3mTiJzmig6kT+UGxeg3tPkU3Z/zCUFdoXWT1nNA185eD
|
||||
fFgEka3mxg1g5Iw9PmefqeHbCMs94ICKdxsnJn1PFMhIPqhms9wcjoKJGgKUj3ov
|
||||
a243HS/yh4gl6EnvMMeBTZMpZQKBgQDvAK7X9ZXb91+F/lBHrhynJjQmsbiDQcqk
|
||||
synIImWPHJ6M1h2/vJbplmaOQFPOBqQiMWepb3TtKtGcSAYXIsyUFD1OECLb/+Vn
|
||||
We/P6kVyki7UgDLkQERhNDmsdP1qzzt0UmncUjYUk2eFlfobgwSP3iZ+8aFZ10XF
|
||||
BSwJTbrwHwKBgD2kpVdNFSI0qht21ZW7FC/BGaVj/1jucIv6GIVBUtqLhH4odMwB
|
||||
zP7sRBHZHBrLIXW57TinKI+RiQIPQOKY5ritTkdxZuGr7b9UlzZriXHP7j4SkMUB
|
||||
G4xYtaxKuf4fdpe9i9StV7W3ArHoaE7yeV/VL6VTZRBhwCOxf/2uSnFpAoGAV8S1
|
||||
cKNEREIkty08SAZ9iThzYF5VdwY7J56P0monR5Xn96pNxHK6LM/Jm6Wt4PP5ZIEm
|
||||
I0fF9a6KyUx9yBNEc4C3PqqYUpg3o2uYsI7EsB1Uyz7E8aNUOSoXn+hag9XUbJQz
|
||||
QfCC4a18D8eS0HWdwEOBeY68hSST/5U1pbkA1FsCgYBQZX6MqUEybdjPnxeJn/RN
|
||||
c3wG97sGG87A6Xo2i42koX1w87LT/f9qJrR/sU6kHw/39E/vx2xkMIs6u7I9lO+d
|
||||
WsBYbtcp4ZDAI1+NwcDtkd6Q1Kbpti2MxkuC6r+1kteE80DEB4lryJ6r4HAry3k8
|
||||
uCJCasc77UvJcfVnZX5QkA==
|
||||
-----END PRIVATE KEY-----
|
|
@ -30,21 +30,43 @@ const (
|
|||
DefaultOrderTimeoutSeconds = 900 // 默认订单超时时间,单位: s
|
||||
)
|
||||
|
||||
var defaultWxpayClient *WxpayClient
|
||||
const (
|
||||
AppIdXinYiDaoLe = "1665016206"
|
||||
AppIdTieFenZone = "1675813721"
|
||||
)
|
||||
|
||||
var allWxpayClients = map[string]*WxpayClient{}
|
||||
|
||||
func GetDefaultWxpayClient() *WxpayClient {
|
||||
return allWxpayClients[AppIdTieFenZone]
|
||||
}
|
||||
|
||||
type WxpayClient struct {
|
||||
clientV3 *wxpayv3.ClientV3
|
||||
MchId string `json:"mch_id"`
|
||||
AppSecret string `json:"app_secret"`
|
||||
AppId string `json:"app_id"`
|
||||
NotifyUrl string `json:"notify_url"`
|
||||
PrivateKeyPath string `json:"private_key_path"`
|
||||
}
|
||||
|
||||
func GetDefaultWxpayClient() *WxpayClient {
|
||||
return defaultWxpayClient
|
||||
func InitMulti(cfgList ...*configcenter.WxpayClientConfig) (err error) {
|
||||
for _, cfg := range cfgList {
|
||||
var cli *WxpayClient
|
||||
cli, err = NewWxpayClient(cfg)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if cli == nil {
|
||||
err = errors.New("NewAlipayClient fail")
|
||||
return
|
||||
}
|
||||
allWxpayClients[cli.MchId] = cli
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func Init(cfg *configcenter.WxpayClientConfig) (err error) {
|
||||
func NewWxpayClient(cfg *configcenter.WxpayClientConfig) (ret *WxpayClient, err error) {
|
||||
// private key
|
||||
bs, err := os.ReadFile(cfg.PrivateKeyPath)
|
||||
if err != nil {
|
||||
|
@ -59,8 +81,9 @@ func Init(cfg *configcenter.WxpayClientConfig) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
defaultWxpayClient = &WxpayClient{
|
||||
ret = &WxpayClient{
|
||||
clientV3: wxpayCliV3,
|
||||
MchId: cfg.MchId,
|
||||
AppSecret: cfg.AppSecret,
|
||||
AppId: cfg.AppId,
|
||||
NotifyUrl: cfg.NotifyUrl,
|
||||
|
|
|
@ -20,7 +20,7 @@ func TestMain(m *testing.M) {
|
|||
fmt.Printf("%v\n", err)
|
||||
}
|
||||
|
||||
err = Init(cfg.Wxpay)
|
||||
err = InitMulti(cfg.Wxpay)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
os.Exit(1)
|
||||
|
|
Loading…
Reference in New Issue