Browse Source

union pay debug

ls 5 years ago
parent
commit
2bc02268be
4 changed files with 26 additions and 21 deletions
  1. 0 1
      unionpay/rsa.go
  2. 17 16
      unionpay/util.go
  3. 7 3
      unionpay/v3.go
  4. 2 1
      wechat/pay.go

+ 0 - 1
unionpay/rsa.go

@@ -32,7 +32,6 @@ func sign(priveKey *rsa.PrivateKey, src []byte) (data []byte, err error) {
 // signsha1 RSA sha1签名
 func signsha1(priveKey *rsa.PrivateKey, src []byte) (data []byte, err error) {
 	hashed := sha1.Sum(src)
-	//hashed = sha256.Sum256(hashed[:])
 	data, err = rsa.SignPKCS1v15(rand.Reader, priveKey, crypto.SHA1, hashed[:])
 	return
 }

+ 17 - 16
unionpay/util.go

@@ -4,6 +4,7 @@ import (
 	"bytes"
 	"encoding/base64"
 	"encoding/hex"
+	"encoding/json"
 	"fmt"
 	"net/http"
 	"net/url"
@@ -83,27 +84,27 @@ func post(uri string, body []byte) (res ReqRespose, err error) {
 		err = fmt.Errorf("Request status code %d", msg.StatusCode)
 		return
 	}
-	/*
-		fmt.Println("*************************************")
-		fmt.Println(uri)
-		fmt.Println(msg.StatusCode)
-		fmt.Println(msg.Header)
-		fmt.Println(string(msg.Body))
-		fmt.Println("*************************************")
-		// */
+	//*
+	fmt.Println("*************************************")
+	fmt.Println(uri)
+	fmt.Println(msg.StatusCode)
+	fmt.Println(msg.Header)
+	fmt.Println(string(msg.Body))
+	fmt.Println("*************************************")
+	// */
 	var values url.Values
 	values, err = url.ParseQuery(string(msg.Body))
 	if err != nil {
 		return
 	}
 	err = binding.MapForm(&res, values)
-	/*
-		if err != nil {
-			return
-		}
-			bs, _ := json.Marshal(&res)
-			fmt.Println(string(bs))
-			fmt.Println("respCode", res.RespCode, "respMsg", res.RespMsg)
-			// */
+	//*
+	if err != nil {
+		return
+	}
+	bs, _ := json.Marshal(&res)
+	fmt.Println(string(bs))
+	fmt.Println("respCode", res.RespCode, "respMsg", res.RespMsg)
+	// */
 	return
 }

+ 7 - 3
unionpay/v3.go

@@ -100,7 +100,7 @@ func V3Bind(mi *MerchantInfo, ci CustomerInfo, oi OrderInfo) (res ReqRespose, er
 	args["userMac"] = ""
 	args["certId"] = mi.SerialNumber()
 
-	s := createLinkString(args, true, false)
+	s := createLinkString(args, true, true)
 	sha1 := util.SHA1(s)
 
 	var data []byte
@@ -175,7 +175,7 @@ func V3Charging(mi *MerchantInfo, ci CustomerInfo, oi OrderInfo) (res ReqRespose
 	args["txnType"] = "11"
 	args["txnSubType"] = "00"
 	args["bizType"] = "000000"
-	args["backurl"] = ""
+	args["backUrl"] = ""
 	args["accessType"] = "0"
 	args["merType"] = "0"
 	args["merId"] = mi.MerID
@@ -200,10 +200,13 @@ func V3Charging(mi *MerchantInfo, ci CustomerInfo, oi OrderInfo) (res ReqRespose
 	args["billPeriod"] = "" // 账单周期
 	args["certId"] = mi.SerialNumber()
 
-	s := createLinkString(args, true, false)
+	s := createLinkString(args, true, true)
 	sha1 := util.SHA1(s)
 
 	fmt.Println("createLinkString", s)
+	fmt.Println("--", getCustomerV3(ci))
+	fmt.Println("--", base64Encode([]byte(getCustomerV3(ci))))
+	fmt.Println("--", s)
 	var data []byte
 	data, err = signsha1(mi.PrivateKey, []byte(sha1))
 	if err != nil {
@@ -215,6 +218,7 @@ func V3Charging(mi *MerchantInfo, ci CustomerInfo, oi OrderInfo) (res ReqRespose
 	for k, v := range args {
 		values.Add(k, v)
 	}
+	fmt.Println("-- body --", values.Encode())
 	res, err = post(V3BaseHost+V3ReqBackTrans, []byte(values.Encode()))
 
 	return

+ 2 - 1
wechat/pay.go

@@ -270,7 +270,8 @@ func Pay(config WePayConfig, order UnifiedOrder) (reply WePayReply, err error) {
 	if data, err = xml.Marshal(order); err != nil {
 		return
 	}
-
+	fmt.Println(string(data))
+	fmt.Println("***********************************************")
 	reply, err = post(WePayHost+WePayURLUnifiedOrder, data)
 	return
 }