Jerry 6 年之前
父节点
当前提交
7876e71415
共有 3 个文件被更改,包括 61 次插入6 次删除
  1. 53 0
      README.md
  2. 6 5
      examples/alipay/alipay_AliPaySystemOauthToken.go
  3. 2 1
      examples/alipay/alipay_AliPayTradeCreate.go

+ 53 - 0
README.md

@@ -653,6 +653,59 @@ if err != nil {
 fmt.Println("aliRsp:", *aliRsp)
 ```
 
+
+### 支付宝小程序支付
+
+* 支付宝小程序支付时 buyer_id 为必传参数,需要提前获取获取方法如下两种,下面示例代码使用的第二种
+    * gopay.AliPaySystemOauthToken()
+    * client.AliPaySystemOauthToken()
+
+> 获取用户user_id文档:[换取授权访问令牌](https://docs.open.alipay.com/api_9/alipay.system.oauth.token) 
+
+> 创建支付订单文档:[统一收单交易创建接口](https://docs.open.alipay.com/api_1/alipay.trade.create) 
+
+> 支付宝小程序支付文档:[小程序唤起支付](https://docs.alipay.com/mini/api/openapi-pay) 
+```go
+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").
+    SetNotifyUrl("https://www.gopay.ink")
+//请求参数
+body := make(gopay.BodyMap)
+body.Set("grant_type", "authorization_code")
+body.Set("code", "46523714c2654d0583d91aaa862aOF69")
+
+//创建订单
+aliRsp, err := client.AliPaySystemOauthToken(body)
+if err != nil {
+    fmt.Println("err:", err)
+    return
+}
+fmt.Println("aliRsp:", *aliRsp)
+
+//支付宝小程序创建订单
+body2 := make(gopay.BodyMap)
+body2.Set("subject", "创建订单")
+body2.Set("buyer_id", aliRsp.AliPaySystemOauthTokenResponse.UserId)
+body2.Set("out_trade_no", "GZ201901301040355708")
+body2.Set("total_amount", "0.01")
+
+rsp, err := client.AliPayTradeCreate(body2)
+if err != nil {
+    fmt.Println("err:", err)
+    return
+}
+fmt.Println("rsp:", *rsp)
+//此参数为支付宝小程序支付所需要的参数
+fmt.Println("TradeNo:", rsp.AliPayTradeCreateResponse.TradeNo)
+```
+
 ### 统一收单交易退款接口
 
 * 交易订单退款接口,具体条件请看官方文档介绍

+ 6 - 5
examples/alipay/alipay_AliPaySystemOauthToken.go

@@ -14,11 +14,12 @@ func AliPaySystemOauthToken() {
 	client := gopay.NewAliPayClient("2016091200494382", privateKey, false)
 	//配置公共参数
 	client.SetCharset("utf-8").
-		SetSignType("RSA2")
+		SetSignType("RSA2").
+		SetNotifyUrl("https://www.gopay.ink")
 	//请求参数
 	body := make(gopay.BodyMap)
 	body.Set("grant_type", "authorization_code")
-	body.Set("code", "d063be42d4f34f33bff3fd898b53RB69")
+	body.Set("code", "46523714c2654d0583d91aaa862aOF69")
 
 	//创建订单
 	aliRsp, err := client.AliPaySystemOauthToken(body)
@@ -29,11 +30,10 @@ func AliPaySystemOauthToken() {
 	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("out_trade_no", "GZ201901301040355708")
 	body2.Set("total_amount", "0.01")
 
 	rsp, err := client.AliPayTradeCreate(body2)
@@ -41,5 +41,6 @@ func AliPaySystemOauthToken() {
 		fmt.Println("err:", err)
 		return
 	}
-	fmt.Println("aliRsp222:", *rsp)
+	fmt.Println("rsp:", *rsp)
+	fmt.Println("TradeNo:", rsp.AliPayTradeCreateResponse.TradeNo)
 }

+ 2 - 1
examples/alipay/alipay_AliPayTradeCreate.go

@@ -7,6 +7,7 @@ import (
 
 func AliPayTradeCreate() {
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
+	//privateKey := "MIIEpgIBAAKCAQEA5JwIRwps/xrBFLCRHL727tofHEDE74I+NMkUkHCEd0qI7lOYrz72761hjw0/Np+io8DQDNf3AV0+HJGQAuMadhgmcLUnfB7BJwEL1wgc2Uk8oj8XBIJUKmc+APtJ3NhUgd7s4p63IVKjQfp8oMbGZS3/dJdamBEqGJn3bep7WlKyJy5bL3KY+fX5F1DNif8xfHBSygkniKhTt/pkKaEP6uiEvhZuorPKGTowU99cqJZAqNVGcZV/30UEerR9BHV5g3iZHRxebGNbC9WSBqVWoGhdo23Xl0QG6KmuZ1akF7mdq1e7Qlpm0SkYimqipRhSflu2N/mIW2pesypX2DRE8wIDAQABAoIBAQDDvkJsKaYoTI00nPaziWPAIm3u8BpwBbIj2mTMRDt4NQ7IGjYrH5uqn2dgaHRO3iMRWYAK70RlG6SaK50Gi9RVd9o6OTKk2WSDdCbiKOUiu826EpEv4DQW1q3Fg2S8P1MknG9yn3mog6ycStE5jNnFOrx35TzB5jiINhUhPVv/eh6iDkHCxfOh2R4+vPYjNXlzhgcR3qh19Rnd2uuzscbRtljoZpA3qE0tIawW7HmesKqjfHL3O/kHJGmZjK/uhNvZmPMzilmFb+q3R3BXbAPNc/efkv0GF1fS0Xy2h0YYfkNTDzewsU7Qwkw/iT29IUUn9uxAux6SYyubCdLRIMtpAoGBAP3uxgt0kX4AN0CUibkyvDlaw+amkjTgk9voH78CPUej58sIkWcaPJJwAFOhzNbsTlNp3mZ2xx58gqJU2Rm1/6bsQbYRjN9qVY8Fco7ClysOaf9bwDBqnIjv9eHZdw8EmR4qnPCH9yjBWDMODKxIhAhsuwm4D7GmsHrFAp5w7PlnAoGBAOZ4e2sOfVAiM9ZoHIlaNLW2Z1PKkc/1k+Hxoxl5dq9nHB9RAGqpO4vjbMc6d1wVRr02GZE8RaLSzS7WrAgSzsWgtql4P8TvrjPvIPEyN1B7/eqR6yNDGRHLkYbDg54SeRI/yUg7EwMARJqa24zP503IA40JZgaVHLti5XYCIoSVAoGBAIx/oXpTG/EQY4HK7czXgodlbgDfZwP0wjqpW29O6OMLkEOpUPIv9RW8/KFJY9IC22+RoykkTRXUJF92/MwaBAKys8TuPviamA5TIEhW6Fc9WW6dsF/ZjRTDWFOHBDX+AE5Nm5oGUL1vBMLy4hYs5UjYCEDfY2eS6BB1kvZhWuy/AoGBAKJHf4+YOkBsdNepoz5LmAXDE+p6HkWyA5j6jf9n+Vv0XGbooER6OQV886Es19Ks4IxmRYZwTBAkInmyipt8sr+RNE0L8Mr4gU7sN+Pdmfk/9UBv0oOXwVU4Y5XioRByrXFeHJqRjgd07tl15NW3poSsK2PplD9aS0rejfeT9T4pAoGBAKELHKfRAWILgkI/L5RrvaoUEkdy1hw9a+b+V1TKB+wDbrsomzL2BPnBYjqtw2ZhTffpxzS3ZpSzlMtgmcYhpyAvq5GlPw+wbsNXr4tCIu8eYLc6QoypmO8kE2FornyZfol5ygEu6HSUSwEHHjIQBDxtAlYgBPZOetDVdDVJD1nR"
 	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
@@ -21,7 +22,7 @@ func AliPayTradeCreate() {
 	body := make(gopay.BodyMap)
 	body.Set("subject", "创建订单")
 	body.Set("buyer_id", "2088802095984694")
-	body.Set("out_trade_no", "GZ201901301040355706")
+	body.Set("out_trade_no", "GZ201901301040355709")
 	body.Set("total_amount", "0.01")
 	//创建订单
 	aliRsp, err := client.AliPayTradeCreate(body)