From 8cda813a097822466df7265dbedeaba6ea9a21b4 Mon Sep 17 00:00:00 2001 From: chenlin Date: Wed, 21 Aug 2024 14:13:54 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=A0=B9=E6=8D=AE=E8=B4=A2=E5=8A=A1=E8=A6=81?= =?UTF-8?q?=E6=B1=82=E9=85=8D=E7=BD=AE=E4=B8=8D=E5=90=8C=E9=97=A8=E5=BA=97?= =?UTF-8?q?=E7=9A=84=E6=94=B6=E6=AC=BE=E8=B4=A6=E6=88=B7=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/apis/pay/wx_pay.go | 133 +++++++++++++----- app/admin/apis/pay/wx_pay_test.go | 4 +- app/admin/models/erp_order.go | 14 +- config/hm_pay/jbl_private_key.pem | 3 + config/hm_pay/jbl_pub_private_key.pem | 3 + config/hm_pay/jbl_pub_public_key.pem | 3 + config/hm_pay/jbl_public_key.pem | 3 + ...private_key.pem => switch_private_key.pem} | 0 config/hm_pay/switch_pub_private_key.pem | 3 + config/hm_pay/switch_pub_public_key.pem | 3 + ...o_public_key.pem => switch_public_key.pem} | 0 11 files changed, 133 insertions(+), 36 deletions(-) create mode 100644 config/hm_pay/jbl_private_key.pem create mode 100644 config/hm_pay/jbl_pub_private_key.pem create mode 100644 config/hm_pay/jbl_pub_public_key.pem create mode 100644 config/hm_pay/jbl_public_key.pem rename config/hm_pay/{deovo_private_key.pem => switch_private_key.pem} (100%) create mode 100644 config/hm_pay/switch_pub_private_key.pem create mode 100644 config/hm_pay/switch_pub_public_key.pem rename config/hm_pay/{deovo_public_key.pem => switch_public_key.pem} (100%) diff --git a/app/admin/apis/pay/wx_pay.go b/app/admin/apis/pay/wx_pay.go index 486a753..4c9b155 100644 --- a/app/admin/apis/pay/wx_pay.go +++ b/app/admin/apis/pay/wx_pay.go @@ -78,17 +78,39 @@ const ( WxAppMchId = "1609877389" WxAppMchSecret = "DeovoMingHuiRengTianTang45675456" - UnifiedOrderUrl = "https://api.mch.weixin.qq.com/pay/unifiedorder" - HmPayApiUrl = "https://hmpay.sandpay.com.cn/gateway/api" - PemBegin = "-----BEGIN RSA PRIVATE KEY-----\n" - PemEnd = "\n-----END RSA PRIVATE KEY-----" - HmPubKey = `MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDzGVH0Fxpb2M48U1BWr6lpNs2W3VHqtjO8X5RqWjtTwpQVKo8dqaiAGxVbsdnefPpsbI5l9rKquRAOJhWFU07hxSUgXZOk55QQmll03MBgRDXLgxyKfycLLQwhsCJAzDIWC7IWgok/RHV9m9AV2GbQxWBl+7iDE4prcbpgG8Z0HwIDAQAB` - HmPayMerchantId = "664403000030115" - TimeFormat = "2006-01-02 15:04:05" - clientIp = "39.108.188.218" // 小程序服务器 - clientIpDev = "112.33.14.191" // 移动云服务器 - HmPayMerchantIdDeovo = "664403000021193" - HmPubKeyDeovo = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCDA4g8VFWIxEbOzxYC8ZIOgaOsLWK4Y5k9D8GwJ1Gige79LbTxbe3PH12KMc59DpCR1PnIDwlYWjIE7mZZAHgImXs0pSFihvlNS9srWk2uPlEXXQjjIZ3mnPoXtNhU0x5cYdkB8jtijcYMSGwKmdrIvpvPX3MrDKOX6dJ1T4ll+QIDAQAB" + UnifiedOrderUrl = "https://api.mch.weixin.qq.com/pay/unifiedorder" + HmPayApiUrl = "https://hmpay.sandpay.com.cn/gateway/api" + PemBegin = "-----BEGIN RSA PRIVATE KEY-----\n" + PemEnd = "\n-----END RSA PRIVATE KEY-----" + HmPubKey = `MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDzGVH0Fxpb2M48U1BWr6lpNs2W3VHqtjO8X5RqWjtTwpQVKo8dqaiAGxVbsdnefPpsbI5l9rKquRAOJhWFU07hxSUgXZOk55QQmll03MBgRDXLgxyKfycLLQwhsCJAzDIWC7IWgok/RHV9m9AV2GbQxWBl+7iDE4prcbpgG8Z0HwIDAQAB` + HmPayMerchantId = "664403000030115" + TimeFormat = "2006-01-02 15:04:05" + clientIp = "39.108.188.218" // 小程序服务器 + clientIpDev = "112.33.14.191" // 移动云服务器 + + // 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 ( @@ -698,10 +720,9 @@ type HmPayUnifiedOrderRsp struct { Sign string `json:"sign"` } -func ParsePrivateKeyDeovo() (*rsa.PrivateKey, error) { - //fp := "/Users/max/Documents/code/deovo/mh_goadmin_server/config/hm_pay/deovo_private_key.pem" - fp := "./config/hm_pay/deovo_private_key.pem" - privateKey, err := os.ReadFile(fp) +func ParsePrivateKeyDeovo(storeId uint32) (*rsa.PrivateKey, error) { + storeKey := getStoreKeyConfig(storeId) + privateKey, err := os.ReadFile(storeKey.FP) if err != nil { logger.Errorf("read file err:", err) return nil, err @@ -722,12 +743,12 @@ func ParsePrivateKeyDeovo() (*rsa.PrivateKey, error) { return priKey.(*rsa.PrivateKey), nil } -func Sha1withRsaDeovo(signContent string) (string, error) { +func Sha1withRsaDeovo(storeId uint32, signContent string) (string, error) { hash := crypto.SHA1 shaNew := hash.New() shaNew.Write([]byte(signContent)) hashed := shaNew.Sum(nil) - priKey, err := ParsePrivateKeyDeovo() + priKey, err := ParsePrivateKeyDeovo(storeId) if err != nil { logger.Errorf("parse err:", err) return "", err @@ -741,7 +762,7 @@ func Sha1withRsaDeovo(signContent string) (string, error) { 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") var signData []string for k, v := range m { @@ -765,7 +786,7 @@ func GenHmPaySignDeovo(m map[string]string) (string, error) { //logger.Info("签字符串1:", logger.Field("signStr", signStr)) fmt.Println("签字符串1:", signStr) - signature, err := Sha1withRsaDeovo(signStr) + signature, err := Sha1withRsaDeovo(storeId, signStr) if err != nil { logger.Errorf("signature err:", err) return "", err @@ -905,7 +926,7 @@ func HmPayUnifiedOrder(r HmJsPayUnifiedOrderReq) (HmPayUnifiedOrderRsp, error) { 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" //publicKeyString, err := ioutil.ReadFile(fp) //if err != nil { @@ -913,7 +934,8 @@ func HmVerifySha1RsaDeovo(signContent, signBase string) error { // return err //} - block, _ := pem.Decode([]byte(FormatPrivateKey(HmPubKeyDeovo))) + storeKey := getStoreKeyConfig(storeId) + block, _ := pem.Decode([]byte(FormatPrivateKey(storeKey.PubKey))) if block == nil { fmt.Println("decode block is nil") return errors.New("decode block is nil") @@ -1021,6 +1043,50 @@ func ToSignContent(s interface{}) (string, error) { 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) func HmJsPayBToCOrder(storeId uint32, orderId string, totalFee float64, authCode, notifyUrl string) (*HmPayBToCOrderDetail, error) { now := time.Now().Local() @@ -1033,9 +1099,11 @@ func HmJsPayBToCOrder(storeId uint32, orderId string, totalFee float64, authCode // return nil, errors.New("NotifyUrl is null") //} + storeKey := getStoreKeyConfig(storeId) + unifiedOrderReq := HmJsPayUnifiedOrderReq{} publicPara := HmPayPublicPara{ - AppId: HmPayMerchantIdDeovo, + AppId: storeKey.AppID, //SubAppId: HmWxSubMerchantId, Method: "trade.pay", //Charset: "UTF-8", @@ -1080,7 +1148,7 @@ func HmJsPayBToCOrder(storeId uint32, orderId string, totalFee float64, authCode return nil, err } - sign, err := GenHmPaySignDeovo(m) + sign, err := GenHmPaySignDeovo(storeId, m) if err != nil { logger.Error("HmJsPayUnifiedOrder GenHmPaySign err:", logger.Field("err", err)) return nil, err @@ -1099,7 +1167,7 @@ func HmJsPayBToCOrder(storeId uint32, orderId string, totalFee float64, authCode return nil, err } - err = HmVerifySha1RsaDeovo(signContent, unifiedOrderResp.Sign) + err = HmVerifySha1RsaDeovo(storeId, signContent, unifiedOrderResp.Sign) if err != nil { logger.Errorf("HmVerifySha1Rsa err:", err) return nil, err @@ -1118,13 +1186,14 @@ func HmJsPayBToCOrder(storeId uint32, orderId string, totalFee float64, authCode } // HmQueryOrder 订单查询 -func HmQueryOrder(orderId string) (*HmPayTradeQueryResp, error) { +func HmQueryOrder(orderId string, storeId uint32) (*HmPayTradeQueryResp, error) { now := time.Now().Local() nonce := GenRandStr(NonceStringLength) + storeKey := getStoreKeyConfig(storeId) unifiedOrderReq := HmJsPayUnifiedOrderReq{} publicPara := HmPayPublicPara{ - AppId: HmPayMerchantIdDeovo, + AppId: storeKey.AppID, Method: "trade.query", SignType: "RSA", Sign: "", @@ -1149,7 +1218,7 @@ func HmQueryOrder(orderId string) (*HmPayTradeQueryResp, error) { return nil, err } - sign, err := GenHmPaySignDeovo(m) + sign, err := GenHmPaySignDeovo(storeId, m) if err != nil { logger.Error("HmJsPayUnifiedOrder GenHmPaySign err:", logger.Field("err", err)) return nil, err @@ -1167,7 +1236,7 @@ func HmQueryOrder(orderId string) (*HmPayTradeQueryResp, error) { logger.Errorf("ToSignContent err:", err) return nil, err } - err = HmVerifySha1RsaDeovo(signContent, unifiedOrderResp.Sign) + err = HmVerifySha1RsaDeovo(storeId, signContent, unifiedOrderResp.Sign) if err != nil { logger.Errorf("HmVerifySha1Rsa err:", err) return nil, err @@ -1187,13 +1256,13 @@ func HmQueryOrder(orderId string) (*HmPayTradeQueryResp, error) { } // HmCancelOrder 订单撤销 -func HmCancelOrder(orderId string) (*HmPayTradeCancelResp, error) { +func HmCancelOrder(orderId string, storeId uint32) (*HmPayTradeCancelResp, error) { now := time.Now().Local() nonce := GenRandStr(NonceStringLength) unifiedOrderReq := HmJsPayUnifiedOrderReq{} publicPara := HmPayPublicPara{ - AppId: HmPayMerchantIdDeovo, + AppId: HmPayMerchantIdSwitch, Method: "trade.cancel", SignType: "RSA", Sign: "", @@ -1218,7 +1287,7 @@ func HmCancelOrder(orderId string) (*HmPayTradeCancelResp, error) { return nil, err } - sign, err := GenHmPaySignDeovo(m) + sign, err := GenHmPaySignDeovo(storeId, m) if err != nil { logger.Error("HmJsPayUnifiedOrder GenHmPaySign err:", logger.Field("err", err)) return nil, err @@ -1236,7 +1305,7 @@ func HmCancelOrder(orderId string) (*HmPayTradeCancelResp, error) { logger.Errorf("ToSignContent err:", err) return nil, err } - err = HmVerifySha1RsaDeovo(signContent, unifiedOrderResp.Sign) + err = HmVerifySha1RsaDeovo(storeId, signContent, unifiedOrderResp.Sign) if err != nil { logger.Errorf("HmVerifySha1Rsa err:", err) return nil, err diff --git a/app/admin/apis/pay/wx_pay_test.go b/app/admin/apis/pay/wx_pay_test.go index 2af27d9..cb887ef 100644 --- a/app/admin/apis/pay/wx_pay_test.go +++ b/app/admin/apis/pay/wx_pay_test.go @@ -43,7 +43,7 @@ func TestHmJsPayBToCOrder(t *testing.T) { func TestHmQueryOrder(t *testing.T) { orderId := "sale2024070569804727" - order, err := HmQueryOrder(orderId) + order, err := HmQueryOrder(orderId, 13) if err != nil { fmt.Println("err:", err) } @@ -55,7 +55,7 @@ func TestHmQueryOrder(t *testing.T) { func TestHmCancelOrder(t *testing.T) { orderId := "sale2023122225067733" - order, err := HmCancelOrder(orderId) + order, err := HmCancelOrder(orderId, 13) if err != nil { fmt.Println("err:", err) } diff --git a/app/admin/models/erp_order.go b/app/admin/models/erp_order.go index 2fb5cfd..2c21ec5 100644 --- a/app/admin/models/erp_order.go +++ b/app/admin/models/erp_order.go @@ -2062,9 +2062,19 @@ func QueryErpOrderPayStatus(billSn string) (*ErpOrderPayResp, error) { resp := &ErpOrderPayResp{ 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 - 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 if err != nil { 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 { logger.Error("查询失败:", logger.Field("err", err)) return resp, err diff --git a/config/hm_pay/jbl_private_key.pem b/config/hm_pay/jbl_private_key.pem new file mode 100644 index 0000000..1ab188b --- /dev/null +++ b/config/hm_pay/jbl_private_key.pem @@ -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----- diff --git a/config/hm_pay/jbl_pub_private_key.pem b/config/hm_pay/jbl_pub_private_key.pem new file mode 100644 index 0000000..1ab188b --- /dev/null +++ b/config/hm_pay/jbl_pub_private_key.pem @@ -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----- diff --git a/config/hm_pay/jbl_pub_public_key.pem b/config/hm_pay/jbl_pub_public_key.pem new file mode 100644 index 0000000..6e07d67 --- /dev/null +++ b/config/hm_pay/jbl_pub_public_key.pem @@ -0,0 +1,3 @@ +-----BEGIN RSA PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmaibcqmHeB3GDzUJ0dvyAw4HFBV41rNJAzCK3uwBeszQHBQ/70zgnBM5m9LHC4XbqMurBF4+pcXQLjWFyoVSSIdl0XTkVTC6rXYHhjd1ua6IUEgv/JFrelZnFyWUMOWA3W0qWnEmtHYy8V/PpSbkMK5JDUCm+Nf7honwsL56RfbEfA6hfYg0J9yzaFdgJJApl31wj4dhiQ9Qzl3rPNXcc6lgHNZAkshiDzYFoLKVe61OGZuVaZ6JqbcbzJyK9xfh18TOM1ZOPCR8AOvhcEGsPxv13aomU8BbZuuVWxBGK5rI/FGJcc3jTmusb9tALJocGCSDAIt0Ps4h9aVQxjdftwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/config/hm_pay/jbl_public_key.pem b/config/hm_pay/jbl_public_key.pem new file mode 100644 index 0000000..6e07d67 --- /dev/null +++ b/config/hm_pay/jbl_public_key.pem @@ -0,0 +1,3 @@ +-----BEGIN RSA PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmaibcqmHeB3GDzUJ0dvyAw4HFBV41rNJAzCK3uwBeszQHBQ/70zgnBM5m9LHC4XbqMurBF4+pcXQLjWFyoVSSIdl0XTkVTC6rXYHhjd1ua6IUEgv/JFrelZnFyWUMOWA3W0qWnEmtHYy8V/PpSbkMK5JDUCm+Nf7honwsL56RfbEfA6hfYg0J9yzaFdgJJApl31wj4dhiQ9Qzl3rPNXcc6lgHNZAkshiDzYFoLKVe61OGZuVaZ6JqbcbzJyK9xfh18TOM1ZOPCR8AOvhcEGsPxv13aomU8BbZuuVWxBGK5rI/FGJcc3jTmusb9tALJocGCSDAIt0Ps4h9aVQxjdftwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/config/hm_pay/deovo_private_key.pem b/config/hm_pay/switch_private_key.pem similarity index 100% rename from config/hm_pay/deovo_private_key.pem rename to config/hm_pay/switch_private_key.pem diff --git a/config/hm_pay/switch_pub_private_key.pem b/config/hm_pay/switch_pub_private_key.pem new file mode 100644 index 0000000..170b972 --- /dev/null +++ b/config/hm_pay/switch_pub_private_key.pem @@ -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----- diff --git a/config/hm_pay/switch_pub_public_key.pem b/config/hm_pay/switch_pub_public_key.pem new file mode 100644 index 0000000..11c5a42 --- /dev/null +++ b/config/hm_pay/switch_pub_public_key.pem @@ -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----- diff --git a/config/hm_pay/deovo_public_key.pem b/config/hm_pay/switch_public_key.pem similarity index 100% rename from config/hm_pay/deovo_public_key.pem rename to config/hm_pay/switch_public_key.pem