1.根据财务要求配置不同门店的收款账户;
This commit is contained in:
parent
e45772ab7c
commit
8cda813a09
|
@ -87,8 +87,30 @@ const (
|
||||||
TimeFormat = "2006-01-02 15:04:05"
|
TimeFormat = "2006-01-02 15:04:05"
|
||||||
clientIp = "39.108.188.218" // 小程序服务器
|
clientIp = "39.108.188.218" // 小程序服务器
|
||||||
clientIpDev = "112.33.14.191" // 移动云服务器
|
clientIpDev = "112.33.14.191" // 移动云服务器
|
||||||
HmPayMerchantIdDeovo = "664403000021193"
|
|
||||||
HmPubKeyDeovo = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCDA4g8VFWIxEbOzxYC8ZIOgaOsLWK4Y5k9D8GwJ1Gige79LbTxbe3PH12KMc59DpCR1PnIDwlYWjIE7mZZAHgImXs0pSFihvlNS9srWk2uPlEXXQjjIZ3mnPoXtNhU0x5cYdkB8jtijcYMSGwKmdrIvpvPX3MrDKOX6dJ1T4ll+QIDAQAB"
|
// HmPayMerchantIdSwitch 任天堂项目-对私账户(密钥20240701203620)
|
||||||
|
HmPayMerchantIdSwitch = "664403000021193"
|
||||||
|
HmPubKeySwitch = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCDA4g8VFWIxEbOzxYC8ZIOgaOsLWK4Y5k9D8GwJ1Gige79LbTxbe3PH12KMc59DpCR1PnIDwlYWjIE7mZZAHgImXs0pSFihvlNS9srWk2uPlEXXQjjIZ3mnPoXtNhU0x5cYdkB8jtijcYMSGwKmdrIvpvPX3MrDKOX6dJ1T4ll+QIDAQAB"
|
||||||
|
HmPubKeySwitchFp = "./config/hm_pay/switch_private_key.pem"
|
||||||
|
TestHmPubKeySwitchFp = "/Users/max/Documents/code/deovo/mh_goadmin_server/config/hm_pay/switch_private_key.pem"
|
||||||
|
|
||||||
|
// HmPayMerchantIdSwitchPub 任天堂项目-对公账户(密钥20240819161949)
|
||||||
|
HmPayMerchantIdSwitchPub = "664403000021225"
|
||||||
|
HmPubKeySwitchPub = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCBsfp+BrCGD39noWjW4z0VvvsFCWzU8vhAWlwGo/dkPxgQLXBNaTApUpavbQ6m/S0x5hQjcKwQ3UrJLDV70SAqPuO3QP0iagMKo2M6ROCO69L06In4gbqTTtTOb/1xpkbsVHd/9Wy/fyxreg1LY+MLzysH+OHAjjjiAYVL4e765QIDAQAB"
|
||||||
|
HmPubKeySwitchPubFp = "./config/hm_pay/switch_pub_private_key.pem"
|
||||||
|
TestHmPubKeySwitchPubFp = "/Users/max/Documents/code/deovo/mh_goadmin_server/config/hm_pay/switch_pub_private_key.pem"
|
||||||
|
|
||||||
|
// HmPayMerchantIdJBL 哈曼项目-对私账户(密钥20240820145322)
|
||||||
|
HmPayMerchantIdJBL = "664403000021330"
|
||||||
|
HmPubKeyJBL = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCBhzboiNtCxDF3QXdPGx5aS2UjXSqq1p2JsIe+PhCWLdaNHoQxzTS0s41KuWbSDpSmtUhutBJZ1QBy+84iLmLKJ5E7UfUIGbrI309hJLQxQey655wWYBtkOVpq6aozjjnnjQjDbYG1WuFmLA03mzQ51VLr4555ioo70hredjLaVQIDAQAB"
|
||||||
|
HmPubKeyJBLFp = "./config/hm_pay/jbl_private_key.pem"
|
||||||
|
TestHmPubKeyJBLFp = "/Users/max/Documents/code/deovo/mh_goadmin_server/config/hm_pay/jbl_private_key.pem"
|
||||||
|
|
||||||
|
// HmPayMerchantIdJBLPub 哈曼项目-对公账户
|
||||||
|
HmPayMerchantIdJBLPub = "664403000021340"
|
||||||
|
HmPubKeyJBLPub = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIjqYgPO1kj3NI0WEfOCnKYUHu4EkARnbiJ2FKosajpP8eceaL1u4JOelNG+RN7cldvmWEtefZCPNOHAHddQLfEnRZ3xyzdRdV0A3vXykyY6UMWgRlPnHOslAm8OUpOWubDzQTmfr88R38EUrHG4HYvRVmQb/s/LQjsuS863vSbwIDAQAB"
|
||||||
|
HmPubKeyJBLPubFp = "./config/hm_pay/jbl_pub_private_key.pem"
|
||||||
|
TestHmPubKeyJBLPubFp = "/Users/max/Documents/code/deovo/mh_goadmin_server/config/hm_pay/jbl_pub_private_key.pem"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -698,10 +720,9 @@ type HmPayUnifiedOrderRsp struct {
|
||||||
Sign string `json:"sign"`
|
Sign string `json:"sign"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func ParsePrivateKeyDeovo() (*rsa.PrivateKey, error) {
|
func ParsePrivateKeyDeovo(storeId uint32) (*rsa.PrivateKey, error) {
|
||||||
//fp := "/Users/max/Documents/code/deovo/mh_goadmin_server/config/hm_pay/deovo_private_key.pem"
|
storeKey := getStoreKeyConfig(storeId)
|
||||||
fp := "./config/hm_pay/deovo_private_key.pem"
|
privateKey, err := os.ReadFile(storeKey.FP)
|
||||||
privateKey, err := os.ReadFile(fp)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Errorf("read file err:", err)
|
logger.Errorf("read file err:", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -722,12 +743,12 @@ func ParsePrivateKeyDeovo() (*rsa.PrivateKey, error) {
|
||||||
return priKey.(*rsa.PrivateKey), nil
|
return priKey.(*rsa.PrivateKey), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func Sha1withRsaDeovo(signContent string) (string, error) {
|
func Sha1withRsaDeovo(storeId uint32, signContent string) (string, error) {
|
||||||
hash := crypto.SHA1
|
hash := crypto.SHA1
|
||||||
shaNew := hash.New()
|
shaNew := hash.New()
|
||||||
shaNew.Write([]byte(signContent))
|
shaNew.Write([]byte(signContent))
|
||||||
hashed := shaNew.Sum(nil)
|
hashed := shaNew.Sum(nil)
|
||||||
priKey, err := ParsePrivateKeyDeovo()
|
priKey, err := ParsePrivateKeyDeovo(storeId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Errorf("parse err:", err)
|
logger.Errorf("parse err:", err)
|
||||||
return "", err
|
return "", err
|
||||||
|
@ -741,7 +762,7 @@ func Sha1withRsaDeovo(signContent string) (string, error) {
|
||||||
return b64.StdEncoding.EncodeToString(signature), nil
|
return b64.StdEncoding.EncodeToString(signature), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func GenHmPaySignDeovo(m map[string]string) (string, error) {
|
func GenHmPaySignDeovo(storeId uint32, m map[string]string) (string, error) {
|
||||||
delete(m, "sign")
|
delete(m, "sign")
|
||||||
var signData []string
|
var signData []string
|
||||||
for k, v := range m {
|
for k, v := range m {
|
||||||
|
@ -765,7 +786,7 @@ func GenHmPaySignDeovo(m map[string]string) (string, error) {
|
||||||
//logger.Info("签字符串1:", logger.Field("signStr", signStr))
|
//logger.Info("签字符串1:", logger.Field("signStr", signStr))
|
||||||
fmt.Println("签字符串1:", signStr)
|
fmt.Println("签字符串1:", signStr)
|
||||||
|
|
||||||
signature, err := Sha1withRsaDeovo(signStr)
|
signature, err := Sha1withRsaDeovo(storeId, signStr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Errorf("signature err:", err)
|
logger.Errorf("signature err:", err)
|
||||||
return "", err
|
return "", err
|
||||||
|
@ -905,7 +926,7 @@ func HmPayUnifiedOrder(r HmJsPayUnifiedOrderReq) (HmPayUnifiedOrderRsp, error) {
|
||||||
return hmPayUnifiedOrderRsp, nil
|
return hmPayUnifiedOrderRsp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func HmVerifySha1RsaDeovo(signContent, signBase string) error {
|
func HmVerifySha1RsaDeovo(storeId uint32, signContent, signBase string) error {
|
||||||
//fp := "/Users/li/mh/mh_server/pack/configs/hm_pay/public_key.pme"
|
//fp := "/Users/li/mh/mh_server/pack/configs/hm_pay/public_key.pme"
|
||||||
//publicKeyString, err := ioutil.ReadFile(fp)
|
//publicKeyString, err := ioutil.ReadFile(fp)
|
||||||
//if err != nil {
|
//if err != nil {
|
||||||
|
@ -913,7 +934,8 @@ func HmVerifySha1RsaDeovo(signContent, signBase string) error {
|
||||||
// return err
|
// return err
|
||||||
//}
|
//}
|
||||||
|
|
||||||
block, _ := pem.Decode([]byte(FormatPrivateKey(HmPubKeyDeovo)))
|
storeKey := getStoreKeyConfig(storeId)
|
||||||
|
block, _ := pem.Decode([]byte(FormatPrivateKey(storeKey.PubKey)))
|
||||||
if block == nil {
|
if block == nil {
|
||||||
fmt.Println("decode block is nil")
|
fmt.Println("decode block is nil")
|
||||||
return errors.New("decode block is nil")
|
return errors.New("decode block is nil")
|
||||||
|
@ -1021,6 +1043,50 @@ func ToSignContent(s interface{}) (string, error) {
|
||||||
return signStr, nil
|
return signStr, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type StoreKeyConfig struct {
|
||||||
|
AppID string
|
||||||
|
FP string
|
||||||
|
PubKey string
|
||||||
|
}
|
||||||
|
|
||||||
|
func getStoreKeyConfig(storeId uint32) StoreKeyConfig {
|
||||||
|
var config StoreKeyConfig
|
||||||
|
|
||||||
|
switch storeId {
|
||||||
|
case 19, 23, 27, 28: // 汕头万象城, 海雅缤纷城, 布吉万象汇, 大运天地
|
||||||
|
config = StoreKeyConfig{
|
||||||
|
AppID: HmPayMerchantIdSwitchPub,
|
||||||
|
FP: HmPubKeySwitchPubFp,
|
||||||
|
PubKey: HmPubKeySwitchPub,
|
||||||
|
}
|
||||||
|
case 13: // 万象天地
|
||||||
|
config = StoreKeyConfig{
|
||||||
|
AppID: HmPayMerchantIdSwitch,
|
||||||
|
FP: HmPubKeySwitchFp,
|
||||||
|
PubKey: HmPubKeySwitch,
|
||||||
|
}
|
||||||
|
case 29: // JBL哈曼店
|
||||||
|
now := time.Now()
|
||||||
|
start := time.Date(now.Year(), now.Month(), now.Day(), 16, 30, 0, 0, now.Location())
|
||||||
|
end := time.Date(now.Year(), now.Month(), now.Day(), 23, 59, 59, 0, now.Location())
|
||||||
|
if now.After(start) && now.Before(end) {
|
||||||
|
config = StoreKeyConfig{
|
||||||
|
AppID: HmPayMerchantIdJBLPub,
|
||||||
|
FP: HmPubKeyJBLPubFp,
|
||||||
|
PubKey: HmPubKeyJBLPub,
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
config = StoreKeyConfig{
|
||||||
|
AppID: HmPayMerchantIdJBL,
|
||||||
|
FP: HmPubKeyJBLFp,
|
||||||
|
PubKey: HmPubKeyJBL,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return config
|
||||||
|
}
|
||||||
|
|
||||||
// HmJsPayBToCOrder 河马刷卡支付(B扫C)
|
// HmJsPayBToCOrder 河马刷卡支付(B扫C)
|
||||||
func HmJsPayBToCOrder(storeId uint32, orderId string, totalFee float64, authCode, notifyUrl string) (*HmPayBToCOrderDetail, error) {
|
func HmJsPayBToCOrder(storeId uint32, orderId string, totalFee float64, authCode, notifyUrl string) (*HmPayBToCOrderDetail, error) {
|
||||||
now := time.Now().Local()
|
now := time.Now().Local()
|
||||||
|
@ -1033,9 +1099,11 @@ func HmJsPayBToCOrder(storeId uint32, orderId string, totalFee float64, authCode
|
||||||
// return nil, errors.New("NotifyUrl is null")
|
// return nil, errors.New("NotifyUrl is null")
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
storeKey := getStoreKeyConfig(storeId)
|
||||||
|
|
||||||
unifiedOrderReq := HmJsPayUnifiedOrderReq{}
|
unifiedOrderReq := HmJsPayUnifiedOrderReq{}
|
||||||
publicPara := HmPayPublicPara{
|
publicPara := HmPayPublicPara{
|
||||||
AppId: HmPayMerchantIdDeovo,
|
AppId: storeKey.AppID,
|
||||||
//SubAppId: HmWxSubMerchantId,
|
//SubAppId: HmWxSubMerchantId,
|
||||||
Method: "trade.pay",
|
Method: "trade.pay",
|
||||||
//Charset: "UTF-8",
|
//Charset: "UTF-8",
|
||||||
|
@ -1080,7 +1148,7 @@ func HmJsPayBToCOrder(storeId uint32, orderId string, totalFee float64, authCode
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
sign, err := GenHmPaySignDeovo(m)
|
sign, err := GenHmPaySignDeovo(storeId, m)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("HmJsPayUnifiedOrder GenHmPaySign err:", logger.Field("err", err))
|
logger.Error("HmJsPayUnifiedOrder GenHmPaySign err:", logger.Field("err", err))
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -1099,7 +1167,7 @@ func HmJsPayBToCOrder(storeId uint32, orderId string, totalFee float64, authCode
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
err = HmVerifySha1RsaDeovo(signContent, unifiedOrderResp.Sign)
|
err = HmVerifySha1RsaDeovo(storeId, signContent, unifiedOrderResp.Sign)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Errorf("HmVerifySha1Rsa err:", err)
|
logger.Errorf("HmVerifySha1Rsa err:", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -1118,13 +1186,14 @@ func HmJsPayBToCOrder(storeId uint32, orderId string, totalFee float64, authCode
|
||||||
}
|
}
|
||||||
|
|
||||||
// HmQueryOrder 订单查询
|
// HmQueryOrder 订单查询
|
||||||
func HmQueryOrder(orderId string) (*HmPayTradeQueryResp, error) {
|
func HmQueryOrder(orderId string, storeId uint32) (*HmPayTradeQueryResp, error) {
|
||||||
now := time.Now().Local()
|
now := time.Now().Local()
|
||||||
nonce := GenRandStr(NonceStringLength)
|
nonce := GenRandStr(NonceStringLength)
|
||||||
|
|
||||||
|
storeKey := getStoreKeyConfig(storeId)
|
||||||
unifiedOrderReq := HmJsPayUnifiedOrderReq{}
|
unifiedOrderReq := HmJsPayUnifiedOrderReq{}
|
||||||
publicPara := HmPayPublicPara{
|
publicPara := HmPayPublicPara{
|
||||||
AppId: HmPayMerchantIdDeovo,
|
AppId: storeKey.AppID,
|
||||||
Method: "trade.query",
|
Method: "trade.query",
|
||||||
SignType: "RSA",
|
SignType: "RSA",
|
||||||
Sign: "",
|
Sign: "",
|
||||||
|
@ -1149,7 +1218,7 @@ func HmQueryOrder(orderId string) (*HmPayTradeQueryResp, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
sign, err := GenHmPaySignDeovo(m)
|
sign, err := GenHmPaySignDeovo(storeId, m)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("HmJsPayUnifiedOrder GenHmPaySign err:", logger.Field("err", err))
|
logger.Error("HmJsPayUnifiedOrder GenHmPaySign err:", logger.Field("err", err))
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -1167,7 +1236,7 @@ func HmQueryOrder(orderId string) (*HmPayTradeQueryResp, error) {
|
||||||
logger.Errorf("ToSignContent err:", err)
|
logger.Errorf("ToSignContent err:", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
err = HmVerifySha1RsaDeovo(signContent, unifiedOrderResp.Sign)
|
err = HmVerifySha1RsaDeovo(storeId, signContent, unifiedOrderResp.Sign)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Errorf("HmVerifySha1Rsa err:", err)
|
logger.Errorf("HmVerifySha1Rsa err:", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -1187,13 +1256,13 @@ func HmQueryOrder(orderId string) (*HmPayTradeQueryResp, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// HmCancelOrder 订单撤销
|
// HmCancelOrder 订单撤销
|
||||||
func HmCancelOrder(orderId string) (*HmPayTradeCancelResp, error) {
|
func HmCancelOrder(orderId string, storeId uint32) (*HmPayTradeCancelResp, error) {
|
||||||
now := time.Now().Local()
|
now := time.Now().Local()
|
||||||
nonce := GenRandStr(NonceStringLength)
|
nonce := GenRandStr(NonceStringLength)
|
||||||
|
|
||||||
unifiedOrderReq := HmJsPayUnifiedOrderReq{}
|
unifiedOrderReq := HmJsPayUnifiedOrderReq{}
|
||||||
publicPara := HmPayPublicPara{
|
publicPara := HmPayPublicPara{
|
||||||
AppId: HmPayMerchantIdDeovo,
|
AppId: HmPayMerchantIdSwitch,
|
||||||
Method: "trade.cancel",
|
Method: "trade.cancel",
|
||||||
SignType: "RSA",
|
SignType: "RSA",
|
||||||
Sign: "",
|
Sign: "",
|
||||||
|
@ -1218,7 +1287,7 @@ func HmCancelOrder(orderId string) (*HmPayTradeCancelResp, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
sign, err := GenHmPaySignDeovo(m)
|
sign, err := GenHmPaySignDeovo(storeId, m)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("HmJsPayUnifiedOrder GenHmPaySign err:", logger.Field("err", err))
|
logger.Error("HmJsPayUnifiedOrder GenHmPaySign err:", logger.Field("err", err))
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -1236,7 +1305,7 @@ func HmCancelOrder(orderId string) (*HmPayTradeCancelResp, error) {
|
||||||
logger.Errorf("ToSignContent err:", err)
|
logger.Errorf("ToSignContent err:", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
err = HmVerifySha1RsaDeovo(signContent, unifiedOrderResp.Sign)
|
err = HmVerifySha1RsaDeovo(storeId, signContent, unifiedOrderResp.Sign)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Errorf("HmVerifySha1Rsa err:", err)
|
logger.Errorf("HmVerifySha1Rsa err:", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
|
@ -43,7 +43,7 @@ func TestHmJsPayBToCOrder(t *testing.T) {
|
||||||
func TestHmQueryOrder(t *testing.T) {
|
func TestHmQueryOrder(t *testing.T) {
|
||||||
orderId := "sale2024070569804727"
|
orderId := "sale2024070569804727"
|
||||||
|
|
||||||
order, err := HmQueryOrder(orderId)
|
order, err := HmQueryOrder(orderId, 13)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("err:", err)
|
fmt.Println("err:", err)
|
||||||
}
|
}
|
||||||
|
@ -55,7 +55,7 @@ func TestHmQueryOrder(t *testing.T) {
|
||||||
func TestHmCancelOrder(t *testing.T) {
|
func TestHmCancelOrder(t *testing.T) {
|
||||||
orderId := "sale2023122225067733"
|
orderId := "sale2023122225067733"
|
||||||
|
|
||||||
order, err := HmCancelOrder(orderId)
|
order, err := HmCancelOrder(orderId, 13)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("err:", err)
|
fmt.Println("err:", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -2062,9 +2062,19 @@ func QueryErpOrderPayStatus(billSn string) (*ErpOrderPayResp, error) {
|
||||||
resp := &ErpOrderPayResp{
|
resp := &ErpOrderPayResp{
|
||||||
Status: Paying,
|
Status: Paying,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 查询订单信息
|
||||||
|
var orderInfo ErpOrder
|
||||||
|
err := orm.Eloquent.Table("erp_order").Where("bill_sn = ?", billSn).Find(&orderInfo).Error
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("未查询到订单:", logger.Field("err", err))
|
||||||
|
resp.Status = PayFailed
|
||||||
|
return resp, errors.New("未查询到待支付订单")
|
||||||
|
}
|
||||||
|
|
||||||
// 查询待支付订单
|
// 查询待支付订单
|
||||||
var orderRecordInfo ErpOrderRecord
|
var orderRecordInfo ErpOrderRecord
|
||||||
err := orm.Eloquent.Table("erp_order_record").Where("bill_sn = ? and status in (?)", billSn, []string{Paying, PayOk}).
|
err = orm.Eloquent.Table("erp_order_record").Where("bill_sn = ? and status in (?)", billSn, []string{Paying, PayOk}).
|
||||||
Find(&orderRecordInfo).Error
|
Find(&orderRecordInfo).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("未查询到订单:", logger.Field("err", err))
|
logger.Error("未查询到订单:", logger.Field("err", err))
|
||||||
|
@ -2085,7 +2095,7 @@ func QueryErpOrderPayStatus(billSn string) (*ErpOrderPayResp, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询支付状态
|
// 查询支付状态
|
||||||
hmQueryResp, err := pay.HmQueryOrder(orderRecordInfo.OutOrderNo)
|
hmQueryResp, err := pay.HmQueryOrder(orderRecordInfo.OutOrderNo, orderInfo.StoreId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("查询失败:", logger.Field("err", err))
|
logger.Error("查询失败:", logger.Field("err", err))
|
||||||
return resp, err
|
return resp, err
|
||||||
|
|
3
config/hm_pay/jbl_private_key.pem
Normal file
3
config/hm_pay/jbl_private_key.pem
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
-----BEGIN RSA PUBLIC KEY-----
|
||||||
|
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCZqJtyqYd4HcYPNQnR2/IDDgcUFXjWs0kDMIre7AF6zNAcFD/vTOCcEzmb0scLhduoy6sEXj6lxdAuNYXKhVJIh2XRdORVMLqtdgeGN3W5rohQSC/8kWt6VmcXJZQw5YDdbSpacSa0djLxX8+lJuQwrkkNQKb41/uGifCwvnpF9sR8DqF9iDQn3LNoV2AkkCmXfXCPh2GJD1DOXes81dxzqWAc1kCSyGIPNgWgspV7rU4Zm5VpnomptxvMnIr3F+HXxM4zVk48JHwA6+FwQaw/G/XdqiZTwFtm65VbEEYrmsj8UYlxzeNOa6xv20AsmhwYJIMAi3Q+ziH1pVDGN1+3AgMBAAECggEAReUnSKIK6D2K4VH79IT68h7IY39c5zTIanYDRWHPTn+pzov7hSvQI86u7s2TEw/BmmeClEsWbiusBcj84eGBS1KjowJr9sBiuhKtW4UQvPTCNtqPUXEIla6F2EaUwSU0WASXNmqv83istZUii/pD5EzzF98n1JvSYyGN5afPUNE3liMI+xsM1WdVuzB+hewLBS/98cFBDcrHbakxjFiBYiyuo3vwvu4JpmtoLlMB/J9cDNFi2Xu12kk2x1wEFvpErDd8fZrQny/Qvj9tt8O+GZSPQqHFHxooRRubCkI6UWz3Qlx0GW3H5mRFYz1bqi4SD7BfTiS/LnmIU0UwSjrwsQKBgQDmhT6MPBUfNCREBvYyDu1qaRwRpXH78PvZKPgeaTzZqf8f9+2B97/xEQ1BZoDgjK3RG6CIrHmqjW1+uAFtsU/DvfSq49HlPV2Fdqt16vAeYIU2dnWCkNyl5eWlfxOLwWVqclsiHwHY9RZbmrg7/yW3oUqCF+9Gmd49Oogg4cDQLwKBgQCqpH820p6uRtqcphpYQPrws/L+zlX8Ddh2EiBcPZvu1VOCr9CEdhDguoP6Igk9d+eMnqXW6fczXtS88YuRNiqrg7hynWKtP4XPj6bTUMA9IK5Aum9NdWt7UmT9b+3iV0Dp28/TLIy0jOht0cFpkJTpNfypmIO+h5INPVIkFva++QKBgQClbkoM6bFey1SbXUOheQT4sKXsJAdA/xg+KCCn8m4w5saocoyIEPw2TD5vCNjETTEQN/tlGiHWO9iwb+zWg8DygIfte8FN+lP7S8aQwSHBKxNummSKZttyUyITOrcUPJ5DXf345re0s25wHwDITbsLpTyLUBHvYM0Us8StlFWDEQKBgAxJgfuBmPl1kqI696SpMSiJ3JJqaxiWKqL91SSvLv44kCXV4Q7YrYhxBbXKI54wdxTSC6D5AdrKFklwnxsaqmHlPy/Jk2RkMY9riZintN/x7XotsnwCW3XqzejN2XQ10i/EqydKiuspRkc6FlIynfZY89OGbt4WRvb7FmIQ4T2JAoGBAIVfna3AOKOngLHyjsBMRtpXsipV3rYKatuW5jMPP2WsJRAdn/I5VNxYDB4Su5/ieHjKE49cESeMsZbBB5myO4nUiLiZj3Pmvz7rmlTlGXtOS9anT6vYvWnKk8QSQJAWowE8AIHfN5m4pmZqRo4Es4gQvQt+vNavYEHt/+qWgn4m
|
||||||
|
-----END RSA PUBLIC KEY-----
|
3
config/hm_pay/jbl_pub_private_key.pem
Normal file
3
config/hm_pay/jbl_pub_private_key.pem
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
-----BEGIN RSA PUBLIC KEY-----
|
||||||
|
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCZqJtyqYd4HcYPNQnR2/IDDgcUFXjWs0kDMIre7AF6zNAcFD/vTOCcEzmb0scLhduoy6sEXj6lxdAuNYXKhVJIh2XRdORVMLqtdgeGN3W5rohQSC/8kWt6VmcXJZQw5YDdbSpacSa0djLxX8+lJuQwrkkNQKb41/uGifCwvnpF9sR8DqF9iDQn3LNoV2AkkCmXfXCPh2GJD1DOXes81dxzqWAc1kCSyGIPNgWgspV7rU4Zm5VpnomptxvMnIr3F+HXxM4zVk48JHwA6+FwQaw/G/XdqiZTwFtm65VbEEYrmsj8UYlxzeNOa6xv20AsmhwYJIMAi3Q+ziH1pVDGN1+3AgMBAAECggEAReUnSKIK6D2K4VH79IT68h7IY39c5zTIanYDRWHPTn+pzov7hSvQI86u7s2TEw/BmmeClEsWbiusBcj84eGBS1KjowJr9sBiuhKtW4UQvPTCNtqPUXEIla6F2EaUwSU0WASXNmqv83istZUii/pD5EzzF98n1JvSYyGN5afPUNE3liMI+xsM1WdVuzB+hewLBS/98cFBDcrHbakxjFiBYiyuo3vwvu4JpmtoLlMB/J9cDNFi2Xu12kk2x1wEFvpErDd8fZrQny/Qvj9tt8O+GZSPQqHFHxooRRubCkI6UWz3Qlx0GW3H5mRFYz1bqi4SD7BfTiS/LnmIU0UwSjrwsQKBgQDmhT6MPBUfNCREBvYyDu1qaRwRpXH78PvZKPgeaTzZqf8f9+2B97/xEQ1BZoDgjK3RG6CIrHmqjW1+uAFtsU/DvfSq49HlPV2Fdqt16vAeYIU2dnWCkNyl5eWlfxOLwWVqclsiHwHY9RZbmrg7/yW3oUqCF+9Gmd49Oogg4cDQLwKBgQCqpH820p6uRtqcphpYQPrws/L+zlX8Ddh2EiBcPZvu1VOCr9CEdhDguoP6Igk9d+eMnqXW6fczXtS88YuRNiqrg7hynWKtP4XPj6bTUMA9IK5Aum9NdWt7UmT9b+3iV0Dp28/TLIy0jOht0cFpkJTpNfypmIO+h5INPVIkFva++QKBgQClbkoM6bFey1SbXUOheQT4sKXsJAdA/xg+KCCn8m4w5saocoyIEPw2TD5vCNjETTEQN/tlGiHWO9iwb+zWg8DygIfte8FN+lP7S8aQwSHBKxNummSKZttyUyITOrcUPJ5DXf345re0s25wHwDITbsLpTyLUBHvYM0Us8StlFWDEQKBgAxJgfuBmPl1kqI696SpMSiJ3JJqaxiWKqL91SSvLv44kCXV4Q7YrYhxBbXKI54wdxTSC6D5AdrKFklwnxsaqmHlPy/Jk2RkMY9riZintN/x7XotsnwCW3XqzejN2XQ10i/EqydKiuspRkc6FlIynfZY89OGbt4WRvb7FmIQ4T2JAoGBAIVfna3AOKOngLHyjsBMRtpXsipV3rYKatuW5jMPP2WsJRAdn/I5VNxYDB4Su5/ieHjKE49cESeMsZbBB5myO4nUiLiZj3Pmvz7rmlTlGXtOS9anT6vYvWnKk8QSQJAWowE8AIHfN5m4pmZqRo4Es4gQvQt+vNavYEHt/+qWgn4m
|
||||||
|
-----END RSA PUBLIC KEY-----
|
3
config/hm_pay/jbl_pub_public_key.pem
Normal file
3
config/hm_pay/jbl_pub_public_key.pem
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
-----BEGIN RSA PUBLIC KEY-----
|
||||||
|
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmaibcqmHeB3GDzUJ0dvyAw4HFBV41rNJAzCK3uwBeszQHBQ/70zgnBM5m9LHC4XbqMurBF4+pcXQLjWFyoVSSIdl0XTkVTC6rXYHhjd1ua6IUEgv/JFrelZnFyWUMOWA3W0qWnEmtHYy8V/PpSbkMK5JDUCm+Nf7honwsL56RfbEfA6hfYg0J9yzaFdgJJApl31wj4dhiQ9Qzl3rPNXcc6lgHNZAkshiDzYFoLKVe61OGZuVaZ6JqbcbzJyK9xfh18TOM1ZOPCR8AOvhcEGsPxv13aomU8BbZuuVWxBGK5rI/FGJcc3jTmusb9tALJocGCSDAIt0Ps4h9aVQxjdftwIDAQAB
|
||||||
|
-----END RSA PUBLIC KEY-----
|
3
config/hm_pay/jbl_public_key.pem
Normal file
3
config/hm_pay/jbl_public_key.pem
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
-----BEGIN RSA PUBLIC KEY-----
|
||||||
|
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmaibcqmHeB3GDzUJ0dvyAw4HFBV41rNJAzCK3uwBeszQHBQ/70zgnBM5m9LHC4XbqMurBF4+pcXQLjWFyoVSSIdl0XTkVTC6rXYHhjd1ua6IUEgv/JFrelZnFyWUMOWA3W0qWnEmtHYy8V/PpSbkMK5JDUCm+Nf7honwsL56RfbEfA6hfYg0J9yzaFdgJJApl31wj4dhiQ9Qzl3rPNXcc6lgHNZAkshiDzYFoLKVe61OGZuVaZ6JqbcbzJyK9xfh18TOM1ZOPCR8AOvhcEGsPxv13aomU8BbZuuVWxBGK5rI/FGJcc3jTmusb9tALJocGCSDAIt0Ps4h9aVQxjdftwIDAQAB
|
||||||
|
-----END RSA PUBLIC KEY-----
|
3
config/hm_pay/switch_pub_private_key.pem
Normal file
3
config/hm_pay/switch_pub_private_key.pem
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
-----BEGIN RSA PUBLIC KEY-----
|
||||||
|
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCVdPz3OdVbN/XDm0zRzGiQ3vw1eB387D2ePMP2wGcbo7zZypLvsQwa7qzz6b0+THy697VEmMOoCM7SXUv5vsqDK5dmOQK66RLhUfv/DYK5yxcZlGYwYjmnT79W0Yppu9BmtQzMeggp2+LHHCfcc39krZJvlLagLEVS1AikD9p9RcjaGFfagNNetFOjxzQP6Zdi3SsBqokAW2zcu6LH02ERaZl3fSk5F4bjrIpkFipkprJoZzXfunui0hCKO6jQrCZ56YRpFY1XlPohALS5tP4VI8cjJXrOysdIX9y88mLtD5Ts1ZYJHudkbu4/xkQzbzxyLnQtajQnaXnIFu+ML6ZJAgMBAAECggEASH/Sgl7kl3ZC2ptIHXFpu/TfJVTaPymeDldtvBHDMo4v+vogYvNgauQis8NL0J+r1cp5fQgZyTZUlYk6ZLDfbdfEforjPyX2yaRKeIPmSRgyYW8yTwAm9Xli2MuWuAmqY1gqGDqOITgP/wQydeb1AjKMmWHrYTF4g2BlvKgQFbn4JaEGScslm1CIgGWt+rt9wJ3q9A+3U2irsZGjvsFFJ/0WP00w10QQ9Faq3yfMQTQ/bF+6E63pCOm1MZbGzHzpEbvEpp/G8mMjxp+Hs+3HCra4XWdZysp5+1DUxOWFRqQ8WqyNf83OAZAph8YTHKghKt0ncX8NKF40Ws5f7UJV/QKBgQDdXTevUWF2cQpra95ab66Ba77uIn2MmwrYOdILwh2eSvjeR9H1mJPBZ2+NKMBNuYA7Tz0E8qBGborX5TuwvrWmtrWigKEU2bDFLqIATecs56MW2kB4wbCIWyQj975NrHE1NN3ip5nYQSmS2Wy/QhzSgBjJrun/udJUGW0ArjIPuwKBgQCs14QkjArHAGB1/CArG1XGuAdZBAj82o+AtEuag5JpIbC9RtlA2H9CnH3ugUhrPV192XOULd6WtujR4gv9CVdFSZXtgCeB52dj62C5LS7iH98e6QfduYvxNGljKEe87iXd62qV7gLLOi/vtoZEu8Mejqw7HQ1o6VkKLr4TI5Q3ywKBgQCJNXSEmN7eeWbJ+sySJdN2qQBpvrsvYhKwv/YwD5woN7RWoxHDN1WudZyxVGcORkLzgEQEQxeRUIeDFrWO8kbKFUo0daJiuCRXtHX51k/Kh7GRQqrfrr7rZgLawH8WyiJJpoE6MkSrxIguW9KKIkKXP4sdx+uG9Pkn47Kqz058bQKBgAk+aXnO55CnC4Gj31CO4LKFCxeOqLBlPAGFIvn7iWwH+jzVOi9GpN+6IN4NmgLqQELHy2+kWGA1HhSDg2KgCkPRYKxYC0TeTGBCqWSd7wD29WbgzaPlFX/r7qr374ZCMlJBEe080nduADxQxbONWy0aMknjDuGKgVGTGGVLpNSrAoGARHsbxf/8th/Cs/TYD8mvZgPkgFMyKZuZM4Qe6VEwZazHplWXQ0BibYxloyb/nVYABxVJ0c4noP0I7pQ2H2Y68tvNWnOmVN3NaC5t1tPhE1eAA3Nfo3S3+Ma+X1bmprSQ0nyr3UeFvR2Pl3qKj5diTo4QU8RdSi4K6SwbqaK0+Ys=
|
||||||
|
-----END RSA PUBLIC KEY-----
|
3
config/hm_pay/switch_pub_public_key.pem
Normal file
3
config/hm_pay/switch_pub_public_key.pem
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
-----BEGIN RSA PUBLIC KEY-----
|
||||||
|
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlXT89znVWzf1w5tM0cxokN78NXgd/Ow9njzD9sBnG6O82cqS77EMGu6s8+m9Pkx8uve1RJjDqAjO0l1L+b7KgyuXZjkCuukS4VH7/w2CucsXGZRmMGI5p0+/VtGKabvQZrUMzHoIKdvixxwn3HN/ZK2Sb5S2oCxFUtQIpA/afUXI2hhX2oDTXrRTo8c0D+mXYt0rAaqJAFts3Luix9NhEWmZd30pOReG46yKZBYqZKayaGc137p7otIQijuo0KwmeemEaRWNV5T6IQC0ubT+FSPHIyV6zsrHSF/cvPJi7Q+U7NWWCR7nZG7uP8ZEM288ci50LWo0J2l5yBbvjC+mSQIDAQAB
|
||||||
|
-----END RSA PUBLIC KEY-----
|
Loading…
Reference in New Issue
Block a user