- fix elm callback sign error(it's different from call elm API).

This commit is contained in:
gazebo
2018-06-20 11:47:24 +08:00
parent 62a25d4f0f
commit 363f01857e
2 changed files with 22 additions and 3 deletions

View File

@@ -74,8 +74,14 @@ func (e *ELMAPI) signParamsMap(mapData map[string]interface{}, prefix string) st
keyValues := make([]string, 0)
for k, v := range mapData {
if k != signKey {
vBytes := utils.MustMarshal(v)
keyValues = append(keyValues, k+"="+string(vBytes))
vStr := ""
if prefix == "" { // callback sign
vStr = fmt.Sprint(v)
} else { // call sign
vBytes := utils.MustMarshal(v)
vStr = string(vBytes)
}
keyValues = append(keyValues, k+"="+vStr)
}
}

View File

@@ -15,7 +15,12 @@ var (
func init() {
logger, _ := zap.NewDevelopment()
sugarLogger = logger.Sugar()
elmapi = NewELMAPI("bab2a27f99562f394b411dbb9a6214da", "KLRDcOZGrk", "1fc221f8265506531da36fb613d5f5ad673f2e9a", sugarLogger, true)
// sandbox
elmapi = NewELMAPI("2d2b583447b04b6bba5a6f3faed3559b", "RwT214gAsS", "56afff4b9ebd8a7eb532d18fa33f17be57f9b9db", sugarLogger, false)
// prod
// elmapi = NewELMAPI("bab2a27f99562f394b411dbb9a6214da", "KLRDcOZGrk", "1fc221f8265506531da36fb613d5f5ad673f2e9a", sugarLogger, true)
}
func TestTest(t *testing.T) {
@@ -46,3 +51,11 @@ func TestGetOrder(t *testing.T) {
}
}
}
func TestCallbackSign(t *testing.T) {
jsonStr := `{"requestId":"200016348669063447","type":18,"appId":78247922,"message":"{\"orderId\":\"3024923917769149510\",\"state\":\"settled\",\"shopId\":157492364,\"updateTime\":1529465510,\"role\":1}","shopId":157492364,"timestamp":1529465510255,"signature":"D65F917D93B4F599B85486C799599141","userId":336072266322770688}`
msg, response := elmapi.GetMsgFromData([]byte(jsonStr))
if response != nil || msg == nil {
t.Fatal("Something wrong")
}
}