Skip to content

Commit

Permalink
Merge pull request #27 from iGoogle-ink/alipay/fix
Browse files Browse the repository at this point in the history
fix SystemOauthToken
  • Loading branch information
iGoogle-ink authored Feb 19, 2020
2 parents f6820b4 + 66406a1 commit c976cbe
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 3 deletions.
10 changes: 8 additions & 2 deletions alipay/service_api.go
Original file line number Diff line number Diff line change
Expand Up @@ -526,8 +526,9 @@ func DecryptOpenDataToBodyMap(encryptedData, secretKey string) (bm gopay.BodyMap
// PrivateKey:应用私钥
// grantType:值为 authorization_code 时,代表用code换取;值为 refresh_token 时,代表用refresh_token换取,传空默认code换取
// codeOrToken:支付宝授权码或refresh_token
// signType:签名方式 RSA 或 RSA2,默认 RSA2
// 文档:https://docs.open.alipay.com/api_9/alipay.system.oauth.token
func SystemOauthToken(appId, privateKey, grantType, codeOrToken string) (rsp *SystemOauthTokenResponse, err error) {
func SystemOauthToken(appId, privateKey, grantType, codeOrToken, signType string) (rsp *SystemOauthTokenResponse, err error) {
var bs []byte
bm := make(gopay.BodyMap)
if "authorization_code" == grantType {
Expand All @@ -540,7 +541,7 @@ func SystemOauthToken(appId, privateKey, grantType, codeOrToken string) (rsp *Sy
bm.Set("grant_type", "authorization_code")
bm.Set("code", codeOrToken)
}
if bs, err = systemOauthToken(appId, privateKey, bm, "alipay.system.oauth.token", true, "RSA2"); err != nil {
if bs, err = systemOauthToken(appId, privateKey, bm, "alipay.system.oauth.token", true, signType); err != nil {
return
}
rsp = new(SystemOauthTokenResponse)
Expand All @@ -559,6 +560,11 @@ func systemOauthToken(appId, privateKey string, body gopay.BodyMap, method strin
body.Set("method", method)
body.Set("format", "JSON")
body.Set("charset", "utf-8")
if signType == gopay.NULL {
body.Set("sign_type", "RSA2")
} else {
body.Set("sign_type", signType)
}
body.Set("sign_type", signType)
body.Set("timestamp", time.Now().Format(gopay.TimeLayout))
body.Set("version", "1.0")
Expand Down
2 changes: 1 addition & 1 deletion examples/alipay/alipay_ServiceApi.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ func FormatPublicKey() {

func SystemOauthToken2() {
privateKey := "MIIEogIBAAKCAQEAy+CRzKw4krA2RzCDTqg5KJg92XkOY0RN3pW4sYInPqnGtHV7YDHu5nMuxY6un+dLfo91OFOEg+RI+WTOPoM4xJtsOaJwQ1lpjycoeLq1OyetGW5Q8wO+iLWJASaMQM/t/aXR/JHaguycJyqlHSlxANvKKs/tOHx9AhW3LqumaCwz71CDF/+70scYuZG/7wxSjmrbRBswxd1Sz9KHdcdjqT8pmieyPqnM24EKBexHDmQ0ySXvLJJy6eu1dJsPIz+ivX6HEfDXmSmJ71AZVqZyCI1MhK813R5E7XCv5NOtskTe3y8uiIhgGpZSdB77DOyPLcmVayzFVLAQ3AOBDmsY6wIDAQABAoIBAHjsNq31zAw9FcR9orQJlPVd7vlJEt6Pybvmg8hNESfanO+16rpwg2kOEkS8zxgqoJ1tSzJgXu23fgzl3Go5fHcoVDWPAhUAOFre9+M7onh2nPXDd6Hbq6v8OEmFapSaf2b9biHnBHq5Chk08v/r74l501w3PVVOiPqulJrK1oVb+0/YmCvVFpGatBcNaefKUEcA+vekWPL7Yl46k6XeUvRfTwomCD6jpYLUhsAKqZiQJhMGoaLglZvkokQMF/4G78K7FbbVLMM1+JDh8zJ/DDVdY2vHREUcCGhl4mCVQtkzIbpxG++vFg7/g/fDI+PquG22hFILTDdtt2g2fV/4wmkCgYEA6goRQYSiM03y8Tt/M4u1Mm7OWYCksqAsU7rzQllHekIN3WjD41Xrjv6uklsX3sTG1syo7Jr9PGE1xQgjDEIyO8h/3lDQyLyycYnyUPGNNMX8ZjmGwcM51DQ/QfIrY/CXjnnW+MVpmNclAva3L33KXCWjw20VsROV1EA8LCL94BUCgYEA3wH4ANpzo7NqXf+2WlPPMuyRrF0QPIRGlFBNtaKFy0mvoclkREPmK7+N4NIGtMf5JNODS5HkFRgmU4YNdupA2I8lIYpD+TsIobZxGUKUkYzRZYZ1m1ttL69YYvCVz9Xosw/VoQ+RrW0scS5yUKqFMIUOV2R/Imi//c5TdKx6VP8CgYAnJ1ADugC4vI2sNdvt7618pnT3HEJxb8J6r4gKzYzbszlGlURQQAuMfKcP7RVtO1ZYkRyhmLxM4aZxNA9I+boVrlFWDAchzg+8VuunBwIslgLHx0/4EoUWLzd1/OGtco6oU1HXhI9J9pRGjqfO1iiIifN/ujwqx7AFNknayG/YkQKBgD6yNgA/ak12rovYzXKdp14Axn+39k2dPp6J6R8MnyLlB3yruwW6NSbNhtzTD1GZ+wCQepQvYvlPPc8zm+t3tl1r+Rtx3ORf5XBZc3iPkGdPOLubTssrrAnA+U9vph61W+OjqwLJ9sHUNK9pSHhHSIS4k6ycM2YAHyIC9NGTgB0PAoGAJjwd1DgMaQldtWnuXjvohPOo8cQudxXYcs6zVRbx6vtjKe2v7e+eK1SSVrR5qFV9AqxDfGwq8THenRa0LC3vNNplqostuehLhkWCKE7Y75vXMR7N6KU1kdoVWgN4BhXSwuRxmHMQfSY7q3HG3rDGz7mzXo1FVMr/uE4iDGm0IXY="
rsp, err := alipay.SystemOauthToken("2016091200494382", privateKey, "", "06e8961891d647c0ac99bb1cebe7SE69")
rsp, err := alipay.SystemOauthToken("2016091200494382", privateKey, "", "06e8961891d647c0ac99bb1cebe7SE69", "RSA2")
if err != nil {
fmt.Println("SystemOauthToken:", err)
return
Expand Down
5 changes: 5 additions & 0 deletions release_note.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
版本号:Release 1.5.3
发布时间:2020/02/19 11:32
修改记录:
(1) 支付宝:修改公共方法:SystemOauthToken(),添加参数 signType

版本号:Release 1.5.2
发布时间:2020/02/14 13:32
修改记录:
Expand Down

0 comments on commit c976cbe

Please sign in to comment.