通联宝支付测试

This commit is contained in:
苏尹岚
2020-02-27 14:33:36 +08:00
parent cc5e35caa6
commit a782f2ad49
2 changed files with 16 additions and 14 deletions

View File

@@ -6,7 +6,8 @@ import (
"crypto/x509"
"encoding/json"
"encoding/pem"
"os"
"io/ioutil"
"strings"
"time"
"git.rosy.net.cn/jx-callback/globals"
@@ -37,7 +38,7 @@ func pay4OrderByTL(ctx *jxcontext.Context, order *model.GoodsOrder, vendorPayTyp
if err == nil {
var result2 tonglianpayapi.PayInfo
json.Unmarshal([]byte(result.PayInfo), &result2)
globals.SugarLogger.Debugf("pay4OrderByTL, [%v]", result2)
prePayID := result2.Package[strings.LastIndex(result2.Package, "=")+1 : len(result2.Package)]
orderPay = &model.OrderPay{
PayOrderID: param.Reqsn,
PayType: model.PayTypeTL,
@@ -47,31 +48,33 @@ func pay4OrderByTL(ctx *jxcontext.Context, order *model.GoodsOrder, vendorPayTyp
VendorID: order.VendorID,
Status: 0,
PayCreatedAt: payCreatedAt,
PrepayID: result2.PrepayID,
PrepayID: prePayID,
CodeURL: utils.LimitUTF8StringLen(result.PayInfo, 3200),
TotalFee: int(order.ActualPayPrice),
}
plainText, err2 := RSADecrypt([]byte(result2.PaySign))
result2.PaySign = string(plainText)
globals.SugarLogger.Debugf("pay4OrderByTL2, [%v]", string(plainText))
str, err2 := json.Marshal(result2)
result.PayInfo = string(str)
err = err2
}
globals.SugarLogger.Debugf("pay4OrderByTL2, [%v]", *result)
return orderPay, err
}
func RSADecrypt(pub []byte) (plainText []byte, err error) {
//打开文件
file, err := os.Open("conf/rsa_key.pem")
if err != nil {
panic(err)
}
defer file.Close()
//获取文件内容
info, _ := file.Stat()
buf := make([]byte, info.Size())
file.Read(buf)
// file, err := os.Open("conf/rsa_key.pem")
// if err != nil {
// panic(err)
// }
// defer file.Close()
// //获取文件内容
// info, _ := file.Stat()
// buf := make([]byte, info.Size())
// file.Read(buf)
buf, err := ioutil.ReadFile("conf/rsa_key.pem")
globals.SugarLogger.Debugf("pay4OrderByTL3, [%v]", string(buf))
//pem解码
block, _ := pem.Decode(buf)
//X509解码

View File

@@ -1,4 +1,3 @@
-----BEGIN PRIVATE KEY-----
MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAKIw2F9MViiwGt3Sc8V2BCLeyW486K9klCRgprq57amgrbRy/dIcR2i7MCy01oNkf4S3XMKOlDK3cH5cXm4cV3Sa3WOkgumjczcd/sXOFRuvItJc39OCn1+WxUlIDu6nfmSpvOFqgQVbCD2Axo6Eq6t8wrhw6qx8m73KlkulCOx3AgMBAAECgYAxfQ/4fBVqEtoPxzBWFv2KGkqCHYmuQtVFCEy3exX+hS2bet7h5okPdtZrPb6alual+0ENiG3Fz90+YTbbCEDSsgrNxrh/5ZaJaPgosKlgPiJ418BVZW8YXdGEMaJDXr3xRsQH3VHmwGXLJ9WyFzzMof1WsRk8k9HY87Uy+ZMKmQJBANb8cpAhJ8oq6dPK8d5n+K+L1Ld/bmMIxtq+hTrz4/ZOJJOuvBFsR+JWiEe3+kO2bgE7galanFg42JeCRFD9eMMCQQDBIfcJ4Xlc+GEqLXT2Cbv2Rg6uuD1qMQqiX3UWR1ypq3SuIBYLkYG4mCk2iXCqTm7MWNl5OozlaIFmxTyjbeI9AkEAs3uLQZ0MlRICqRkTmLSAwD4jVxcCV5fqPJE2taMMPIO8sbb9uCYIVYQcvpNwUrupV0oQ1Ayb3mOHH+ZXlq4m9QJBAL2j/E9XdzQzMDWaLR7qsAZDBGfLwYJkZWzLDs2xhOuV0ByqpPr3Bcmcn9tNWbPhECrXk7PWKkOZOncPdVuEqoECQQCo/VmPU3rPqK4l1Gwi2vlf6CE09GZJGrKk94rPfechqkzhmziX8RLF1XpxZOWWgCM9ld2g2YwtBcgVmVc0M8bM
-----END PRIVATE KEY-----