Jerry 6 lat temu
rodzic
commit
ca249dd61a

+ 1 - 0
README.md

@@ -80,6 +80,7 @@
 * 统一收单交易结算接口:client.AliPayTradeOrderSettle()
 * 统一收单线下交易预创建(用户扫商品收款码):client.AliPayTradePrecreate()
 * 单笔转账到支付宝账户接口(商户给支付宝用户转账):client.AlipayFundTransToaccountTransfer()
+* 换取授权访问令牌(获取access_token,user_id等信息):client.AliPaySystemOauthToken()
 * 获取芝麻信用分:client.ZhimaCreditScoreGet()
 
 ## 支付宝公共API

+ 1 - 0
README_EN.md

@@ -80,6 +80,7 @@ The Golang SDK for WeChat and AliPay
 * alipay.trade.order.settle:client.AliPayTradeOrderSettle()
 * alipay.trade.precreate(User Scan Merchant):client.AliPayTradePrecreate()
 * alipay.fund.trans.toaccount.transfer:client.AlipayFundTransToaccountTransfer()
+* alipay.system.oauth.token(obtain access_token, user_id and so on):client.AliPaySystemOauthToken()
 * zhima.credit.score.get:client.ZhimaCreditScoreGet()
 
 ## Alipay Public API

+ 1 - 1
alipay_client.go

@@ -394,7 +394,7 @@ func (this *aliPayClient) AliPaySystemOauthToken(body BodyMap) (aliRsp *AliPaySy
 		return nil, errors.New("code and refresh_token are not allowed to be null at the same time")
 	}
 
-	bytes, err = this.doAliPay(body, "alipay.system.oauth.token")
+	bytes, err = aliPaySystemOauthToken(this.AppId, this.privateKey, body, "alipay.system.oauth.token")
 	if err != nil {
 		return nil, err
 	}

+ 2 - 2
alipay_service_api.go

@@ -311,7 +311,7 @@ func AliPaySystemOauthToken(appId, privateKey, grantType, codeOrToken string) (r
 		body.Set("grant_type", "authorization_code")
 		body.Set("code", codeOrToken)
 	}
-	bs, err = doAliPay(appId, privateKey, body, "alipay.system.oauth.token")
+	bs, err = aliPaySystemOauthToken(appId, privateKey, body, "alipay.system.oauth.token")
 	if err != nil {
 		return nil, err
 	}
@@ -329,7 +329,7 @@ func AliPaySystemOauthToken(appId, privateKey, grantType, codeOrToken string) (r
 }
 
 //向支付宝发送请求
-func doAliPay(appId, privateKey string, body BodyMap, method string) (bytes []byte, err error) {
+func aliPaySystemOauthToken(appId, privateKey string, body BodyMap, method string) (bytes []byte, err error) {
 	//===============生成参数===================
 	body.Set("app_id", appId)
 	body.Set("method", method)

+ 45 - 0
examples/alipay/alipay_AliPaySystemOauthToken.go

@@ -0,0 +1,45 @@
+package alipay
+
+import (
+	"fmt"
+	"github.com/iGoogle-ink/gopay"
+)
+
+func AliPaySystemOauthToken() {
+	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="
+	//初始化支付宝客户端
+	//    appId:应用ID
+	//    privateKey:应用秘钥
+	//    isProd:是否是正式环境
+	client := gopay.NewAliPayClient("2016091200494382", privateKey, false)
+	//配置公共参数
+	client.SetCharset("utf-8").
+		SetSignType("RSA2")
+	//请求参数
+	body := make(gopay.BodyMap)
+	body.Set("grant_type", "authorization_code")
+	body.Set("code", "d063be42d4f34f33bff3fd898b53RB69")
+
+	//创建订单
+	aliRsp, err := client.AliPaySystemOauthToken(body)
+	if err != nil {
+		fmt.Println("err:", err)
+		return
+	}
+	fmt.Println("aliRsp:", *aliRsp)
+
+	//支付宝小程序创建订单
+	client.SetNotifyUrl("https://www.gopay.ink")
+	body2 := make(gopay.BodyMap)
+	body2.Set("subject", "创建订单")
+	body2.Set("buyer_id", aliRsp.AliPaySystemOauthTokenResponse.UserId)
+	body2.Set("out_trade_no", "GZ201901301040355707")
+	body2.Set("total_amount", "0.01")
+
+	rsp, err := client.AliPayTradeCreate(body2)
+	if err != nil {
+		fmt.Println("err:", err)
+		return
+	}
+	fmt.Println("aliRsp222:", *rsp)
+}

+ 1 - 1
examples/alipay/alipay_ServiceApi.go

@@ -21,7 +21,7 @@ func FormatAliPayPublicKey() {
 	fmt.Println(pKey)
 }
 
-func AliPaySystemOauthToken() {
+func AliPaySystemOauthToken2() {
 	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 := gopay.AliPaySystemOauthToken("2016091200494382", privateKey, "", "06e8961891d647c0ac99bb1cebe7SE69")
 	if err != nil {