Jerry 6 лет назад
Родитель
Сommit
085702516e

+ 154 - 107
README.md

@@ -3,7 +3,6 @@
 
 
 # GoPay
 # GoPay
 
 
-[English Document](https://github.com/iGoogle-ink/gopay/blob/master/README_EN.md)
 
 
 微信和支付宝的Golang版本SDK
 微信和支付宝的Golang版本SDK
 
 
@@ -14,9 +13,17 @@
 ![Travis (.org)](https://img.shields.io/travis/iGoogle-ink/gopay)
 ![Travis (.org)](https://img.shields.io/travis/iGoogle-ink/gopay)
 ![License](https://img.shields.io/github/license/iGoogle-ink/gopay)
 ![License](https://img.shields.io/github/license/iGoogle-ink/gopay)
 
 
-### 微信Client
+### 微信 Client
 
 
-* client := gopay.NewWeChatClient() => 初始化微信支付客户端
+* wechat.NewClient() => 初始化微信支付客户端
+
+```go
+import (
+	"github.com/iGoogle-ink/gopay/wechat"
+)
+
+client := wechat.NewClient()
+```
 
 
 ### 微信支付API
 ### 微信支付API
 
 
@@ -38,67 +45,76 @@
 
 
 ### 微信公共API
 ### 微信公共API
 
 
-* gopay.GetWeChatParamSign() => 获取微信支付所需参数里的Sign值(通过支付参数计算Sign值)
-* gopay.GetWeChatSanBoxParamSign() => 获取微信支付沙箱环境所需参数里的Sign值(通过支付参数计算Sign值)
-* gopay.GetMiniPaySign() => 获取微信小程序支付所需要的paySign
-* gopay.GetH5PaySign() => 获取微信内H5支付所需要的paySign
-* gopay.GetAppPaySign() => 获取APP支付所需要的paySign
-* gopay.ParseWeChatNotifyResultToBodyMap() => 解析微信支付异步通知的参数到BodyMap
-* gopay.ParseWeChatNotifyResult() => 解析微信支付异步通知的参数
-* gopay.ParseWeChatRefundNotifyResult() => 解析微信退款异步通知的参数
-* gopay.VerifyWeChatSign() => 微信同步返回参数验签或异步通知参数验签
-* gopay.Code2Session() => 登录凭证校验:获取微信用户OpenId、UnionId、SessionKey
-* gopay.GetWeChatAppletAccessToken() => 获取微信小程序全局唯一后台接口调用凭据
-* gopay.GetWeChatAppletPaidUnionId() => 微信小程序用户支付完成后,获取该用户的 UnionId,无需用户授权
-* gopay.GetWeChatUserInfo() => 微信公众号:获取用户基本信息(UnionID机制)
-* gopay.DecryptWeChatOpenDataToStruct() => 加密数据,解密到指定结构体
-* gopay.DecryptWeChatOpenDataToBodyMap() => 加密数据,解密到 BodyMap
-* gopay.GetOpenIdByAuthCode() => 授权码查询openid
-* gopay.GetAppWeChatLoginAccessToken() => App应用微信第三方登录,code换取access_token
-* gopay.RefreshAppWeChatLoginAccessToken() => 刷新App应用微信第三方登录后,获取的 access_token
-* gopay.DecryptRefundNotifyReqInfo() => 解密微信退款异步通知的加密数据
+* wechat.GetParamSign() => 获取微信支付所需参数里的Sign值(通过支付参数计算Sign值)
+* wechat.GetSanBoxParamSign() => 获取微信支付沙箱环境所需参数里的Sign值(通过支付参数计算Sign值)
+* wechat.GetMiniPaySign() => 获取微信小程序支付所需要的paySign
+* wechat.GetH5PaySign() => 获取微信内H5支付所需要的paySign
+* wechat.GetAppPaySign() => 获取APP支付所需要的paySign
+* wechat.ParseNotifyResultToBodyMap() => 解析微信支付异步通知的参数到BodyMap
+* wechat.ParseNotifyResult() => 解析微信支付异步通知的参数
+* wechat.ParseRefundNotifyResult() => 解析微信退款异步通知的参数
+* wechat.VerifySign() => 微信同步返回参数验签或异步通知参数验签
+* wechat.Code2Session() => 登录凭证校验:获取微信用户OpenId、UnionId、SessionKey
+* wechat.GetAppletAccessToken() => 获取微信小程序全局唯一后台接口调用凭据
+* wechat.GetAppletPaidUnionId() => 微信小程序用户支付完成后,获取该用户的 UnionId,无需用户授权
+* wechat.GetUserInfo() => 微信公众号:获取用户基本信息(UnionID机制)
+* wechat.DecryptOpenDataToStruct() => 加密数据,解密到指定结构体
+* wechat.DecryptOpenDataToBodyMap() => 加密数据,解密到 BodyMap
+* wechat.GetOpenIdByAuthCode() => 授权码查询openid
+* wechat.GetAppLoginAccessToken() => App应用微信第三方登录,code换取access_token
+* wechat.RefreshAppLoginAccessToken() => 刷新App应用微信第三方登录后,获取的 access_token
+* wechat.DecryptRefundNotifyReqInfo() => 解密微信退款异步通知的加密数据
 
 
 ---
 ---
 
 
-### 支付宝Client
+### 支付宝 Client
+
+* client := alipay.NewClient() => 初始化支付宝支付客户端
 
 
-* client := gopay.NewAliPayClient() => 初始化支付宝支付客户端
+```go
+import (
+	"github.com/iGoogle-ink/gopay/alipay"
+)
+
+client := alipay.NewClient()
+```
 
 
 ### 支付宝支付API
 ### 支付宝支付API
 
 
-* 手机网站支付接口2.0(手机网站支付):client.AliPayTradeWapPay()
-* 统一收单下单并支付页面接口(电脑网站支付):client.AliPayTradePagePay()
-* APP支付接口2.0(APP支付):client.AliPayTradeAppPay()
-* 统一收单交易支付接口(商家扫用户付款码):client.AliPayTradePay()
-* 统一收单交易创建接口(小程序支付):client.AliPayTradeCreate()
-* 统一收单线下交易查询:client.AliPayTradeQuery()
-* 统一收单交易关闭接口:client.AliPayTradeClose()
-* 统一收单交易撤销接口:client.AliPayTradeCancel()
-* 统一收单交易退款接口:client.AliPayTradeRefund()
-* 统一收单退款页面接口:client.AliPayTradePageRefund()
-* 统一收单交易退款查询:client.AliPayTradeFastPayRefundQuery()
-* 统一收单交易结算接口:client.AliPayTradeOrderSettle()
-* 统一收单线下交易预创建(用户扫商品收款码):client.AliPayTradePrecreate()
-* 单笔转账到支付宝账户接口(商户给支付宝用户转账):client.AlipayFundTransToaccountTransfer()
-* 换取授权访问令牌(获取access_token,user_id等信息):client.AliPaySystemOauthToken()
-* 支付宝会员授权信息查询接口(App支付宝登录):client.AlipayUserInfoShare()
-* 换取应用授权令牌(获取app_auth_token,auth_app_id,user_id等信息):client.AliPayOpenAuthTokenApp()
+* 手机网站支付接口2.0(手机网站支付):client.TradeWapPay()
+* 统一收单下单并支付页面接口(电脑网站支付):client.TradePagePay()
+* APP支付接口2.0(APP支付):client.TradeAppPay()
+* 统一收单交易支付接口(商家扫用户付款码):client.TradePay()
+* 统一收单交易创建接口(小程序支付):client.TradeCreate()
+* 统一收单线下交易查询:client.TradeQuery()
+* 统一收单交易关闭接口:client.TradeClose()
+* 统一收单交易撤销接口:client.TradeCancel()
+* 统一收单交易退款接口:client.TradeRefund()
+* 统一收单退款页面接口:client.TradePageRefund()
+* 统一收单交易退款查询:client.TradeFastPayRefundQuery()
+* 统一收单交易结算接口:client.TradeOrderSettle()
+* 统一收单线下交易预创建(用户扫商品收款码):client.TradePrecreate()
+* 单笔转账到支付宝账户接口(商户给支付宝用户转账):client.FundTransToaccountTransfer()
+* 换取授权访问令牌(获取access_token,user_id等信息):client.SystemOauthToken()
+* 支付宝会员授权信息查询接口(App支付宝登录):client.UserInfoShare()
+* 换取应用授权令牌(获取app_auth_token,auth_app_id,user_id等信息):client.OpenAuthTokenApp()
 * 获取芝麻信用分:client.ZhimaCreditScoreGet()
 * 获取芝麻信用分:client.ZhimaCreditScoreGet()
-* 身份认证初始化服务:client.AliPayUserCertifyOpenInit()
-* 身份认证开始认证(获取认证链接):client.AliPayUserCertifyOpenCertify()
-* 身份认证记录查询:client.AliPayUserCertifyOpenQuery()
+* 身份认证初始化服务:client.UserCertifyOpenInit()
+* 身份认证开始认证(获取认证链接):client.UserCertifyOpenCertify()
+* 身份认证记录查询:client.UserCertifyOpenQuery()
 
 
 ### 支付宝公共API
 ### 支付宝公共API
 
 
-* gopay.GetCertSN() => 获取证书SN号(app_cert_sn、alipay_cert_sn、alipay_root_cert_sn>
-* gopay.AliPaySystemOauthToken() => 换取授权访问令牌(得到access_token,user_id等信息)
-* gopay.FormatPrivateKey() => 格式化应用私钥
-* gopay.FormatAliPayPublicKey() => 格式化支付宝公钥
-* gopay.ParseAliPayNotifyResult() => 解析支付宝支付异步通知的参数到Struct
-* gopay.ParseAliPayNotifyResultToBodyMap() => 解析支付宝支付异步通知的参数到BodyMap
-* gopay.VerifyAliPaySign() => 支付宝异步通知参数验签
-* gopay.VerifyAliPaySyncSign() => 支付宝同步返回参数验签
-* gopay.DecryptAliPayOpenDataToStruct() => 支付宝小程序敏感加密数据解析到结构体
+* alipay.GetCertSN() => 获取证书SN号(app_cert_sn、alipay_cert_sn、alipay_root_cert_sn>
+* alipay.SystemOauthToken() => 换取授权访问令牌(得到access_token,user_id等信息)
+* alipay.FormatPrivateKey() => 格式化应用私钥
+* alipay.FormatPublicKey() => 格式化支付宝公钥
+* alipay.ParseNotifyResult() => 解析支付宝支付异步通知的参数到Struct
+* alipay.ParseNotifyResultToBodyMap() => 解析支付宝支付异步通知的参数到BodyMap
+* alipay.VerifySign() => 支付宝异步通知参数验签
+* alipay.VerifySyncSign() => 支付宝同步返回参数验签
+* alipay.DecryptOpenDataToStruct() => 解密支付宝开放数据到 结构体
+* alipay.DecryptOpenDataToBodyMap() => 解密支付宝开放数据到 BodyMap
 
 
 # 一、安装
 # 一、安装
 
 
@@ -109,10 +125,9 @@ $ go get -u github.com/iGoogle-ink/gopay
 * #### 查看 GoPay 版本
 * #### 查看 GoPay 版本
     * [版本更新记录](https://github.com/iGoogle-ink/gopay/blob/master/release_note.txt)
     * [版本更新记录](https://github.com/iGoogle-ink/gopay/blob/master/release_note.txt)
 ```go
 ```go
-package main
-
 import (
 import (
     "fmt"
     "fmt"
+
     "github.com/iGoogle-ink/gopay"
     "github.com/iGoogle-ink/gopay"
 )
 )
 
 
@@ -140,12 +155,16 @@ QQ群:
 
 
 微信官方文档:[官方文档](https://pay.weixin.qq.com/wiki/doc/api/index.html)
 微信官方文档:[官方文档](https://pay.weixin.qq.com/wiki/doc/api/index.html)
 ```go
 ```go
+import (
+	"github.com/iGoogle-ink/gopay/wechat"
+)
+
 // 初始化微信客户端
 // 初始化微信客户端
 //    appId:应用ID
 //    appId:应用ID
 //    mchId:商户ID
 //    mchId:商户ID
 //    apiKey:API秘钥值
 //    apiKey:API秘钥值
 //    isProd:是否是正式环境
 //    isProd:是否是正式环境
-client := gopay.NewWeChatClient("wxdaa2ab9ef87b5497", mchId, apiKey, false)
+client := wechat.NewClient("wxdaa2ab9ef87b5497", mchId, apiKey, false)
 
 
 // 设置国家:不设置默认 中国国内
 // 设置国家:不设置默认 中国国内
 //    gopay.China:中国国内
 //    gopay.China:中国国内
@@ -178,11 +197,15 @@ client.AddCertFilePath()
 沙箱环境使用说明:[文档地址](https://docs.open.alipay.com/200/105311)
 沙箱环境使用说明:[文档地址](https://docs.open.alipay.com/200/105311)
 
 
 ```go
 ```go
+import (
+	"github.com/iGoogle-ink/gopay/alipay"
+)
+
 //初始化支付宝客户端
 //初始化支付宝客户端
 //    appId:应用ID
 //    appId:应用ID
 //    privateKey:应用秘钥
 //    privateKey:应用秘钥
 //    isProd:是否是正式环境
 //    isProd:是否是正式环境
-client := gopay.NewAliPayClient("2016091200494382", privateKey, false)
+client := alipay.NewClient("2016091200494382", privateKey, false)
 
 
 //设置支付宝请求 公共参数
 //设置支付宝请求 公共参数
 //    注意:具体设置哪些参数,根据不同的方法而不同,此处列举出所以设置参数
 //    注意:具体设置哪些参数,根据不同的方法而不同,此处列举出所以设置参数
@@ -206,6 +229,10 @@ client, err := client.SetAliPayRootCertSnByPath("alipayRootCert.crt")
 
 
 具体参数请根据不同接口查看:[微信支付接口文档](https://pay.weixin.qq.com/wiki/doc/api/index.html)
 具体参数请根据不同接口查看:[微信支付接口文档](https://pay.weixin.qq.com/wiki/doc/api/index.html)
 ```go
 ```go
+import (
+	"github.com/iGoogle-ink/gopay/wechat"
+)
+
 //初始化 BodyMap
 //初始化 BodyMap
 bm := make(gopay.BodyMap)
 bm := make(gopay.BodyMap)
 bm.Set("nonce_str", gopay.GetRandomString(32))
 bm.Set("nonce_str", gopay.GetRandomString(32))
@@ -232,8 +259,8 @@ bm.Set("scene_info", sceneInfo)
 
 
 //参数 sign ,可单独生成赋值到BodyMap中;也可不传sign参数,client内部会自动获取
 //参数 sign ,可单独生成赋值到BodyMap中;也可不传sign参数,client内部会自动获取
 //如需单独赋值 sign 参数,需通过下面方法,最后获取sign值并在最后赋值此参数
 //如需单独赋值 sign 参数,需通过下面方法,最后获取sign值并在最后赋值此参数
-sign := gopay.GetWeChatParamSign("wxdaa2ab9ef87b5497", mchId, apiKey, body)
-//sign, _ := gopay.GetWeChatSanBoxParamSign("wxdaa2ab9ef87b5497", mchId, apiKey, body)
+sign := wechat.GetParamSign("wxdaa2ab9ef87b5497", mchId, apiKey, body)
+//sign, _ := wechat.GetSanBoxParamSign("wxdaa2ab9ef87b5497", mchId, apiKey, body)
 bm.Set("sign", sign)
 bm.Set("sign", sign)
 ```
 ```
 
 
@@ -241,7 +268,6 @@ bm.Set("sign", sign)
 
 
 具体参数请根据不同接口查看:[支付宝支付API接口文档](https://docs.open.alipay.com/api_1/alipay.trade.wap.pay)
 具体参数请根据不同接口查看:[支付宝支付API接口文档](https://docs.open.alipay.com/api_1/alipay.trade.wap.pay)
 ```go
 ```go
-//此时李
 //初始化 BodyMap
 //初始化 BodyMap
 bm := make(gopay.BodyMap)
 bm := make(gopay.BodyMap)
 bm.Set("subject", "手机网站测试支付")
 bm.Set("subject", "手机网站测试支付")
@@ -271,37 +297,37 @@ wxRsp, err := client.Transfer(bm, "apiclient_cert.pem", "apiclient_key.pem", "ap
 * #### 支付宝 client
 * #### 支付宝 client
 ```go
 ```go
 //手机网站支付是通过服务端获取支付URL后,然后返回给客户端,请求URL地址即可打开支付页面
 //手机网站支付是通过服务端获取支付URL后,然后返回给客户端,请求URL地址即可打开支付页面
-payUrl, err := client.AliPayTradeWapPay(bm)
+payUrl, err := client.TradeWapPay(bm)
 
 
 //电脑网站支付是通过服务端获取支付URL后,然后返回给客户端,请求URL地址即可打开支付页面
 //电脑网站支付是通过服务端获取支付URL后,然后返回给客户端,请求URL地址即可打开支付页面
-payUrl, err := client.AliPayTradePagePay(bm)
+payUrl, err := client.TradePagePay(bm)
 
 
 //APP支付是通过服务端获取支付参数后,然后通过Android/iOS客户端的SDK调用支付功能
 //APP支付是通过服务端获取支付参数后,然后通过Android/iOS客户端的SDK调用支付功能
-payParam, err := client.AliPayTradeAppPay(bm)
+payParam, err := client.TradeAppPay(bm)
 
 
 //商家使用扫码枪等条码识别设备扫描用户支付宝钱包上的条码/二维码,完成收款
 //商家使用扫码枪等条码识别设备扫描用户支付宝钱包上的条码/二维码,完成收款
-aliRsp, err := client.AliPayTradePay(bm)
+aliRsp, err := client.TradePay(bm)
 
 
 //支付宝小程序支付时 buyer_id 为必传参数,需要提前获取,获取方法如下两种
 //支付宝小程序支付时 buyer_id 为必传参数,需要提前获取,获取方法如下两种
-//    1、gopay.AliPaySystemOauthToken()     返回取值:rsp.AliPaySystemOauthTokenResponse.UserId
-//    2、client.AliPaySystemOauthToken()    返回取值:aliRsp.AliPaySystemOauthTokenResponse.UserId
-aliRsp, err := client.AliPayTradeCreate(bm)
-
-aliRsp, err := client.AliPayTradeQuery(bm)
-aliRsp, err := client.AliPayTradeClose(bm)
-aliRsp, err := client.AliPayTradeCancel(bm)
-aliRsp, err := client.AliPayTradeRefund(bm)
-aliRsp, err := client.AliPayTradePageRefund(bm)
-aliRsp, err := client.AliPayTradeFastPayRefundQuery(bm)
-aliRsp, err := client.AliPayTradeOrderSettle(bm)
-aliRsp, err := client.AliPayTradePrecreate(bm)
-aliRsp, err := client.AlipayFundTransToaccountTransfer(bm)
-aliRsp, err := client.AliPaySystemOauthToken(bm)
-aliRsp, err := client.AliPayOpenAuthTokenApp(bm)
+//    1、gopay.SystemOauthToken()     返回取值:rsp.SystemOauthTokenResponse.UserId
+//    2、client.SystemOauthToken()    返回取值:aliRsp.SystemOauthTokenResponse.UserId
+aliRsp, err := client.TradeCreate(bm)
+
+aliRsp, err := client.TradeQuery(bm)
+aliRsp, err := client.TradeClose(bm)
+aliRsp, err := client.TradeCancel(bm)
+aliRsp, err := client.TradeRefund(bm)
+aliRsp, err := client.TradePageRefund(bm)
+aliRsp, err := client.TradeFastPayRefundQuery(bm)
+aliRsp, err := client.TradeOrderSettle(bm)
+aliRsp, err := client.TradePrecreate(bm)
+aliRsp, err := client.FundTransToaccountTransfer(bm)
+aliRsp, err := client.SystemOauthToken(bm)
+aliRsp, err := client.OpenAuthTokenApp(bm)
 aliRsp, err := client.ZhimaCreditScoreGet(bm)
 aliRsp, err := client.ZhimaCreditScoreGet(bm)
-aliRsp, err := client.AliPayUserCertifyOpenInit(bm)
-aliRsp, err := client.AliPayUserCertifyOpenCertify(bm)
-aliRsp, err := client.AliPayUserCertifyOpenQuery(bm)
+aliRsp, err := client.UserCertifyOpenInit(bm)
+aliRsp, err := client.UserCertifyOpenCertify(bm)
+aliRsp, err := client.UserCertifyOpenQuery(bm)
 ```
 ```
 
 
 ## 4、微信统一下单后,获取微信小程序支付、APP支付、微信内H5支付所需要的 paySign
 ## 4、微信统一下单后,获取微信小程序支付、APP支付、微信内H5支付所需要的 paySign
@@ -313,42 +339,46 @@ APP支付官方文档:[APP端调起支付的参数列表文档](https://pay.we
 
 
 微信内H5支付官方文档:[微信内H5支付文档](https://pay.weixin.qq.com/wiki/doc/api/external/jsapi.php?chapter=7_7&index=6)
 微信内H5支付官方文档:[微信内H5支付文档](https://pay.weixin.qq.com/wiki/doc/api/external/jsapi.php?chapter=7_7&index=6)
 ```go
 ```go
+import (
+	"github.com/iGoogle-ink/gopay/wechat"
+)
+
 //====微信小程序 paySign====
 //====微信小程序 paySign====
 timeStamp := strconv.FormatInt(time.Now().Unix(), 10)
 timeStamp := strconv.FormatInt(time.Now().Unix(), 10)
 prepayId := "prepay_id=" + wxRsp.PrepayId   //此处的 wxRsp.PrepayId ,统一下单成功后得到
 prepayId := "prepay_id=" + wxRsp.PrepayId   //此处的 wxRsp.PrepayId ,统一下单成功后得到
 //获取微信小程序支付的 paySign
 //获取微信小程序支付的 paySign
-//    appId:APPID
+//    appId:AppID
 //    nonceStr:随机字符串
 //    nonceStr:随机字符串
 //    prepayId:统一下单成功后得到的值
 //    prepayId:统一下单成功后得到的值
 //    signType:签名方式,务必与统一下单时用的签名方式一致
 //    signType:签名方式,务必与统一下单时用的签名方式一致
 //    timeStamp:时间
 //    timeStamp:时间
 //    apiKey:API秘钥值
 //    apiKey:API秘钥值
-paySign := gopay.GetMiniPaySign(AppID, wxRsp.NonceStr, prepayId, gopay.SignType_MD5, timeStamp, apiKey)
+paySign := wechat.GetMiniPaySign(AppID, wxRsp.NonceStr, prepayId, wechat.SignType_MD5, timeStamp, apiKey)
 
 
 //====APP支付 paySign====
 //====APP支付 paySign====
 timeStamp := strconv.FormatInt(time.Now().Unix(), 10)
 timeStamp := strconv.FormatInt(time.Now().Unix(), 10)
 //获取APP支付的 paySign
 //获取APP支付的 paySign
 //注意:package 参数因为是固定值,无需开发者再传入
 //注意:package 参数因为是固定值,无需开发者再传入
-//    appId:APPID
+//    appId:AppID
 //    partnerid:partnerid
 //    partnerid:partnerid
 //    nonceStr:随机字符串
 //    nonceStr:随机字符串
 //    prepayId:统一下单成功后得到的值
 //    prepayId:统一下单成功后得到的值
 //    signType:签名方式,务必与统一下单时用的签名方式一致
 //    signType:签名方式,务必与统一下单时用的签名方式一致
 //    timeStamp:时间
 //    timeStamp:时间
 //    apiKey:API秘钥值
 //    apiKey:API秘钥值
-paySign := gopay.GetAppPaySign(appid, partnerid, wxRsp.NonceStr, wxRsp.PrepayId, gopay.SignType_MD5, timeStamp, apiKey)
+paySign := wechat.GetAppPaySign(appid, partnerid, wxRsp.NonceStr, wxRsp.PrepayId, wechat.SignType_MD5, timeStamp, apiKey)
 
 
 //====微信内H5支付 paySign====
 //====微信内H5支付 paySign====
 timeStamp := strconv.FormatInt(time.Now().Unix(), 10)
 timeStamp := strconv.FormatInt(time.Now().Unix(), 10)
 packages := "prepay_id=" + wxRsp.PrepayId   //此处的 wxRsp.PrepayId ,统一下单成功后得到
 packages := "prepay_id=" + wxRsp.PrepayId   //此处的 wxRsp.PrepayId ,统一下单成功后得到
 //获取微信内H5支付 paySign
 //获取微信内H5支付 paySign
-//    appId:APPID
+//    appId:AppID
 //    nonceStr:随机字符串
 //    nonceStr:随机字符串
 //    packages:统一下单成功后拼接得到的值
 //    packages:统一下单成功后拼接得到的值
 //    signType:签名方式,务必与统一下单时用的签名方式一致
 //    signType:签名方式,务必与统一下单时用的签名方式一致
 //    timeStamp:时间
 //    timeStamp:时间
 //    apiKey:API秘钥值
 //    apiKey:API秘钥值
-paySign := gopay.GetMiniPaySign(AppID, wxRsp.NonceStr, packages, gopay.SignType_MD5, timeStamp, apiKey)
+paySign := wechat.GetH5PaySign(AppID, wxRsp.NonceStr, packages, wechat.SignType_MD5, timeStamp, apiKey)
 ```
 ```
 
 
 ## 5、同步返回参数验签Sign、异步通知参数解析和验签Sign、异步通知返回
 ## 5、同步返回参数验签Sign、异步通知参数解析和验签Sign、异步通知返回
@@ -361,6 +391,11 @@ paySign := gopay.GetMiniPaySign(AppID, wxRsp.NonceStr, packages, gopay.SignType_
 
 
 * #### 微信
 * #### 微信
 ```go
 ```go
+import (
+	"github.com/iGoogle-ink/gopay"
+	"github.com/iGoogle-ink/gopay/wechat"
+)
+
 //====同步返回参数验签Sign====
 //====同步返回参数验签Sign====
 wxRsp, err := client.UnifiedOrder(bm)
 wxRsp, err := client.UnifiedOrder(bm)
 // 微信同步返回参数验签或异步通知参数验签
 // 微信同步返回参数验签或异步通知参数验签
@@ -369,16 +404,16 @@ wxRsp, err := client.UnifiedOrder(bm)
 //    bean:微信同步返回的结构体 wxRsp 或 异步通知解析的结构体 notifyReq
 //    bean:微信同步返回的结构体 wxRsp 或 异步通知解析的结构体 notifyReq
 //    返回参数 ok:是否验签通过
 //    返回参数 ok:是否验签通过
 //    返回参数 err:错误信息
 //    返回参数 err:错误信息
-ok, err := gopay.VerifyWeChatSign(apiKey, gopay.SignType_MD5, wxRsp)
+ok, err := wechat.VerifySign(apiKey, wechat.SignType_MD5, wxRsp)
 
 
 //====支付异步通知参数解析和验签Sign====
 //====支付异步通知参数解析和验签Sign====
 // 解析支付异步通知的参数
 // 解析支付异步通知的参数
 //    req:*http.Request
 //    req:*http.Request
 //    返回参数 notifyReq:通知的参数
 //    返回参数 notifyReq:通知的参数
 //    返回参数 err:错误信息
 //    返回参数 err:错误信息
-notifyReq, err := gopay.ParseWeChatNotifyResult(c.Request())    //c.Request()是 echo 框架的获取 *http.Request 的写法
+notifyReq, err := wechat.ParseNotifyResult(c.Request())    //c.Request()是 echo 框架的获取 *http.Request 的写法
 //验签操作
 //验签操作
-ok, err := gopay.VerifyWeChatSign(apiKey, gopay.SignType_MD5, notifyReq)
+ok, err := wechat.VerifySign(apiKey, wechat.SignType_MD5, notifyReq)
 
 
 //====退款异步通知参数解析,退款通知无sign,不用验签====
 //====退款异步通知参数解析,退款通知无sign,不用验签====
 // 
 // 
@@ -386,13 +421,13 @@ ok, err := gopay.VerifyWeChatSign(apiKey, gopay.SignType_MD5, notifyReq)
 //    req:*http.Request
 //    req:*http.Request
 //    返回参数 notifyReq:通知的参数
 //    返回参数 notifyReq:通知的参数
 //    返回参数 err:错误信息
 //    返回参数 err:错误信息
-notifyReq, err := gopay.ParseWeChatRefundNotifyResult(c.Request())
+notifyReq, err := wechat.ParseRefundNotifyResult(c.Request())
 
 
 //==解密退款异步通知的加密参数 req_info ==
 //==解密退款异步通知的加密参数 req_info ==
-refundNotify, err := gopay.DecryptRefundNotifyReqInfo(notifyReq.ReqInfo, apiKey)
+refundNotify, err := wechat.DecryptRefundNotifyReqInfo(notifyReq.ReqInfo, apiKey)
 
 
 //==异步通知,返回给微信平台的信息==
 //==异步通知,返回给微信平台的信息==
-rsp := new(gopay.WeChatNotifyResponse) //回复微信的数据
+rsp := new(wechat.NotifyResponse) //回复微信的数据
 rsp.ReturnCode = gopay.SUCCESS
 rsp.ReturnCode = gopay.SUCCESS
 rsp.ReturnMsg = gopay.OK
 rsp.ReturnMsg = gopay.OK
 return c.String(http.StatusOK, rsp.ToXmlString())   //此写法是 echo 框架返回客户端数据的写法
 return c.String(http.StatusOK, rsp.ToXmlString())   //此写法是 echo 框架返回客户端数据的写法
@@ -404,8 +439,12 @@ return c.String(http.StatusOK, rsp.ToXmlString())   //此写法是 echo 框架
 
 
 支付宝支付后的同步/异步通知验签文档:[支付结果通知](https://docs.open.alipay.com/200/106120)
 支付宝支付后的同步/异步通知验签文档:[支付结果通知](https://docs.open.alipay.com/200/106120)
 ```go
 ```go
+import (
+	"github.com/iGoogle-ink/gopay/alipay"
+)
+
 //====同步返回参数验签Sign====
 //====同步返回参数验签Sign====
-aliRsp, err := client.AliPayTradePay(bm)
+aliRsp, err := client.TradePay(bm)
 //支付宝同步返回验签
 //支付宝同步返回验签
 //    注意:APP支付,手机网站支付,电脑网站支付 暂不支持同步返回验签
 //    注意:APP支付,手机网站支付,电脑网站支付 暂不支持同步返回验签
 //    aliPayPublicKey:支付宝公钥
 //    aliPayPublicKey:支付宝公钥
@@ -413,16 +452,16 @@ aliRsp, err := client.AliPayTradePay(bm)
 //    sign:待验签sign,aliRsp.Sign
 //    sign:待验签sign,aliRsp.Sign
 //    返回参数ok:是否验签通过
 //    返回参数ok:是否验签通过
 //    返回参数err:错误信息
 //    返回参数err:错误信息
-ok, err := gopay.VerifyAliPaySyncSign(aliPayPublicKey, aliRsp.SignData, aliRsp.Sign)
+ok, err := alipay.VerifySyncSign(aliPayPublicKey, aliRsp.SignData, aliRsp.Sign)
 
 
 //====异步通知参数解析和验签Sign====
 //====异步通知参数解析和验签Sign====
 //解析异步通知的参数
 //解析异步通知的参数
 //    req:*http.Request
 //    req:*http.Request
 //    返回参数 notifyReq:通知的参数
 //    返回参数 notifyReq:通知的参数
 //    返回参数 err:错误信息
 //    返回参数 err:错误信息
-notifyReq, err = gopay.ParseAliPayNotifyResult(c.Request())     //c.Request()是 echo 框架的获取
+notifyReq, err = alipay.ParseNotifyResult(c.Request())     //c.Request()是 echo 框架的获取
 //验签操作
 //验签操作
-ok, err = gopay.VerifyAliPaySign(aliPayPublicKey, notifyReq)
+ok, err = alipay.VerifySign(aliPayPublicKey, notifyReq)
 
 
 //==异步通知,返回支付宝平台的信息==
 //==异步通知,返回支付宝平台的信息==
 //    文档:https://docs.open.alipay.com/203/105286
 //    文档:https://docs.open.alipay.com/203/105286
@@ -440,11 +479,15 @@ button按钮获取手机号码:[button组件文档](https://developers.weixin.
 
 
 微信解密算法文档:[解密算法文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html)
 微信解密算法文档:[解密算法文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html)
 ```go
 ```go
+import (
+	"github.com/iGoogle-ink/gopay/wechat"
+)
+
 //获取微信小程序用户的OpenId、SessionKey、UnionId
 //获取微信小程序用户的OpenId、SessionKey、UnionId
 //    appId:微信小程序的APPID
 //    appId:微信小程序的APPID
 //    appSecret:微信小程序的AppSecret
 //    appSecret:微信小程序的AppSecret
 //    wxCode:小程序调用wx.login 获取的code
 //    wxCode:小程序调用wx.login 获取的code
-sessionRsp, err := gopay.Code2Session(appId, appSecret, wxCode)
+sessionRsp, err := wechat.Code2Session(appId, appSecret, wxCode)
 
 
 //====解密微信加密数据到指定结构体====
 //====解密微信加密数据到指定结构体====
 
 
@@ -452,13 +495,13 @@ sessionRsp, err := gopay.Code2Session(appId, appSecret, wxCode)
 data := "Kf3TdPbzEmhWMuPKtlKxIWDkijhn402w1bxoHL4kLdcKr6jT1jNcIhvDJfjXmJcgDWLjmBiIGJ5acUuSvxLws3WgAkERmtTuiCG10CKLsJiR+AXVk7B2TUQzsq88YVilDz/YAN3647REE7glGmeBPfvUmdbfDzhL9BzvEiuRhABuCYyTMz4iaM8hFjbLB1caaeoOlykYAFMWC5pZi9P8uw=="
 data := "Kf3TdPbzEmhWMuPKtlKxIWDkijhn402w1bxoHL4kLdcKr6jT1jNcIhvDJfjXmJcgDWLjmBiIGJ5acUuSvxLws3WgAkERmtTuiCG10CKLsJiR+AXVk7B2TUQzsq88YVilDz/YAN3647REE7glGmeBPfvUmdbfDzhL9BzvEiuRhABuCYyTMz4iaM8hFjbLB1caaeoOlykYAFMWC5pZi9P8uw=="
 iv := "Cds8j3VYoGvnTp1BrjXdJg=="
 iv := "Cds8j3VYoGvnTp1BrjXdJg=="
 session := "lyY4HPQbaOYzZdG+JcYK9w=="
 session := "lyY4HPQbaOYzZdG+JcYK9w=="
-phone := new(gopay.WeChatUserPhone)
+phone := new(wechat.UserPhone)
 //解密开放数据
 //解密开放数据
 //    encryptedData:包括敏感数据在内的完整用户信息的加密数据,小程序获取到
 //    encryptedData:包括敏感数据在内的完整用户信息的加密数据,小程序获取到
 //    iv:加密算法的初始向量,小程序获取到
 //    iv:加密算法的初始向量,小程序获取到
 //    sessionKey:会话密钥,通过 gopay.Code2Session() 方法获取到
 //    sessionKey:会话密钥,通过 gopay.Code2Session() 方法获取到
 //    beanPtr:需要解析到的结构体指针,操作完后,声明的结构体会被赋值
 //    beanPtr:需要解析到的结构体指针,操作完后,声明的结构体会被赋值
-err := gopay.DecryptWeChatOpenDataToStruct(data, iv, session, phone)
+err := wechat.DecryptOpenDataToStruct(data, iv, session, phone)
 fmt.Println(*phone)
 fmt.Println(*phone)
 //获取微信小程序用户信息
 //获取微信小程序用户信息
 sessionKey := "tiihtNczf5v6AKRyjwEUhQ=="
 sessionKey := "tiihtNczf5v6AKRyjwEUhQ=="
@@ -466,8 +509,8 @@ encryptedData := "CiyLU1Aw2KjvrjMdj8YKliAjtP4gsMZMQmRzooG2xrDcvSnxIMXFufNstNGTya
 iv2 := "r7BXXKkLb8qrSNn05n0qiA=="
 iv2 := "r7BXXKkLb8qrSNn05n0qiA=="
 
 
 //微信小程序 用户信息
 //微信小程序 用户信息
-userInfo := new(gopay.WeChatAppletUserInfo)
-err = gopay.DecryptWeChatOpenDataToStruct(encryptedData, iv2, sessionKey, userInfo)
+userInfo := new(wechat.AppletUserInfo)
+err = wechat.DecryptOpenDataToStruct(encryptedData, iv2, sessionKey, userInfo)
 fmt.Println(*userInfo)
 fmt.Println(*userInfo)
 
 
 data := "Kf3TdPbzEmhWMuPKtlKxIWDkijhn402w1bxoHL4kLdcKr6jT1jNcIhvDJfjXmJcgDWLjmBiIGJ5acUuSvxLws3WgAkERmtTuiCG10CKLsJiR+AXVk7B2TUQzsq88YVilDz/YAN3647REE7glGmeBPfvUmdbfDzhL9BzvEiuRhABuCYyTMz4iaM8hFjbLB1caaeoOlykYAFMWC5pZi9P8uw=="
 data := "Kf3TdPbzEmhWMuPKtlKxIWDkijhn402w1bxoHL4kLdcKr6jT1jNcIhvDJfjXmJcgDWLjmBiIGJ5acUuSvxLws3WgAkERmtTuiCG10CKLsJiR+AXVk7B2TUQzsq88YVilDz/YAN3647REE7glGmeBPfvUmdbfDzhL9BzvEiuRhABuCYyTMz4iaM8hFjbLB1caaeoOlykYAFMWC5pZi9P8uw=="
@@ -478,7 +521,7 @@ session := "lyY4HPQbaOYzZdG+JcYK9w=="
 //    encryptedData:包括敏感数据在内的完整用户信息的加密数据
 //    encryptedData:包括敏感数据在内的完整用户信息的加密数据
 //    iv:加密算法的初始向量
 //    iv:加密算法的初始向量
 //    sessionKey:会话密钥
 //    sessionKey:会话密钥
-bm, err := gopay.DecryptWeChatOpenDataToBodyMap(data, iv, session)
+bm, err := wechat.DecryptOpenDataToBodyMap(data, iv, session)
 if err != nil {
 if err != nil {
      fmt.Println("err:", err)
      fmt.Println("err:", err)
      return
      return
@@ -494,21 +537,25 @@ fmt.Println("WeChatUserPhone:", bm)
 
 
 支付宝加解密文档:[AES配置文档](https://docs.alipay.com/mini/introduce/aes),[AES加解密文档](https://docs.open.alipay.com/common/104567)
 支付宝加解密文档:[AES配置文档](https://docs.alipay.com/mini/introduce/aes),[AES加解密文档](https://docs.open.alipay.com/common/104567)
 ```go
 ```go
+import (
+	"github.com/iGoogle-ink/gopay/alipay"
+)
+
 //换取授权访问令牌(默认使用utf-8,RSA2)
 //换取授权访问令牌(默认使用utf-8,RSA2)
 //    appId:应用ID
 //    appId:应用ID
 //    privateKey:应用私钥
 //    privateKey:应用私钥
 //    grantType:值为 authorization_code 时,代表用code换取;值为 refresh_token 时,代表用refresh_token换取,传空默认code换取
 //    grantType:值为 authorization_code 时,代表用code换取;值为 refresh_token 时,代表用refresh_token换取,传空默认code换取
 //    codeOrToken:支付宝授权码或refresh_token
 //    codeOrToken:支付宝授权码或refresh_token
-rsp, err := gopay.AlipaySystemOauthToken(appId, privateKey, grantType, codeOrToken)
+rsp, err := alipay.SystemOauthToken(appId, privateKey, grantType, codeOrToken)
 
 
 //解密支付宝开放数据带到指定结构体
 //解密支付宝开放数据带到指定结构体
 //    以小程序获取手机号为例
 //    以小程序获取手机号为例
-phone := new(gopay.AliPayUserPhone)
+phone := new(alipay.UserPhone)
 //解密支付宝开放数据
 //解密支付宝开放数据
 //    encryptedData:包括敏感数据在内的完整用户信息的加密数据
 //    encryptedData:包括敏感数据在内的完整用户信息的加密数据
 //    secretKey:AES密钥,支付宝管理平台配置
 //    secretKey:AES密钥,支付宝管理平台配置
 //    beanPtr:需要解析到的结构体指针
 //    beanPtr:需要解析到的结构体指针
-err := gopay.DecryptAliPayOpenDataToStruct(encryptedData, secretKey, phone)
+err := alipay.DecryptOpenDataToStruct(encryptedData, secretKey, phone)
 fmt.Println(*phone)
 fmt.Println(*phone)
 ```
 ```
 
 

+ 0 - 720
README_EN.md

@@ -1,720 +0,0 @@
-
-<div align=center><img width="220" height="220" alt="Logo was Loading Faild!" src="https://raw.githubusercontent.com/iGoogle-ink/gopay/master/logo.png"/></div>
-
-# GoPay
-
-[中文文档](https://github.com/iGoogle-ink/gopay/blob/master/README.md)
-
-The Golang SDK for WeChat and AliPay
-
-![Author](https://img.shields.io/badge/author-Jerry-blue.svg)
-[![Golang](https://img.shields.io/badge/golang-1.11+-brightgreen.svg)](https://golang.org)
-[![Godoc](https://img.shields.io/badge/godoc-reference-informational.svg)](https://godoc.org/github.com/iGoogle-ink/gopay)
-![GitHub release (latest by date)](https://img.shields.io/github/v/release/iGoogle-ink/gopay)
-![Travis (.org)](https://img.shields.io/travis/iGoogle-ink/gopay)
-![License](https://img.shields.io/github/license/iGoogle-ink/gopay)
-
-## WeChat Client
-
-* client := gopay.NewWeChatClient() => Init WeChat Payment Client
-* client's other configuration
-    * client.SetCountry() => set country area,default China(gopay.China、gopay.China2、gopay.SoutheastAsia、gopay.Other)
-
-## WeChat Payment API
-
-* UnifiedOrder:client.UnifiedOrder()
-    * JSAPI - Official Account Payment(or WeChat Applet Payment)
-    * NATIVE - Native Payment
-    * APP - In-App Payment
-    * MWEB - H5 Payment
-* Quick Pay:client.Micropay()
-* QueryOrder:client.QueryOrder()
-* CloseOrder:client.CloseOrder()
-* Reverse:client.Reverse()
-* Refund:client.Refund()
-* QueryRefund:client.QueryRefund()
-* DownloadBill:client.DownloadBill()
-* DownloadFundFlow:client.DownloadFundFlow()
-* BatchQueryComment:client.BatchQueryComment()
-
-## WeChat Public API
-
-* gopay.GetWeChatParamSign() => 获取微信支付所需参数里的Sign值(通过支付参数计算Sign值)
-* gopay.GetWeChatSanBoxParamSign() => 获取微信支付沙箱环境所需参数里的Sign值(通过支付参数计算Sign值)
-* gopay.GetMiniPaySign() => Obtain the paySign required for WeChat Applet Payment
-* gopay.GetH5PaySign() => Obtain the paySign required for H5 Payment in WeChat
-* gopay.GetAppPaySign() => Obtain the paySign required for App Payment
-* gopay.ParseWeChatNotifyResultToBodyMap() => Parse the parameters of WeChat Payment asynchronous notification to BodyMap
-* gopay.ParseWeChatNotifyResult() => Parse the parameters of WeChat Payment asynchronous notification to Struct
-* gopay.VerifyWeChatSign() =>Verify WeChat Response Sign
-* gopay.Code2Session() => Login certificate verification:Obtain WeChat user's OpenId, UnionId, SessionKey
-* gopay.GetAccessToken() => Obtain WeChat Applet's global unique access token
-* gopay.GetPaidUnionId() => After the WeChat Applet user's payment is completed, obtain the UnionId of the user without authorization
-* gopay.GetWeChatUserInfo() => WeChat Official Account:Obtain Basic User Information (UnionID System)
-* gopay.DecryptWeChatOpenDataToStruct() => Decrypt encrypted data to the specified struct
-* gopay.GetOpenIdByAuthCode() => Authorization code query openid
-
----
-
-## Alipay Client
-
-* client := gopay.NewAliPayClient() => Init Alipay Payment Client
-* client request some settings of Common Parameters
-    * client.SetReturnUrl() => set the return URL
-    * client.SetNotifyUrl() => set the asynchronous notification URL
-    * client.SetCharset() => set the character,default utf-8
-    * client.SetSignType() => set the sign type,default RSA2
-    * client.SetAppAuthToken() => set the app auth token
-    * client.SetAuthToken() => set the personal information auth token
-
-## Alipay Payment API
-
-* alipay.trade.wap.pay(Wap Payment):client.AliPayTradeWapPay()
-* alipay.trade.page.pay(PC Web Payment):client.AliPayTradePagePay()
-* alipay.trade.app.pay(In-App Payment):client.AliPayTradeAppPay()
-* alipay.trade.pay(Merchant Scan User):client.AliPayTradePay()
-* alipay.trade.create(Alipay Applet Payment):client.AliPayTradeCreate()
-* alipay.trade.query:client.AliPayTradeQuery()
-* alipay.trade.close:client.AliPayTradeClose()
-* alipay.trade.cancel:client.AliPayTradeCancel()
-* alipay.trade.refund:client.AliPayTradeRefund()
-* alipay.trade.page.refund:client.AliPayTradePageRefund()
-* alipay.trade.fastpay.refund.query:client.AliPayTradeFastPayRefundQuery()
-* 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
-
-* gopay.AliPaySystemOauthToken() => Obtain authorized access token(obtain access_token, user_id and so on)
-* gopay.FormatPrivateKey() => Format private key
-* gopay.FormatAliPayPublicKey() => Format alipay public key
-* gopay.ParseAliPayNotifyResult() => Parse the parameters of Alipay Payment asynchronous notification to Struct
-* gopay.VerifyAliPaySign() => Verify Alipay Response Sign
-* gopay.DecryptAliPayOpenDataToStruct() => Decrypt alipay applet encrypted data to the specified struct
-
-# Install
-
-```bash
-$ go get -u github.com/iGoogle-ink/gopay
-```
-
-## View the GoPay version
-
-```go
-package main
-
-import (
-    "fmt"
-    "github.com/iGoogle-ink/gopay"
-)
-
-func main() {
-    fmt.Println("GoPay Version: ", gopay.Version)
-}
-```
-
-# Document
-
-* [GoDoc](https://godoc.org/github.com/iGoogle-ink/gopay)
-
-* If you have any questions, Please add Wechat Group. Please click a star.
-
-WeChat QrCode:
-<img width="226" height="300" alt="Photo was Loading Faild!" src="https://raw.githubusercontent.com/iGoogle-ink/gopay/master/wechat_jerry.png"/>
-WeChat Group:
-<img width="226" height="300" alt="Photo was Loading Faild!" src="https://raw.githubusercontent.com/iGoogle-ink/gopay/master/wechat_gopay.png"/>
-
-# WeChat Payment
-
-<font color='#0088ff'>Attention:Specific parameters vary depending on the request. Please refer to the parameter description in the official document of WeChat.</font>
-
-Reference Documents:[WeChat Payment Documents](https://pay.weixin.qq.com/wiki/doc/api/index.html)
-
----
-### Obtain WeChat user's OpenId, UnionId, SessionKey
-
-```go
-userIdRsp, err := gopay.Code2Session(appID, secretKey, "")
-if err != nil {
-	fmt.Println("Error:", err)
-	return
-}
-fmt.Println("OpenID:", userIdRsp.Openid)
-fmt.Println("UnionID:", userIdRsp.Unionid)
-fmt.Println("SessionKey:", userIdRsp.SessionKey)
-```
-
-### WeChat Applet Payment, After the success of the unified order, Obtain the paySign required for WeChat Applet Payment
-
-* GetMiniPaySign
-    * timeStamp
-    * nonceStr
-    * package 
-    * signType
-    * paySign
-
-> WeChat Applet Payment Document:[Document](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/payment/wx.requestPayment.html)
-```go
-timeStamp := strconv.FormatInt(time.Now().Unix(), 10)
-packages := "prepay_id=" + wxRsp.PrepayId   // wxRsp.PrepayId
-//    appId:APPID
-//    nonceStr:
-//    prepayId:
-//    signType:
-//    timeStamp:
-//    apiKey:API KEY
-paySign := gopay.GetMiniPaySign(AppID, wxRsp.NonceStr, packages, gopay.SignType_MD5, timeStamp, ApiKey)
-
-fmt.Println("paySign:", paySign)
-```
-
-### WeChat H5 Payment, After the success of the unified order, Obtain the paySign required for WeChat H5 Payment
-
-* GetH5PaySign
-    * appId
-    * timeStamp
-    * nonceStr
-    * package 
-    * signType
-    * paySign
-> WeChat H5 Payment Document:[Document](https://pay.weixin.qq.com/wiki/doc/api/external/jsapi.php?chapter=7_7&index=6)
-```go
-timeStamp := strconv.FormatInt(time.Now().Unix(), 10)
-packages := "prepay_id=" + wxRsp.PrepayId   // wxRsp.PrepayId
-//    appId:APPID
-//    nonceStr:
-//    prepayId:
-//    signType:
-//    timeStamp:
-//    apiKey:API KEY
-paySign := gopay.GetH5PaySign(AppID, wxRsp.NonceStr, packages, gopay.SignType_MD5, timeStamp, ApiKey)
-
-fmt.Println("paySign:", paySign)
-```
-
-### WeChat In-App Payment, After the success of the unified order, Obtain the paySign required for WeChat In-App Payment
-
-* GetAppPaySign
-    * appid
-    * partnerid
-    * noncestr
-    * prepayid
-    * package 
-    * timestamp
-    * sign
-> WeChat In-App Payment Document:[Document](https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_12)
-```go
-timeStamp := strconv.FormatInt(time.Now().Unix(), 10)
-//Attention:signType:sign type must be the same as when unified order
-//Attention:package:The parameter is a fixed value and does not need to be passed in again.
-//    appId:APPID
-//    partnerid:
-//    nonceStr:
-//    prepayId:
-//    signType:sign type must be the same as when unified order
-//    timeStamp:
-//    apiKey:API KEY
-paySign := gopay.GetAppPaySign(appid, partnerid, wxRsp.NonceStr, prepayid, gopay.SignType_MD5, timeStamp, apiKey)
-
-fmt.Println("paySign:", paySign)
-```
-
-### 1、Parse the parameters of WeChat Payment asynchronous notification,2、 Verify the Sign of WeChat Payment asynchronous notification
-
-> WeChat Payment asynchronous notification document:[Notification of Payment Result](https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_7&index=8)
-
-```go
-//解析微信支付异步通知的参数
-//    req:*http.Request
-//    返回参数notifyRsp:Notify请求的参数
-//    返回参数err:错误信息
-notifyRsp, err := gopay.ParseWeChatNotifyResult(c.Request())
-if err != nil {
-    fmt.Println("err:", err)
-    return
-}
-fmt.Println("notifyRsp:", notifyRsp)
-
-//验证微信API返回结果或异步通知结果的Sign值
-//    apiKey:API秘钥值
-//    signType:签名类型(调用API方法时填写的类型)
-//    bean:微信API返回的结构体 wxRsp 或 异步通知解析的结构体 notifyReq
-//    返回参数ok:是否验签通过
-//    返回参数err:错误信息
-ok, err := gopay.VerifyWeChatSign("192006250b4c09247ec02edce69f6a2d", "MD5", notifyRsp)
-if err != nil {
-    fmt.Println("err:", err)
-}
-fmt.Println("ok:", ok)
-```
-或者
-```go
-//解析微信支付异步通知的结果到BodyMap
-//    req:*http.Request
-//    返回参数bm:Notify请求的参数
-//    返回参数err:错误信息
-bm, err := gopay.ParseWeChatNotifyResultToBodyMap(c.Request())
-if err != nil {
-    fmt.Println("err:", err)
-    return
-}
-
-//验证微信API返回结果或异步通知结果的Sign值
-//    apiKey:API秘钥值
-//    signType:签名类型(调用API方法时填写的类型)
-//    bean:微信API返回的结构体 wxRsp 或 异步通知解析的结构体 notifyReq
-//    返回参数ok:是否验签通过
-//    返回参数err:错误信息
-ok, err := gopay.VerifyWeChatSign("192006250b4c09247ec02edce69f6a2d", gopay.SignType_MD5, bm)
-if err != nil {
-    fmt.Println("err:", err)
-}
-fmt.Println("ok:", ok)
-```
-
-### Decrypt encrypted data to the specified struct
-
-> Take WeChat Applet to get phone number as an example
-
-button get phone number:[button](https://developers.weixin.qq.com/miniprogram/dev/component/button.html)
-
-WeChat decryption algorithm document:[Decryption Algorithm](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html)
-```go
-data := "Kf3TdPbzEmhWMuPKtlKxIWDkijhn402w1bxoHL4kLdcKr6jT1jNcIhvDJfjXmJcgDWLjmBiIGJ5acUuSvxLws3WgAkERmtTuiCG10CKLsJiR+AXVk7B2TUQzsq88YVilDz/YAN3647REE7glGmeBPfvUmdbfDzhL9BzvEiuRhABuCYyTMz4iaM8hFjbLB1caaeoOlykYAFMWC5pZi9P8uw=="
-iv := "Cds8j3VYoGvnTp1BrjXdJg=="
-sessionKey := "lyY4HPQbaOYzZdG+JcYK9w=="
-
-phone := new(gopay.WeChatUserPhone)
-err := gopay.DecryptWeChatOpenDataToStruct(data, iv, sessionKey, phone)
-if err != nil {
-	fmt.Println("err:", err)
-	return
-}
-fmt.Println("PhoneNumber:", phone.PhoneNumber)
-fmt.Println("PurePhoneNumber:", phone.PurePhoneNumber)
-fmt.Println("CountryCode:", phone.CountryCode)
-fmt.Println("Watermark:", phone.Watermark)
-```
-
-### WeChat Payment asynchronous notification, Respond to WeChat Platform Success
-
-> Method of return in code, Because of I use [Echo](https://github.com/labstack/echo), I Recommend it
-
-```go
-rsp := new(gopay.WeChatNotifyResponse) // the struct return WeChat Platform
-
-rsp.ReturnCode = gopay.SUCCESS
-rsp.ReturnMsg = gopay.OK
-
-return c.String(http.StatusOK, rsp.ToXmlString())
-```
-
-### UnifiedOrder
-```go
-//Init WeChat Payment Client
-//    appId:
-//    mchID:
-//    apiKey:API KEY
-//    isProd:
-client := gopay.NewWeChatClient("wxd678efh567hg6787", "1230000109", "192006250b4c09247ec02edce69f6a2d", false)
-
-number := gopay.GetRandomString(32)
-fmt.Println("out_trade_no:", number)
-//Init BodyMap
-body := make(gopay.BodyMap)
-body.Set("nonce_str", gopay.GetRandomString(32))
-body.Set("body", "测试支付")
-body.Set("out_trade_no", number)
-body.Set("total_fee", 1)
-body.Set("spbill_create_ip", "127.0.0.1")
-body.Set("notify_url", "http://www.gopay.ink")
-body.Set("trade_type", gopay.TradeType_H5)
-body.Set("device_info", "WEB")
-body.Set("sign_type", gopay.SignType_MD5)
-
-//sceneInfo := make(map[string]map[string]string)
-//h5Info := make(map[string]string)
-//h5Info["type"] = "Wap"
-//h5Info["wap_url"] = "http://www.gopay.ink"
-//h5Info["wap_name"] = "H5测试支付"
-//sceneInfo["h5_info"] = h5Info
-//body.Set("scene_info", sceneInfo)
-
-body.Set("openid", OpenID)
-
-//Request
-wxRsp, err := client.UnifiedOrder(body)
-if err != nil {
-    fmt.Println("Error:", err)
-    return
-}
-fmt.Println("ReturnCode:", wxRsp.ReturnCode)
-fmt.Println("ReturnMsg:", wxRsp.ReturnMsg)
-fmt.Println("Appid:", wxRsp.Appid)
-fmt.Println("MchId:", wxRsp.MchId)
-fmt.Println("DeviceInfo:", wxRsp.DeviceInfo)
-fmt.Println("NonceStr:", wxRsp.NonceStr)
-fmt.Println("Sign:", wxRsp.Sign)
-fmt.Println("ResultCode:", wxRsp.ResultCode)
-fmt.Println("ErrCode:", wxRsp.ErrCode)
-fmt.Println("ErrCodeDes:", wxRsp.ErrCodeDes)
-fmt.Println("PrepayId:", wxRsp.PrepayId)
-fmt.Println("TradeType:", wxRsp.TradeType)
-fmt.Println("CodeUrl:", wxRsp.CodeUrl)
-fmt.Println("MwebUrl:", wxRsp.MwebUrl)
-```
-
-### Quick Pay
-```go
-//Init WeChat Payment Client
-//    appId:
-//    mchID:
-//    apiKey:API KEY
-//    isProd:
-client := gopay.NewWeChatClient("wxd678efh567hg6787", "1230000109", "192006250b4c09247ec02edce69f6a2d", false)
-
-//Init BodyMap
-body := make(gopay.BodyMap)
-body.Set("nonce_str", gopay.GetRandomString(32))
-body.Set("body", "扫用户付款码支付")
-number := gopay.GetRandomString(32)
-log.Println("Number:", number)
-body.Set("out_trade_no", number)
-body.Set("total_fee", 1)
-body.Set("spbill_create_ip", "127.0.0.1")
-body.Set("notify_url", "http://www.gopay.ink")
-body.Set("auth_code", "120061098828009406")
-body.Set("sign_type", gopay.SignType_MD5)
-
-//Request
-wxRsp, err := client.Micropay(body)
-if err != nil {
-	fmt.Println("Error:", err)
-}
-fmt.Println("Response:", wxRsp)
-```
-
-### Refund
-```go
-//Init WeChat Payment Client
-//    appId:
-//    mchID:
-//    apiKey:API KEY
-//    isProd:
-client := gopay.NewWeChatClient("wxd678efh567hg6787", "1230000109", "192006250b4c09247ec02edce69f6a2d", false)
-
-//Init BodyMap
-body := make(gopay.BodyMap)
-body.Set("out_trade_no", "MfZC2segKxh0bnJSELbvKNeH3d9oWvvQ")
-body.Set("nonce_str", gopay.GetRandomString(32))
-body.Set("sign_type", gopay.SignType_MD5)
-s := gopay.GetRandomString(64)
-fmt.Println("s:", s)
-body.Set("out_refund_no", s)
-body.Set("total_fee", 101)
-body.Set("refund_fee", 101)
-
-//Request Refund(Sandbox environment,Certificate path parameters can be null)
-//    body:BodyMap
-//    certFilePath:Certificate path
-//    keyFilePath:Key path
-//    pkcs12FilePath:p12 path
-wxRsp, err := client.Refund(body, "", "", "")
-if err != nil {
-	fmt.Println("Error:", err)
-}
-fmt.Println("Response:", wxRsp)
-```
----
-
-# Alipay Payment
-
-<font color='#0088ff'>Attention:Specific parameters vary depending on the request. Please refer to the parameter description in the official document of Alipay.</font>
-
-Alipay official documents:[官方文档](https://docs.open.alipay.com/catalog)
-
-Alipay RSA secret key generation document:[Generating RSA Key](https://docs.open.alipay.com/291/105971/)
-
-Alipay online debugging:[Online Debugging](https://openhome.alipay.com/platform/demoManage.htm)
-
-Instructions for Environmental Use of Sandbox:[Document](https://docs.open.alipay.com/200/105311)
-
----
-
-### Obtain authorized access token(obtain access_token, user_id and so on)
-
-> Obtain alipay authorized access token document:[Obtain Access Token](https://docs.open.alipay.com/api_9/alipay.system.oauth.token)
-
-```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="
-//Obtain authorized access token(default utf-8, RSA2)
-//    appId:
-//    privateKey:
-//    grantType:When the value is authorization_code, it is obtained by Code. When the value is refresh_token, it is obtained by refresh_token, and null is obtained by code.
-//    codeOrToken:authorization_code or refresh_token
-rsp, err := gopay.AlipaySystemOauthToken("2016091200494382", privateKey, "authorization_code", "06e8961891d647c0ac99bb1cebe7SE69")
-if err != nil {
-	fmt.Println("gopay.AlipaySystemOauthToken:",err)
-	return
-}
-fmt.Println("rsp:", *rsp)
-```
-
-### Decrypt alipay applet encrypted data to the specified struct
-
-> Take Alipay Applet to get phone number as an example
-
-Obtain user phone number document:[Obtain Phone Number](https://docs.alipay.com/mini/api/getphonenumber)
-
-Alipay decryption algorithm document:[Decryption Algorithm](https://docs.alipay.com/mini/introduce/aes)
-```go
-data := "MkvuiIZsGOC8S038cu/JIpoRKnF+ZFjoIRGf5d/K4+ctYjCtb/eEkwgrdB5TeH/93bxff1Ylb+SE+UGStlpvcg=="
-key := "TDftre9FpItr46e9BVNJcw=="
-rsp := new(gopay.AliPayUserPhone)
-err := gopay.DecryptAliPayOpenDataToStruct(data, key, rsp)
-if err != nil {
-	fmt.Println("err:", err)
-	return
-}
-fmt.Println("rsp.Code:", rsp.Code)
-fmt.Println("rsp.Msg:", rsp.Msg)
-fmt.Println("rsp.SubCode:", rsp.SubCode)
-fmt.Println("rsp.SubMsg:", rsp.SubMsg)
-fmt.Println("rsp.Mobile:", rsp.Mobile)
-```
-
-### 1、Parse the parameters of Alipay Payment asynchronous notification,2、 Verify the Sign of Alipay Payment asynchronous notification
-
-> Alipay Payment asynchronous notification document:[Notification of Payment Result](https://docs.open.alipay.com/200/106120)
-
-```go
-//Parse the parameters of WeChat Payment asynchronous notification
-// c.Request() is *http.Request
-notifyRsp, err := gopay.ParseAliPayNotifyResult(c.Request())
-if err != nil {
-    fmt.Println("gopay.ParseAliPayNotifyResult:", err)
-    return
-}
-fmt.Println("notifyRsp:", notifyRsp)
-
-aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
-//Verify the Sign of Alipay Payment asynchronous notification
-//    aliPayPublicKey:
-//    notifyRsp:Struct obtained by gopay.ParseAliPayNotifyResult()
-//    return:Is passed
-//    return:error
-ok, err := gopay.VerifyAliPayResultSign(aliPayPublicKey, notifyRsp)
-if err != nil {
-	log.Println("gopay.VerifyAliPayResultSign:", err)
-	return
-}
-fmt.Println("ok:", ok)
-```
-
-### Alipay Payment asynchronous notification, Respond to Alipay Platform Success
-
-* The output "success" (without quotes) must be printed after the program has finished executing. If the merchant's feedback to Alipay is not the 7 characters of success, the Alipay server will continue to resend the notification until it exceeds 24 hours and 22 minutes. Under normal circumstances, 8 notifications are completed within 25 hours (the interval between notifications is generally: 4m, 10m, 10m, 1h, 2h, 6h, 15h)
-
-> Method of return in code, Because of I use [Echo](https://github.com/labstack/echo), I Recommend it
-
-```go
-return c.String(http.StatusOK, "success")
-```
-
-### AliPayTradeWapPay
-
-* The mobile website payment is obtained by the server after obtaining the payment URL, and then returned to the client, requesting the URL address to open the payment page.
-
-> Document:[Wap Payment](https://docs.open.alipay.com/203/107090/) 
-
-> Document:[alipay.trade.wap.pay2.0](https://docs.open.alipay.com/api_1/alipay.trade.wap.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="
-//Init Alipay Payment Client
-//    appId:
-//    privateKey:
-//    isProd:
-client := gopay.NewAliPayClient("2016091200494382", privateKey, false)
-//set public parameters
-client.SetCharset("utf-8").
-	SetSignType("RSA2").
-	//SetAppAuthToken("").
-	//SetReturnUrl("https://www.gopay.ink").
-	SetNotifyUrl("https://www.gopay.ink")
-//BodyMap
-body := make(gopay.BodyMap)
-body.Set("subject", "测试支付")
-body.Set("out_trade_no", "GYWX201901301040355706100409")
-body.Set("quit_url", "https://www.gopay.ink")
-body.Set("total_amount", "10.00")
-body.Set("product_code", "QUICK_WAP_WAY")
-//Request
-payUrl, err := client.AliPayTradeWapPay(body)
-if err != nil {
-	log.Println("err:", err)
-	return
-}
-fmt.Println("payUrl:", payUrl)
-```
-
-### AliPayTradeAppPay
-
-* APP payment is obtained after the server obtains the payment parameters, and then calls the payment function through the SDK of the Android/iOS client.
-
-> Document:[Parameter Description](https://docs.open.alipay.com/204/105465/) 
-
-> Document:[alipay.trade.app.pay](https://docs.open.alipay.com/api_1/alipay.trade.app.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="
-//Init Alipay Payment Client
-//    appId:
-//    privateKey:
-//    isProd:
-client := gopay.NewAliPayClient("2016091200494382", privateKey, false)
-//set public parameters
-client.SetCharset("utf-8").
-	SetSignType("RSA2").
-	//SetAppAuthToken("").
-	//SetReturnUrl("https://www.gopay.ink").
-	SetNotifyUrl("https://www.gopay.ink")
-//BodyMap
-body := make(gopay.BodyMap)
-body.Set("subject", "测试APP支付")
-body.Set("out_trade_no", "GYWX201901301040355706100411")
-body.Set("total_amount", "1.00")
-//Request
-payParam, err := client.AliPayTradeAppPay(body)
-if err != nil {
-	fmt.Println("err:", err)
-	return
-}
-fmt.Println("payParam:", payParam)
-```
-
-### AliPayTradePagePay
-
-* The computer website payment is obtained after the server obtains the payment URL, and then returns to the client, and requests the URL address to open the payment page.
-
-> Document:[PC Web Payment](https://docs.open.alipay.com/270) 
-
-> Document:[alipay.trade.page.pay](https://docs.open.alipay.com/api_1/alipay.trade.page.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="
-//Init Alipay Payment Client
-//    appId:
-//    privateKey:
-//    isProd:
-client := gopay.NewAliPayClient("2016091200494382", privateKey, false)
-//set public parameters
-client.SetCharset("utf-8").
-	SetSignType("RSA2").
-	//SetAppAuthToken("").
-	//SetReturnUrl("https://www.gopay.ink").
-	SetNotifyUrl("https://www.gopay.ink")
-//BodyMap
-body := make(gopay.BodyMap)
-body.Set("subject", "网站测试支付")
-body.Set("out_trade_no", "GYWX201901301040355706100418")
-body.Set("total_amount", "88.88")
-body.Set("product_code", "FAST_INSTANT_TRADE_PAY")
-
-//Request
-payUrl, err := client.AliPayTradePagePay(body)
-if err != nil {
-	fmt.Println("err:", err)
-	return
-}
-fmt.Println("payUrl:", payUrl)
-```
-
-### AliPayTradePay
-
-* The merchant uses a bar code recognition device such as a scan code gun to scan the barcode/two-dimensional code on the user's Alipay wallet to complete the payment.
-
-> Document:[Scan Payment](https://docs.open.alipay.com/194) 
-
-> Document:[alipay.trade.pay](https://docs.open.alipay.com/api_1/alipay.trade.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="
-//Init Alipay Payment Client
-//    appId:
-//    privateKey:
-//    isProd:
-client := gopay.NewAliPayClient("2016091200494382", privateKey, false)
-//set public parameters
-client.SetCharset("utf-8").
-	SetSignType("RSA2").
-	//SetAppAuthToken("").
-	//SetReturnUrl("https://www.gopay.ink").
-	SetNotifyUrl("https://www.gopay.ink")
-//BodyMap
-body := make(gopay.BodyMap)
-body.Set("subject", "条码支付")
-body.Set("scene", "bar_code")
-body.Set("auth_code", "285860185283886370")
-body.Set("out_trade_no", "GYWX201901301040355706100456")
-body.Set("total_amount", "10.00")
-body.Set("timeout_express", "2m")
-
-//Request
-aliRsp, err := client.AliPayTradePay(body)
-if err != nil {
-	fmt.Println("err:", err)
-	return
-}
-fmt.Println("aliRsp:", *aliRsp)
-```
-
-### AliPayTradeRefund
-
-* Trade order refund interface, please refer to the official document for specific conditions.
-
-> Document:[alipay.trade.refund](https://docs.open.alipay.com/api_1/alipay.trade.refund) 
-
-```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="
-//Init Alipay Payment Client
-//    appId:
-//    privateKey:
-//    isProd:
-client := gopay.NewAliPayClient("2016091200494382", privateKey, false)
-//set public parameters
-client.SetCharset("utf-8").
-	SetSignType("RSA2")
-//BodyMap
-body := make(gopay.BodyMap)
-body.Set("out_trade_no", "GZ201907261437329516")
-body.Set("refund_amount", "100.00")
-body.Set("refund_reason", "测试支付退款")
-//Request
-aliRsp, err := client.AliPayTradeRefund(body)
-if err != nil {
-	fmt.Println("err:", err)
-	return
-}
-fmt.Println("aliRsp:", *aliRsp)
-```
-
-## License
-```
-Copyright 2019 Jerry
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-```

+ 37 - 37
alipay/alipay_client.go

@@ -42,7 +42,7 @@ func NewClient(appId, privateKey string, isProd bool) (client *Client) {
 
 
 // alipay.trade.fastpay.refund.query(统一收单交易退款查询)
 // alipay.trade.fastpay.refund.query(统一收单交易退款查询)
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.fastpay.refund.query
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.fastpay.refund.query
-func (a *Client) TradeFastPayRefundQuery(body gopay.BodyMap) (aliRsp *AliPayTradeFastpayRefundQueryResponse, err error) {
+func (a *Client) TradeFastPayRefundQuery(body gopay.BodyMap) (aliRsp *TradeFastpayRefundQueryResponse, err error) {
 	var (
 	var (
 		bs []byte
 		bs []byte
 	)
 	)
@@ -52,7 +52,7 @@ func (a *Client) TradeFastPayRefundQuery(body gopay.BodyMap) (aliRsp *AliPayTrad
 	if bs, err = a.doAliPay(body, "alipay.trade.fastpay.refund.query"); err != nil {
 	if bs, err = a.doAliPay(body, "alipay.trade.fastpay.refund.query"); err != nil {
 		return
 		return
 	}
 	}
-	aliRsp = new(AliPayTradeFastpayRefundQueryResponse)
+	aliRsp = new(TradeFastpayRefundQueryResponse)
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -66,7 +66,7 @@ func (a *Client) TradeFastPayRefundQuery(body gopay.BodyMap) (aliRsp *AliPayTrad
 
 
 // alipay.trade.order.settle(统一收单交易结算接口)
 // alipay.trade.order.settle(统一收单交易结算接口)
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.order.settle
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.order.settle
-func (a *Client) TradeOrderSettle(body gopay.BodyMap) (aliRsp *AliPayTradeOrderSettleResponse, err error) {
+func (a *Client) TradeOrderSettle(body gopay.BodyMap) (aliRsp *TradeOrderSettleResponse, err error) {
 	var (
 	var (
 		bs []byte
 		bs []byte
 	)
 	)
@@ -76,7 +76,7 @@ func (a *Client) TradeOrderSettle(body gopay.BodyMap) (aliRsp *AliPayTradeOrderS
 	if bs, err = a.doAliPay(body, "alipay.trade.order.settle"); err != nil {
 	if bs, err = a.doAliPay(body, "alipay.trade.order.settle"); err != nil {
 		return
 		return
 	}
 	}
-	aliRsp = new(AliPayTradeOrderSettleResponse)
+	aliRsp = new(TradeOrderSettleResponse)
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -90,7 +90,7 @@ func (a *Client) TradeOrderSettle(body gopay.BodyMap) (aliRsp *AliPayTradeOrderS
 
 
 // alipay.trade.create(统一收单交易创建接口)
 // alipay.trade.create(统一收单交易创建接口)
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.create
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.create
-func (a *Client) TradeCreate(body gopay.BodyMap) (aliRsp *AliPayTradeCreateResponse, err error) {
+func (a *Client) TradeCreate(body gopay.BodyMap) (aliRsp *TradeCreateResponse, err error) {
 	var (
 	var (
 		bs []byte
 		bs []byte
 	)
 	)
@@ -100,7 +100,7 @@ func (a *Client) TradeCreate(body gopay.BodyMap) (aliRsp *AliPayTradeCreateRespo
 	if bs, err = a.doAliPay(body, "alipay.trade.create"); err != nil {
 	if bs, err = a.doAliPay(body, "alipay.trade.create"); err != nil {
 		return
 		return
 	}
 	}
-	aliRsp = new(AliPayTradeCreateResponse)
+	aliRsp = new(TradeCreateResponse)
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -114,7 +114,7 @@ func (a *Client) TradeCreate(body gopay.BodyMap) (aliRsp *AliPayTradeCreateRespo
 
 
 // alipay.trade.close(统一收单交易关闭接口)
 // alipay.trade.close(统一收单交易关闭接口)
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.close
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.close
-func (a *Client) AliPayTradeClose(body gopay.BodyMap) (aliRsp *AliPayTradeCloseResponse, err error) {
+func (a *Client) TradeClose(body gopay.BodyMap) (aliRsp *TradeCloseResponse, err error) {
 	var (
 	var (
 		bs []byte
 		bs []byte
 	)
 	)
@@ -124,7 +124,7 @@ func (a *Client) AliPayTradeClose(body gopay.BodyMap) (aliRsp *AliPayTradeCloseR
 	if bs, err = a.doAliPay(body, "alipay.trade.close"); err != nil {
 	if bs, err = a.doAliPay(body, "alipay.trade.close"); err != nil {
 		return
 		return
 	}
 	}
-	aliRsp = new(AliPayTradeCloseResponse)
+	aliRsp = new(TradeCloseResponse)
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -138,7 +138,7 @@ func (a *Client) AliPayTradeClose(body gopay.BodyMap) (aliRsp *AliPayTradeCloseR
 
 
 // alipay.trade.cancel(统一收单交易撤销接口)
 // alipay.trade.cancel(统一收单交易撤销接口)
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.cancel
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.cancel
-func (a *Client) AliPayTradeCancel(body gopay.BodyMap) (aliRsp *AliPayTradeCancelResponse, err error) {
+func (a *Client) TradeCancel(body gopay.BodyMap) (aliRsp *TradeCancelResponse, err error) {
 	var (
 	var (
 		bs []byte
 		bs []byte
 	)
 	)
@@ -148,7 +148,7 @@ func (a *Client) AliPayTradeCancel(body gopay.BodyMap) (aliRsp *AliPayTradeCance
 	if bs, err = a.doAliPay(body, "alipay.trade.cancel"); err != nil {
 	if bs, err = a.doAliPay(body, "alipay.trade.cancel"); err != nil {
 		return
 		return
 	}
 	}
-	aliRsp = new(AliPayTradeCancelResponse)
+	aliRsp = new(TradeCancelResponse)
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -162,7 +162,7 @@ func (a *Client) AliPayTradeCancel(body gopay.BodyMap) (aliRsp *AliPayTradeCance
 
 
 // alipay.trade.refund(统一收单交易退款接口)
 // alipay.trade.refund(统一收单交易退款接口)
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.refund
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.refund
-func (a *Client) AliPayTradeRefund(body gopay.BodyMap) (aliRsp *AliPayTradeRefundResponse, err error) {
+func (a *Client) TradeRefund(body gopay.BodyMap) (aliRsp *TradeRefundResponse, err error) {
 	var (
 	var (
 		bs []byte
 		bs []byte
 	)
 	)
@@ -172,7 +172,7 @@ func (a *Client) AliPayTradeRefund(body gopay.BodyMap) (aliRsp *AliPayTradeRefun
 	if bs, err = a.doAliPay(body, "alipay.trade.refund"); err != nil {
 	if bs, err = a.doAliPay(body, "alipay.trade.refund"); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
-	aliRsp = new(AliPayTradeRefundResponse)
+	aliRsp = new(TradeRefundResponse)
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -186,7 +186,7 @@ func (a *Client) AliPayTradeRefund(body gopay.BodyMap) (aliRsp *AliPayTradeRefun
 
 
 // alipay.trade.refund(统一收单退款页面接口)
 // alipay.trade.refund(统一收单退款页面接口)
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.page.refund
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.page.refund
-func (a *Client) AliPayTradePageRefund(body gopay.BodyMap) (aliRsp *AliPayTradePageRefundResponse, err error) {
+func (a *Client) TradePageRefund(body gopay.BodyMap) (aliRsp *TradePageRefundResponse, err error) {
 	var (
 	var (
 		bs []byte
 		bs []byte
 	)
 	)
@@ -196,7 +196,7 @@ func (a *Client) AliPayTradePageRefund(body gopay.BodyMap) (aliRsp *AliPayTradeP
 	if bs, err = a.doAliPay(body, "	alipay.trade.page.refund"); err != nil {
 	if bs, err = a.doAliPay(body, "	alipay.trade.page.refund"); err != nil {
 		return
 		return
 	}
 	}
-	aliRsp = new(AliPayTradePageRefundResponse)
+	aliRsp = new(TradePageRefundResponse)
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -210,7 +210,7 @@ func (a *Client) AliPayTradePageRefund(body gopay.BodyMap) (aliRsp *AliPayTradeP
 
 
 // alipay.trade.precreate(统一收单线下交易预创建)
 // alipay.trade.precreate(统一收单线下交易预创建)
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.precreate
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.precreate
-func (a *Client) AliPayTradePrecreate(body gopay.BodyMap) (aliRsp *AliPayTradePrecreateResponse, err error) {
+func (a *Client) TradePrecreate(body gopay.BodyMap) (aliRsp *TradePrecreateResponse, err error) {
 	var bs []byte
 	var bs []byte
 	if body.Get("out_trade_no") == gopay.NULL {
 	if body.Get("out_trade_no") == gopay.NULL {
 		return nil, errors.New("out_trade_no is not allowed to be NULL")
 		return nil, errors.New("out_trade_no is not allowed to be NULL")
@@ -218,7 +218,7 @@ func (a *Client) AliPayTradePrecreate(body gopay.BodyMap) (aliRsp *AliPayTradePr
 	if bs, err = a.doAliPay(body, "alipay.trade.precreate"); err != nil {
 	if bs, err = a.doAliPay(body, "alipay.trade.precreate"); err != nil {
 		return
 		return
 	}
 	}
-	aliRsp = new(AliPayTradePrecreateResponse)
+	aliRsp = new(TradePrecreateResponse)
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -232,7 +232,7 @@ func (a *Client) AliPayTradePrecreate(body gopay.BodyMap) (aliRsp *AliPayTradePr
 
 
 // alipay.trade.pay(统一收单交易支付接口)
 // alipay.trade.pay(统一收单交易支付接口)
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.pay
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.pay
-func (a *Client) AliPayTradePay(body gopay.BodyMap) (aliRsp *AliPayTradePayResponse, err error) {
+func (a *Client) TradePay(body gopay.BodyMap) (aliRsp *TradePayResponse, err error) {
 	var bs []byte
 	var bs []byte
 	if body.Get("out_trade_no") == gopay.NULL {
 	if body.Get("out_trade_no") == gopay.NULL {
 		return nil, errors.New("out_trade_no is not allowed to be NULL")
 		return nil, errors.New("out_trade_no is not allowed to be NULL")
@@ -240,7 +240,7 @@ func (a *Client) AliPayTradePay(body gopay.BodyMap) (aliRsp *AliPayTradePayRespo
 	if bs, err = a.doAliPay(body, "alipay.trade.pay"); err != nil {
 	if bs, err = a.doAliPay(body, "alipay.trade.pay"); err != nil {
 		return
 		return
 	}
 	}
-	aliRsp = new(AliPayTradePayResponse)
+	aliRsp = new(TradePayResponse)
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -254,7 +254,7 @@ func (a *Client) AliPayTradePay(body gopay.BodyMap) (aliRsp *AliPayTradePayRespo
 
 
 // alipay.trade.query(统一收单线下交易查询)
 // alipay.trade.query(统一收单线下交易查询)
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.query
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.query
-func (a *Client) AliPayTradeQuery(body gopay.BodyMap) (aliRsp *AliPayTradeQueryResponse, err error) {
+func (a *Client) TradeQuery(body gopay.BodyMap) (aliRsp *TradeQueryResponse, err error) {
 	var (
 	var (
 		bs []byte
 		bs []byte
 	)
 	)
@@ -264,7 +264,7 @@ func (a *Client) AliPayTradeQuery(body gopay.BodyMap) (aliRsp *AliPayTradeQueryR
 	if bs, err = a.doAliPay(body, "alipay.trade.query"); err != nil {
 	if bs, err = a.doAliPay(body, "alipay.trade.query"); err != nil {
 		return
 		return
 	}
 	}
-	aliRsp = new(AliPayTradeQueryResponse)
+	aliRsp = new(TradeQueryResponse)
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -278,7 +278,7 @@ func (a *Client) AliPayTradeQuery(body gopay.BodyMap) (aliRsp *AliPayTradeQueryR
 
 
 // alipay.trade.app.pay(app支付接口2.0)
 // alipay.trade.app.pay(app支付接口2.0)
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.app.pay
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.app.pay
-func (a *Client) AliPayTradeAppPay(body gopay.BodyMap) (payParam string, err error) {
+func (a *Client) TradeAppPay(body gopay.BodyMap) (payParam string, err error) {
 	var bs []byte
 	var bs []byte
 	if body.Get("out_trade_no") == gopay.NULL {
 	if body.Get("out_trade_no") == gopay.NULL {
 		return gopay.NULL, errors.New("out_trade_no is not allowed to be NULL")
 		return gopay.NULL, errors.New("out_trade_no is not allowed to be NULL")
@@ -292,7 +292,7 @@ func (a *Client) AliPayTradeAppPay(body gopay.BodyMap) (payParam string, err err
 
 
 // alipay.trade.wap.pay(手机网站支付接口2.0)
 // alipay.trade.wap.pay(手机网站支付接口2.0)
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.wap.pay
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.wap.pay
-func (a *Client) AliPayTradeWapPay(body gopay.BodyMap) (payUrl string, err error) {
+func (a *Client) TradeWapPay(body gopay.BodyMap) (payUrl string, err error) {
 	var bs []byte
 	var bs []byte
 	if body.Get("out_trade_no") == gopay.NULL {
 	if body.Get("out_trade_no") == gopay.NULL {
 		return gopay.NULL, errors.New("out_trade_no is not allowed to be NULL")
 		return gopay.NULL, errors.New("out_trade_no is not allowed to be NULL")
@@ -307,7 +307,7 @@ func (a *Client) AliPayTradeWapPay(body gopay.BodyMap) (payUrl string, err error
 
 
 // alipay.trade.page.pay(统一收单下单并支付页面接口)
 // alipay.trade.page.pay(统一收单下单并支付页面接口)
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.page.pay
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.page.pay
-func (a *Client) AliPayTradePagePay(body gopay.BodyMap) (payUrl string, err error) {
+func (a *Client) TradePagePay(body gopay.BodyMap) (payUrl string, err error) {
 	var bs []byte
 	var bs []byte
 	if body.Get("out_trade_no") == gopay.NULL {
 	if body.Get("out_trade_no") == gopay.NULL {
 		return gopay.NULL, errors.New("out_trade_no is not allowed to be NULL")
 		return gopay.NULL, errors.New("out_trade_no is not allowed to be NULL")
@@ -322,7 +322,7 @@ func (a *Client) AliPayTradePagePay(body gopay.BodyMap) (payUrl string, err erro
 
 
 // alipay.fund.trans.toaccount.transfer(单笔转账到支付宝账户接口)
 // alipay.fund.trans.toaccount.transfer(单笔转账到支付宝账户接口)
 //    文档地址:https://docs.open.alipay.com/api_28/alipay.fund.trans.toaccount.transfer
 //    文档地址:https://docs.open.alipay.com/api_28/alipay.fund.trans.toaccount.transfer
-func (a *Client) AliPayFundTransToaccountTransfer(body gopay.BodyMap) (aliRsp *AliPayFundTransToaccountTransferResponse, err error) {
+func (a *Client) FundTransToaccountTransfer(body gopay.BodyMap) (aliRsp *FundTransToaccountTransferResponse, err error) {
 	var bs []byte
 	var bs []byte
 	if body.Get("out_biz_no") == gopay.NULL {
 	if body.Get("out_biz_no") == gopay.NULL {
 		return nil, errors.New("out_biz_no is not allowed to be NULL")
 		return nil, errors.New("out_biz_no is not allowed to be NULL")
@@ -330,7 +330,7 @@ func (a *Client) AliPayFundTransToaccountTransfer(body gopay.BodyMap) (aliRsp *A
 	if bs, err = a.doAliPay(body, "alipay.fund.trans.toaccount.transfer"); err != nil {
 	if bs, err = a.doAliPay(body, "alipay.fund.trans.toaccount.transfer"); err != nil {
 		return
 		return
 	}
 	}
-	aliRsp = new(AliPayFundTransToaccountTransferResponse)
+	aliRsp = new(FundTransToaccountTransferResponse)
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -344,13 +344,13 @@ func (a *Client) AliPayFundTransToaccountTransfer(body gopay.BodyMap) (aliRsp *A
 
 
 // alipay.trade.orderinfo.sync(支付宝订单信息同步接口)
 // alipay.trade.orderinfo.sync(支付宝订单信息同步接口)
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.orderinfo.sync
 //    文档地址:https://docs.open.alipay.com/api_1/alipay.trade.orderinfo.sync
-func (a *Client) AliPayTradeOrderinfoSync(body gopay.BodyMap) {
+func (a *Client) TradeOrderinfoSync(body gopay.BodyMap) {
 
 
 }
 }
 
 
 // alipay.system.oauth.token(换取授权访问令牌)
 // alipay.system.oauth.token(换取授权访问令牌)
 //    文档地址:https://docs.open.alipay.com/api_9/alipay.system.oauth.token
 //    文档地址:https://docs.open.alipay.com/api_9/alipay.system.oauth.token
-func (a *Client) SystemOauthToken(body gopay.BodyMap) (aliRsp *AliPaySystemOauthTokenResponse, err error) {
+func (a *Client) SystemOauthToken(body gopay.BodyMap) (aliRsp *SystemOauthTokenResponse, err error) {
 	var bs []byte
 	var bs []byte
 	if body.Get("grant_type") == gopay.NULL {
 	if body.Get("grant_type") == gopay.NULL {
 		return nil, errors.New("grant_type is not allowed to be NULL")
 		return nil, errors.New("grant_type is not allowed to be NULL")
@@ -361,7 +361,7 @@ func (a *Client) SystemOauthToken(body gopay.BodyMap) (aliRsp *AliPaySystemOauth
 	if bs, err = systemOauthToken(a.AppId, a.PrivateKey, body, "alipay.system.oauth.token", a.IsProd); err != nil {
 	if bs, err = systemOauthToken(a.AppId, a.PrivateKey, body, "alipay.system.oauth.token", a.IsProd); err != nil {
 		return
 		return
 	}
 	}
-	aliRsp = new(AliPaySystemOauthTokenResponse)
+	aliRsp = new(SystemOauthTokenResponse)
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -376,12 +376,12 @@ func (a *Client) SystemOauthToken(body gopay.BodyMap) (aliRsp *AliPaySystemOauth
 // alipay.user.info.share(支付宝会员授权信息查询接口)
 // alipay.user.info.share(支付宝会员授权信息查询接口)
 //    body:此接口无需body参数
 //    body:此接口无需body参数
 //    文档地址:https://docs.open.alipay.com/api_2/alipay.user.info.share
 //    文档地址:https://docs.open.alipay.com/api_2/alipay.user.info.share
-func (a *Client) AliPayUserInfoShare() (aliRsp *AliPayUserInfoShareResponse, err error) {
+func (a *Client) UserInfoShare() (aliRsp *UserInfoShareResponse, err error) {
 	var bs []byte
 	var bs []byte
 	if bs, err = a.doAliPay(nil, "alipay.user.info.share"); err != nil {
 	if bs, err = a.doAliPay(nil, "alipay.user.info.share"); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
-	aliRsp = new(AliPayUserInfoShareResponse)
+	aliRsp = new(UserInfoShareResponse)
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -395,7 +395,7 @@ func (a *Client) AliPayUserInfoShare() (aliRsp *AliPayUserInfoShareResponse, err
 
 
 // alipay.open.auth.token.app(换取应用授权令牌)
 // alipay.open.auth.token.app(换取应用授权令牌)
 //    文档地址:https://docs.open.alipay.com/api_9/alipay.open.auth.token.app
 //    文档地址:https://docs.open.alipay.com/api_9/alipay.open.auth.token.app
-func (a *Client) AliPayOpenAuthTokenApp(body gopay.BodyMap) (aliRsp *AliPayOpenAuthTokenAppResponse, err error) {
+func (a *Client) OpenAuthTokenApp(body gopay.BodyMap) (aliRsp *OpenAuthTokenAppResponse, err error) {
 	var bs []byte
 	var bs []byte
 	if body.Get("grant_type") == gopay.NULL {
 	if body.Get("grant_type") == gopay.NULL {
 		return nil, errors.New("grant_type is not allowed to be NULL")
 		return nil, errors.New("grant_type is not allowed to be NULL")
@@ -406,7 +406,7 @@ func (a *Client) AliPayOpenAuthTokenApp(body gopay.BodyMap) (aliRsp *AliPayOpenA
 	if bs, err = a.doAliPay(body, "alipay.open.auth.token.app"); err != nil {
 	if bs, err = a.doAliPay(body, "alipay.open.auth.token.app"); err != nil {
 		return
 		return
 	}
 	}
-	aliRsp = new(AliPayOpenAuthTokenAppResponse)
+	aliRsp = new(OpenAuthTokenAppResponse)
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -447,7 +447,7 @@ func (a *Client) ZhimaCreditScoreGet(body gopay.BodyMap) (aliRsp *ZhimaCreditSco
 
 
 // alipay.user.certify.open.initialize(身份认证初始化服务)
 // alipay.user.certify.open.initialize(身份认证初始化服务)
 //    文档地址:https://docs.open.alipay.com/api_2/alipay.user.certify.open.initialize
 //    文档地址:https://docs.open.alipay.com/api_2/alipay.user.certify.open.initialize
-func (a *Client) AliPayUserCertifyOpenInit(body gopay.BodyMap) (aliRsp *AliPayUserCertifyOpenInitResponse, err error) {
+func (a *Client) UserCertifyOpenInit(body gopay.BodyMap) (aliRsp *UserCertifyOpenInitResponse, err error) {
 	var (
 	var (
 		bs []byte
 		bs []byte
 	)
 	)
@@ -466,7 +466,7 @@ func (a *Client) AliPayUserCertifyOpenInit(body gopay.BodyMap) (aliRsp *AliPayUs
 	if bs, err = a.doAliPay(body, "alipay.user.certify.open.initialize"); err != nil {
 	if bs, err = a.doAliPay(body, "alipay.user.certify.open.initialize"); err != nil {
 		return
 		return
 	}
 	}
-	aliRsp = new(AliPayUserCertifyOpenInitResponse)
+	aliRsp = new(UserCertifyOpenInitResponse)
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -481,7 +481,7 @@ func (a *Client) AliPayUserCertifyOpenInit(body gopay.BodyMap) (aliRsp *AliPayUs
 // alipay.user.certify.open.certify(身份认证开始认证)
 // alipay.user.certify.open.certify(身份认证开始认证)
 //    API文档地址:https://docs.open.alipay.com/api_2/alipay.user.certify.open.certify
 //    API文档地址:https://docs.open.alipay.com/api_2/alipay.user.certify.open.certify
 //    产品文档地址:https://docs.open.alipay.com/20181012100420932508/quickstart
 //    产品文档地址:https://docs.open.alipay.com/20181012100420932508/quickstart
-func (a *Client) AliPayUserCertifyOpenCertify(body gopay.BodyMap) (certifyUrl string, err error) {
+func (a *Client) UserCertifyOpenCertify(body gopay.BodyMap) (certifyUrl string, err error) {
 	var (
 	var (
 		bs []byte
 		bs []byte
 	)
 	)
@@ -497,7 +497,7 @@ func (a *Client) AliPayUserCertifyOpenCertify(body gopay.BodyMap) (certifyUrl st
 
 
 // alipay.user.certify.open.query(身份认证记录查询)
 // alipay.user.certify.open.query(身份认证记录查询)
 //    文档地址:https://docs.open.alipay.com/api_2/alipay.user.certify.open.query
 //    文档地址:https://docs.open.alipay.com/api_2/alipay.user.certify.open.query
-func (a *Client) AliPayUserCertifyOpenQuery(body gopay.BodyMap) (aliRsp *AliPayUserCertifyOpenQueryResponse, err error) {
+func (a *Client) UserCertifyOpenQuery(body gopay.BodyMap) (aliRsp *UserCertifyOpenQueryResponse, err error) {
 	var (
 	var (
 		bs []byte
 		bs []byte
 	)
 	)
@@ -507,7 +507,7 @@ func (a *Client) AliPayUserCertifyOpenQuery(body gopay.BodyMap) (aliRsp *AliPayU
 	if bs, err = a.doAliPay(body, "alipay.user.certify.open.query"); err != nil {
 	if bs, err = a.doAliPay(body, "alipay.user.certify.open.query"); err != nil {
 		return
 		return
 	}
 	}
-	aliRsp = new(AliPayUserCertifyOpenQueryResponse)
+	aliRsp = new(UserCertifyOpenQueryResponse)
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 	if err = json.Unmarshal(bs, aliRsp); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}

+ 5 - 5
alipay/alipay_client_test.go

@@ -55,18 +55,18 @@ func TestAliPayParams(t *testing.T) {
 	fmt.Println("result:", bodyMap.Get("people"))
 	fmt.Println("result:", bodyMap.Get("people"))
 }
 }
 
 
-func TestSyncVerifyAliPaySign(t *testing.T) {
+func TestSyncVerifySign(t *testing.T) {
 	signData := `{"code":"10000","msg":"Success","buyer_logon_id":"854***@qq.com","buyer_pay_amount":"0.01","buyer_user_id":"2088102363632794","fund_bill_list":[{"amount":"0.01","fund_channel":"PCREDIT"}],"gmt_payment":"2019-08-29 20:14:05","invoice_amount":"0.01","out_trade_no":"GZ201901301040361012","point_amount":"0.00","receipt_amount":"0.01","total_amount":"0.01","trade_no":"2019082922001432790585537960"}`
 	signData := `{"code":"10000","msg":"Success","buyer_logon_id":"854***@qq.com","buyer_pay_amount":"0.01","buyer_user_id":"2088102363632794","fund_bill_list":[{"amount":"0.01","fund_channel":"PCREDIT"}],"gmt_payment":"2019-08-29 20:14:05","invoice_amount":"0.01","out_trade_no":"GZ201901301040361012","point_amount":"0.00","receipt_amount":"0.01","total_amount":"0.01","trade_no":"2019082922001432790585537960"}`
 	sign := "bk3SzX0CZRI811IJioS2XKQHcgMixUT8mYyGQj+vcOAQas7GIYi6LpykqqSc3m7+yvqoG0TdX/c2JjYnpw/J53JxtC2IC4vsLuIPIgghVo5qafsfSxEJ22w20RZDatI2dYqFVcj8Jp+4aesQ8zMMNw7cX9NLyk7kw3DecYeyQp+zrZMueZPqLh88Z+54G+e6QuSU++0ouqQVd4PkpPqy6YI+8MdMUX4Ve0jOQxMmYH8BC6n5ZsTH/uEaLEtzYVZdSw/xdSQ7K1SH73aEH8XbRYx6rL7RkKksrdvhezX+ThDjQ+fTWjvNFrGcg3fmqXRy2elvoalu+BQmqlkWWjEJYA=="
 	sign := "bk3SzX0CZRI811IJioS2XKQHcgMixUT8mYyGQj+vcOAQas7GIYi6LpykqqSc3m7+yvqoG0TdX/c2JjYnpw/J53JxtC2IC4vsLuIPIgghVo5qafsfSxEJ22w20RZDatI2dYqFVcj8Jp+4aesQ8zMMNw7cX9NLyk7kw3DecYeyQp+zrZMueZPqLh88Z+54G+e6QuSU++0ouqQVd4PkpPqy6YI+8MdMUX4Ve0jOQxMmYH8BC6n5ZsTH/uEaLEtzYVZdSw/xdSQ7K1SH73aEH8XbRYx6rL7RkKksrdvhezX+ThDjQ+fTWjvNFrGcg3fmqXRy2elvoalu+BQmqlkWWjEJYA=="
 	aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp8gueNlkbiDidz6FBQEBpqoRgH8h7JtsPtYW0nzAqy1MME4mFnDSMfSKlreUomS3a55gmBopL1eF4/Km/dEnaL5tCY9+24SKn1D4iyls+lvz/ZjvUjVwxoUYBh8kkcxMZSDeDz8//o+9qZTrICVP2a4sBB8T0XmU4gxfw8FsmtoomBH1nLk3AO7wgRN2a3+SRSAmxrhIGDmF1lljSlhY32eJpJ2TZQKaWNW+7yDBU/0Wt3kQVY84vr14yYagnSCiIfqyVFqePayRtmVJDr5qvSXr51tdqs2zKZCu+26X7JAF4BSsaq4gmY5DmDTm4TohCnBduI1+bPGD+igVmtl05wIDAQAB"
 	aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp8gueNlkbiDidz6FBQEBpqoRgH8h7JtsPtYW0nzAqy1MME4mFnDSMfSKlreUomS3a55gmBopL1eF4/Km/dEnaL5tCY9+24SKn1D4iyls+lvz/ZjvUjVwxoUYBh8kkcxMZSDeDz8//o+9qZTrICVP2a4sBB8T0XmU4gxfw8FsmtoomBH1nLk3AO7wgRN2a3+SRSAmxrhIGDmF1lljSlhY32eJpJ2TZQKaWNW+7yDBU/0Wt3kQVY84vr14yYagnSCiIfqyVFqePayRtmVJDr5qvSXr51tdqs2zKZCu+26X7JAF4BSsaq4gmY5DmDTm4TohCnBduI1+bPGD+igVmtl05wIDAQAB"
 	pKey := FormatPublicKey(aliPayPublicKey)
 	pKey := FormatPublicKey(aliPayPublicKey)
-	err := verifyAliPaySign(signData, sign, "RSA2", pKey)
+	err := verifySign(signData, sign, "RSA2", pKey)
 	if err != nil {
 	if err != nil {
 		fmt.Println("err:", err)
 		fmt.Println("err:", err)
 	}
 	}
 }
 }
 
 
-func TestVerifyAliPaySign(t *testing.T) {
+func TestVerifySign(t *testing.T) {
 	// 测试,假数据,无法验签通过
 	// 测试,假数据,无法验签通过
 	bm := make(gopay.BodyMap)
 	bm := make(gopay.BodyMap)
 	bm.Set("sign", "kPbQIjX+xQc8F0/A6/AocELIjhhZnGbcBN6G4MM/HmfWL4ZiHM6fWl5NQhzXJusaklZ1LFuMo+lHQUELAYeugH8LYFvxnNajOvZhuxNFbN2LhF0l/KL8ANtj8oyPM4NN7Qft2kWJTDJUpQOzCzNnV9hDxh5AaT9FPqRS6ZKxnzM=")
 	bm.Set("sign", "kPbQIjX+xQc8F0/A6/AocELIjhhZnGbcBN6G4MM/HmfWL4ZiHM6fWl5NQhzXJusaklZ1LFuMo+lHQUELAYeugH8LYFvxnNajOvZhuxNFbN2LhF0l/KL8ANtj8oyPM4NN7Qft2kWJTDJUpQOzCzNnV9hDxh5AaT9FPqRS6ZKxnzM=")
@@ -129,10 +129,10 @@ func TestGetCertSN(t *testing.T) {
 	fmt.Println("sn:", sn)
 	fmt.Println("sn:", sn)
 }
 }
 
 
-func TestDecryptAliPayOpenDataToBodyMap(t *testing.T) {
+func TestDecryptOpenDataToBodyMap(t *testing.T) {
 	data := "MkvuiIZsGOC8S038cu/JIpoRKnF+ZFjoIRGf5d/K4+ctYjCtb/eEkwgrdB5TeH/93bxff1Ylb+SE+UGStlpvcg=="
 	data := "MkvuiIZsGOC8S038cu/JIpoRKnF+ZFjoIRGf5d/K4+ctYjCtb/eEkwgrdB5TeH/93bxff1Ylb+SE+UGStlpvcg=="
 	key := "TDftre9FpItr46e9BVNJcw=="
 	key := "TDftre9FpItr46e9BVNJcw=="
-	bm, err := DecryptAliPayOpenDataToBodyMap(data, key)
+	bm, err := DecryptOpenDataToBodyMap(data, key)
 	if err != nil {
 	if err != nil {
 		fmt.Println("err:", err)
 		fmt.Println("err:", err)
 		return
 		return

+ 33 - 33
alipay/alipay_model.go

@@ -8,7 +8,7 @@ const (
 	zfbSandboxBaseUrlUtf8 = "https://openapi.alipaydev.com/gateway.do?charset=utf-8"
 	zfbSandboxBaseUrlUtf8 = "https://openapi.alipaydev.com/gateway.do?charset=utf-8"
 )
 )
 
 
-type AliPayNotifyRequest struct {
+type NotifyRequest struct {
 	NotifyTime        string                   `json:"notify_time,omitempty"`
 	NotifyTime        string                   `json:"notify_time,omitempty"`
 	NotifyType        string                   `json:"notify_type,omitempty"`
 	NotifyType        string                   `json:"notify_type,omitempty"`
 	NotifyId          string                   `json:"notify_id,omitempty"`
 	NotifyId          string                   `json:"notify_id,omitempty"`
@@ -66,7 +66,7 @@ type voucherDetailListInfo struct {
 	PurchaseAntContribute      string `json:"purchase_ant_contribute,omitempty"`
 	PurchaseAntContribute      string `json:"purchase_ant_contribute,omitempty"`
 }
 }
 
 
-type AliPayUserPhone struct {
+type UserPhone struct {
 	Code    string `json:"code,omitempty"`
 	Code    string `json:"code,omitempty"`
 	Msg     string `json:"msg,omitempty"`
 	Msg     string `json:"msg,omitempty"`
 	SubCode string `json:"subCode,omitempty"`
 	SubCode string `json:"subCode,omitempty"`
@@ -75,7 +75,7 @@ type AliPayUserPhone struct {
 }
 }
 
 
 //===================================================
 //===================================================
-type AliPayTradePayResponse struct {
+type TradePayResponse struct {
 	Response *payResponse `json:"alipay_trade_pay_response,omitempty"`
 	Response *payResponse `json:"alipay_trade_pay_response,omitempty"`
 	SignData string       `json:"-"`
 	SignData string       `json:"-"`
 	Sign     string       `json:"sign"`
 	Sign     string       `json:"sign"`
@@ -138,7 +138,7 @@ type payResponse struct {
 }
 }
 
 
 //===================================================
 //===================================================
-type AliPayTradeQueryResponse struct {
+type TradeQueryResponse struct {
 	Response *queryResponse `json:"alipay_trade_query_response,omitempty"`
 	Response *queryResponse `json:"alipay_trade_query_response,omitempty"`
 	SignData string         `json:"-"`
 	SignData string         `json:"-"`
 	Sign     string         `json:"sign"`
 	Sign     string         `json:"sign"`
@@ -201,7 +201,7 @@ type queryResponse struct {
 }
 }
 
 
 //===================================================
 //===================================================
-type AliPayTradeCreateResponse struct {
+type TradeCreateResponse struct {
 	Response *createResponse `json:"alipay_trade_create_response,omitempty"`
 	Response *createResponse `json:"alipay_trade_create_response,omitempty"`
 	SignData string          `json:"-"`
 	SignData string          `json:"-"`
 	Sign     string          `json:"sign"`
 	Sign     string          `json:"sign"`
@@ -217,7 +217,7 @@ type createResponse struct {
 }
 }
 
 
 //===================================================
 //===================================================
-type AliPayTradeCloseResponse struct {
+type TradeCloseResponse struct {
 	Response *closeResponse `json:"alipay_trade_close_response,omitempty"`
 	Response *closeResponse `json:"alipay_trade_close_response,omitempty"`
 	SignData string         `json:"-"`
 	SignData string         `json:"-"`
 	Sign     string         `json:"sign"`
 	Sign     string         `json:"sign"`
@@ -233,9 +233,9 @@ type closeResponse struct {
 }
 }
 
 
 //===================================================
 //===================================================
-type AliPayTradeCancelResponse struct {
+type TradeCancelResponse struct {
 	Response     *cancelResponse `json:"alipay_trade_cancel_response,omitempty"`
 	Response     *cancelResponse `json:"alipay_trade_cancel_response,omitempty"`
-	AliPayCertSn string          `json:"alipay_cert_sn,omitempty"`
+	AlipayCertSn string          `json:"alipay_cert_sn,omitempty"`
 	SignData     string          `json:"-"`
 	SignData     string          `json:"-"`
 	Sign         string          `json:"sign"`
 	Sign         string          `json:"sign"`
 }
 }
@@ -254,7 +254,7 @@ type cancelResponse struct {
 }
 }
 
 
 //===================================================
 //===================================================
-type AliPaySystemOauthTokenResponse struct {
+type SystemOauthTokenResponse struct {
 	Response      *oauthTokenInfo `json:"alipay_system_oauth_token_response,omitempty"`
 	Response      *oauthTokenInfo `json:"alipay_system_oauth_token_response,omitempty"`
 	ErrorResponse *struct {
 	ErrorResponse *struct {
 		Code    string `json:"code,omitempty"`
 		Code    string `json:"code,omitempty"`
@@ -262,7 +262,7 @@ type AliPaySystemOauthTokenResponse struct {
 		SubCode string `json:"sub_code,omitempty"`
 		SubCode string `json:"sub_code,omitempty"`
 		SubMsg  string `json:"sub_msg,omitempty"`
 		SubMsg  string `json:"sub_msg,omitempty"`
 	} `json:"error_response,omitempty"`
 	} `json:"error_response,omitempty"`
-	AliPayCertSn string `json:"alipay_cert_sn,omitempty"`
+	AlipayCertSn string `json:"alipay_cert_sn,omitempty"`
 	SignData     string `json:"-"`
 	SignData     string `json:"-"`
 	Sign         string `json:"sign"`
 	Sign         string `json:"sign"`
 }
 }
@@ -276,9 +276,9 @@ type oauthTokenInfo struct {
 }
 }
 
 
 //===================================================
 //===================================================
-type AliPayUserInfoShareResponse struct {
+type UserInfoShareResponse struct {
 	Response     *userInfoShare `json:"alipay_user_info_share_response,omitempty"`
 	Response     *userInfoShare `json:"alipay_user_info_share_response,omitempty"`
-	AliPayCertSn string         `json:"alipay_cert_sn,omitempty"`
+	AlipayCertSn string         `json:"alipay_cert_sn,omitempty"`
 	SignData     string         `json:"-"`
 	SignData     string         `json:"-"`
 	Sign         string         `json:"sign"`
 	Sign         string         `json:"sign"`
 }
 }
@@ -301,9 +301,9 @@ type userInfoShare struct {
 }
 }
 
 
 //===================================================
 //===================================================
-type AliPayTradeRefundResponse struct {
+type TradeRefundResponse struct {
 	Response     *refundResponse `json:"alipay_trade_refund_response,omitempty"`
 	Response     *refundResponse `json:"alipay_trade_refund_response,omitempty"`
-	AliPayCertSn string          `json:"alipay_cert_sn,omitempty"`
+	AlipayCertSn string          `json:"alipay_cert_sn,omitempty"`
 	SignData     string          `json:"-"`
 	SignData     string          `json:"-"`
 	Sign         string          `json:"sign"`
 	Sign         string          `json:"sign"`
 }
 }
@@ -342,9 +342,9 @@ type tradeFundBill struct {
 }
 }
 
 
 //===================================================
 //===================================================
-type AliPayTradeFastpayRefundQueryResponse struct {
+type TradeFastpayRefundQueryResponse struct {
 	Response     *refundQueryResponse `json:"alipay_trade_fastpay_refund_query_response,omitempty"`
 	Response     *refundQueryResponse `json:"alipay_trade_fastpay_refund_query_response,omitempty"`
-	AliPayCertSn string               `json:"alipay_cert_sn,omitempty"`
+	AlipayCertSn string               `json:"alipay_cert_sn,omitempty"`
 	SignData     string               `json:"-"`
 	SignData     string               `json:"-"`
 	Sign         string               `json:"sign"`
 	Sign         string               `json:"sign"`
 }
 }
@@ -379,9 +379,9 @@ type refundQueryResponse struct {
 }
 }
 
 
 //===================================================
 //===================================================
-type AliPayTradeOrderSettleResponse struct {
+type TradeOrderSettleResponse struct {
 	Response     *orderSettleResponse `json:"alipay_trade_order_settle_response,omitempty"`
 	Response     *orderSettleResponse `json:"alipay_trade_order_settle_response,omitempty"`
-	AliPayCertSn string               `json:"alipay_cert_sn,omitempty"`
+	AlipayCertSn string               `json:"alipay_cert_sn,omitempty"`
 	SignData     string               `json:"-"`
 	SignData     string               `json:"-"`
 	Sign         string               `json:"sign"`
 	Sign         string               `json:"sign"`
 }
 }
@@ -394,9 +394,9 @@ type orderSettleResponse struct {
 }
 }
 
 
 //===================================================
 //===================================================
-type AliPayTradePrecreateResponse struct {
+type TradePrecreateResponse struct {
 	Response     *precreateResponse `json:"alipay_trade_precreate_response,omitempty"`
 	Response     *precreateResponse `json:"alipay_trade_precreate_response,omitempty"`
-	AliPayCertSn string             `json:"alipay_cert_sn,omitempty"`
+	AlipayCertSn string             `json:"alipay_cert_sn,omitempty"`
 	SignData     string             `json:"-"`
 	SignData     string             `json:"-"`
 	Sign         string             `json:"sign"`
 	Sign         string             `json:"sign"`
 }
 }
@@ -411,9 +411,9 @@ type precreateResponse struct {
 }
 }
 
 
 //===================================================
 //===================================================
-type AliPayTradePageRefundResponse struct {
+type TradePageRefundResponse struct {
 	Response     *pageRefundResponse `json:"alipay_trade_page_refund_response,omitempty"`
 	Response     *pageRefundResponse `json:"alipay_trade_page_refund_response,omitempty"`
-	AliPayCertSn string              `json:"alipay_cert_sn,omitempty"`
+	AlipayCertSn string              `json:"alipay_cert_sn,omitempty"`
 	SignData     string              `json:"-"`
 	SignData     string              `json:"-"`
 	Sign         string              `json:"sign"`
 	Sign         string              `json:"sign"`
 }
 }
@@ -430,9 +430,9 @@ type pageRefundResponse struct {
 }
 }
 
 
 //===================================================
 //===================================================
-type AliPayFundTransToaccountTransferResponse struct {
+type FundTransToaccountTransferResponse struct {
 	Response     *transToaccountTransferResponse `json:"alipay_fund_trans_toaccount_transfer_response,omitempty"`
 	Response     *transToaccountTransferResponse `json:"alipay_fund_trans_toaccount_transfer_response,omitempty"`
-	AliPayCertSn string                          `json:"alipay_cert_sn,omitempty"`
+	AlipayCertSn string                          `json:"alipay_cert_sn,omitempty"`
 	SignData     string                          `json:"-"`
 	SignData     string                          `json:"-"`
 	Sign         string                          `json:"sign"`
 	Sign         string                          `json:"sign"`
 }
 }
@@ -450,7 +450,7 @@ type transToaccountTransferResponse struct {
 //===================================================
 //===================================================
 type ZhimaCreditScoreGetResponse struct {
 type ZhimaCreditScoreGetResponse struct {
 	Response     *scoreGetResponse `json:"zhima_credit_score_get_response,omitempty"`
 	Response     *scoreGetResponse `json:"zhima_credit_score_get_response,omitempty"`
-	AliPayCertSn string            `json:"alipay_cert_sn,omitempty"`
+	AlipayCertSn string            `json:"alipay_cert_sn,omitempty"`
 	SignData     string            `json:"-"`
 	SignData     string            `json:"-"`
 	Sign         string            `json:"sign"`
 	Sign         string            `json:"sign"`
 }
 }
@@ -465,9 +465,9 @@ type scoreGetResponse struct {
 }
 }
 
 
 //===================================================
 //===================================================
-type AliPayOpenAuthTokenAppResponse struct {
+type OpenAuthTokenAppResponse struct {
 	Response     *authTokenAppResponse `json:"alipay_open_auth_token_app_response,omitempty"`
 	Response     *authTokenAppResponse `json:"alipay_open_auth_token_app_response,omitempty"`
-	AliPayCertSn string                `json:"alipay_cert_sn,omitempty"`
+	AlipayCertSn string                `json:"alipay_cert_sn,omitempty"`
 	SignData     string                `json:"-"`
 	SignData     string                `json:"-"`
 	Sign         string                `json:"sign"`
 	Sign         string                `json:"sign"`
 }
 }
@@ -494,9 +494,9 @@ type authTokenAppResponse struct {
 }
 }
 
 
 //===================================================
 //===================================================
-type AliPayUserCertifyOpenInitResponse struct {
+type UserCertifyOpenInitResponse struct {
 	Response     *userCertifyOpenInitResponse `json:"alipay_user_certify_open_initialize_response,omitempty"`
 	Response     *userCertifyOpenInitResponse `json:"alipay_user_certify_open_initialize_response,omitempty"`
-	AliPayCertSn string                       `json:"alipay_cert_sn,omitempty"`
+	AlipayCertSn string                       `json:"alipay_cert_sn,omitempty"`
 	SignData     string                       `json:"-"`
 	SignData     string                       `json:"-"`
 	Sign         string                       `json:"sign"`
 	Sign         string                       `json:"sign"`
 }
 }
@@ -510,9 +510,9 @@ type userCertifyOpenInitResponse struct {
 }
 }
 
 
 //===================================================
 //===================================================
-type AliPayUserCertifyOpenCertifyResponse struct {
+type UserCertifyOpenCertifyResponse struct {
 	Response     *userCertifyOpenCertifyResponse `json:"alipay_user_certify_open_certify_response,omitempty"`
 	Response     *userCertifyOpenCertifyResponse `json:"alipay_user_certify_open_certify_response,omitempty"`
-	AliPayCertSn string                          `json:"alipay_cert_sn,omitempty"`
+	AlipayCertSn string                          `json:"alipay_cert_sn,omitempty"`
 	SignData     string                          `json:"-"`
 	SignData     string                          `json:"-"`
 	Sign         string                          `json:"sign"`
 	Sign         string                          `json:"sign"`
 }
 }
@@ -525,9 +525,9 @@ type userCertifyOpenCertifyResponse struct {
 }
 }
 
 
 //===================================================
 //===================================================
-type AliPayUserCertifyOpenQueryResponse struct {
+type UserCertifyOpenQueryResponse struct {
 	Response     *userCertifyOpenQueryResponse `json:"alipay_user_certify_open_query_response,omitempty"`
 	Response     *userCertifyOpenQueryResponse `json:"alipay_user_certify_open_query_response,omitempty"`
-	AliPayCertSn string                        `json:"alipay_cert_sn,omitempty"`
+	AlipayCertSn string                        `json:"alipay_cert_sn,omitempty"`
 	SignData     string                        `json:"-"`
 	SignData     string                        `json:"-"`
 	Sign         string                        `json:"sign"`
 	Sign         string                        `json:"sign"`
 }
 }

+ 11 - 11
alipay/alipay_service_api.go

@@ -60,8 +60,8 @@ func ParseNotifyResultToBodyMap(req *http.Request) (bm gopay.BodyMap, err error)
 //    返回参数notifyReq:Notify请求的参数
 //    返回参数notifyReq:Notify请求的参数
 //    返回参数err:错误信息
 //    返回参数err:错误信息
 //    文档:https://docs.open.alipay.com/203/105286/
 //    文档:https://docs.open.alipay.com/203/105286/
-func ParseNotifyResult(req *http.Request) (notifyReq *AliPayNotifyRequest, err error) {
-	notifyReq = new(AliPayNotifyRequest)
+func ParseNotifyResult(req *http.Request) (notifyReq *NotifyRequest, err error) {
+	notifyReq = new(NotifyRequest)
 	if err = req.ParseForm(); err != nil {
 	if err = req.ParseForm(); err != nil {
 		return
 		return
 	}
 	}
@@ -148,7 +148,7 @@ func VerifySyncSign(aliPayPublicKey, signData, sign string) (ok bool, err error)
 
 
 	// 支付宝公钥验签
 	// 支付宝公钥验签
 	pKey := FormatPublicKey(aliPayPublicKey)
 	pKey := FormatPublicKey(aliPayPublicKey)
-	if err = verifyAliPaySign(signData, sign, "RSA2", pKey); err != nil {
+	if err = verifySign(signData, sign, "RSA2", pKey); err != nil {
 		return false, err
 		return false, err
 	}
 	}
 	return true, nil
 	return true, nil
@@ -194,13 +194,13 @@ func VerifySign(aliPayPublicKey string, bean interface{}) (ok bool, err error) {
 		signData = bm.EncodeAliPaySignParams()
 		signData = bm.EncodeAliPaySignParams()
 	}
 	}
 	pKey := FormatPublicKey(aliPayPublicKey)
 	pKey := FormatPublicKey(aliPayPublicKey)
-	if err = verifyAliPaySign(signData, bodySign, bodySignType, pKey); err != nil {
+	if err = verifySign(signData, bodySign, bodySignType, pKey); err != nil {
 		return false, err
 		return false, err
 	}
 	}
 	return true, nil
 	return true, nil
 }
 }
 
 
-func verifyAliPaySign(signData, sign, signType, aliPayPublicKey string) (err error) {
+func verifySign(signData, sign, signType, aliPayPublicKey string) (err error) {
 	var (
 	var (
 		h         hash.Hash
 		h         hash.Hash
 		hashs     crypto.Hash
 		hashs     crypto.Hash
@@ -334,13 +334,13 @@ func GetCertSN(certPath string) (sn string, err error) {
 	return sn, nil
 	return sn, nil
 }
 }
 
 
-// DecryptAliPayOpenDataToStruct 解密支付宝开放数据到 结构体
+// DecryptOpenDataToStruct 解密支付宝开放数据到 结构体
 //    encryptedData:包括敏感数据在内的完整用户信息的加密数据
 //    encryptedData:包括敏感数据在内的完整用户信息的加密数据
 //    secretKey:AES密钥,支付宝管理平台配置
 //    secretKey:AES密钥,支付宝管理平台配置
 //    beanPtr:需要解析到的结构体指针
 //    beanPtr:需要解析到的结构体指针
 //    文档:https://docs.alipay.com/mini/introduce/aes
 //    文档:https://docs.alipay.com/mini/introduce/aes
 //    文档:https://docs.open.alipay.com/common/104567
 //    文档:https://docs.open.alipay.com/common/104567
-func DecryptAliPayOpenDataToStruct(encryptedData, secretKey string, beanPtr interface{}) (err error) {
+func DecryptOpenDataToStruct(encryptedData, secretKey string, beanPtr interface{}) (err error) {
 	beanValue := reflect.ValueOf(beanPtr)
 	beanValue := reflect.ValueOf(beanPtr)
 	if beanValue.Kind() != reflect.Ptr {
 	if beanValue.Kind() != reflect.Ptr {
 		return errors.New("传入参数类型必须是以指针形式")
 		return errors.New("传入参数类型必须是以指针形式")
@@ -374,12 +374,12 @@ func DecryptAliPayOpenDataToStruct(encryptedData, secretKey string, beanPtr inte
 	return nil
 	return nil
 }
 }
 
 
-// DecryptAliPayOpenDataToBodyMap 解密支付宝开放数据到 BodyMap
+// DecryptOpenDataToBodyMap 解密支付宝开放数据到 BodyMap
 //    encryptedData:包括敏感数据在内的完整用户信息的加密数据
 //    encryptedData:包括敏感数据在内的完整用户信息的加密数据
 //    secretKey:AES密钥,支付宝管理平台配置
 //    secretKey:AES密钥,支付宝管理平台配置
 //    文档:https://docs.alipay.com/mini/introduce/aes
 //    文档:https://docs.alipay.com/mini/introduce/aes
 //    文档:https://docs.open.alipay.com/common/104567
 //    文档:https://docs.open.alipay.com/common/104567
-func DecryptAliPayOpenDataToBodyMap(encryptedData, secretKey string) (bm gopay.BodyMap, err error) {
+func DecryptOpenDataToBodyMap(encryptedData, secretKey string) (bm gopay.BodyMap, err error) {
 	var (
 	var (
 		aesKey, originData []byte
 		aesKey, originData []byte
 		ivKey              = []byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
 		ivKey              = []byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
@@ -413,7 +413,7 @@ func DecryptAliPayOpenDataToBodyMap(encryptedData, secretKey string) (bm gopay.B
 //    grantType:值为 authorization_code 时,代表用code换取;值为 refresh_token 时,代表用refresh_token换取,传空默认code换取
 //    grantType:值为 authorization_code 时,代表用code换取;值为 refresh_token 时,代表用refresh_token换取,传空默认code换取
 //    codeOrToken:支付宝授权码或refresh_token
 //    codeOrToken:支付宝授权码或refresh_token
 //    文档:https://docs.open.alipay.com/api_9/alipay.system.oauth.token
 //    文档:https://docs.open.alipay.com/api_9/alipay.system.oauth.token
-func AliPaySystemOauthToken(appId, privateKey, grantType, codeOrToken string) (rsp *AliPaySystemOauthTokenResponse, err error) {
+func SystemOauthToken(appId, privateKey, grantType, codeOrToken string) (rsp *SystemOauthTokenResponse, err error) {
 	var bs []byte
 	var bs []byte
 	bm := make(gopay.BodyMap)
 	bm := make(gopay.BodyMap)
 	if "authorization_code" == grantType {
 	if "authorization_code" == grantType {
@@ -429,7 +429,7 @@ func AliPaySystemOauthToken(appId, privateKey, grantType, codeOrToken string) (r
 	if bs, err = systemOauthToken(appId, privateKey, bm, "alipay.system.oauth.token", true); err != nil {
 	if bs, err = systemOauthToken(appId, privateKey, bm, "alipay.system.oauth.token", true); err != nil {
 		return
 		return
 	}
 	}
-	rsp = new(AliPaySystemOauthTokenResponse)
+	rsp = new(SystemOauthTokenResponse)
 	if err = json.Unmarshal(bs, rsp); err != nil {
 	if err = json.Unmarshal(bs, rsp); err != nil {
 		return nil, fmt.Errorf("json.Unmarshal:%s", err.Error())
 		return nil, fmt.Errorf("json.Unmarshal:%s", err.Error())
 	}
 	}

+ 0 - 8
constant.go

@@ -1,8 +0,0 @@
-package gopay
-
-const (
-	NULL       string = ""
-	TimeLayout string = "2006-01-02 15:04:05"
-	DateLayout string = "2006-01-02"
-	Version    string = "1.4.6"
-)

+ 0 - 67
doc.go

@@ -1,67 +0,0 @@
-package gopay
-
-/*
-
-// Java SDK 获取Root证书SN
-public static String getRootCertSN(String rootCertContent){
-   String rootCertSN = NULL;
-   try {
-	   X509Certificate[] x509Certificates = readPemCertChain(rootCertContent);
-	   MessageDigest md = MessageDigest.getInstance("MD5");
-	   for (X509Certificate c : x509Certificates) {
-		   if(c.getSigAlgOID().startsWith("1.2.840.113549.1.1")){
-			   md.update((c.getIssuerX500Principal().getName() + c.getSerialNumber()).getBytes());
-			   String certSN = new BigInteger(1,md.digest()).toString(16);
-			   certSN = fillMD5(certSN);
-			   if(StringUtils.isEmpty(rootCertSN)){
-				   rootCertSN = certSN;
-			   }else {
-				   rootCertSN = rootCertSN + "_" + certSN;
-			   }
-		   }
-
-	   }
-   }catch (Exception e){
-	   AlipayLogger.logBizError(("err"));
-   }
-   return rootCertSN;
-}
-
-// Java SDK 获取证书
-private X509Certificate getCert(String  certPath) throws AlipayApiException{
-	InputStream inputStream = NULL;
-	try {
-		inputStream = new FileInputStream(certPath);
-		CertificateFactory cf = CertificateFactory.getInstance("X.509");
-		X509Certificate cert = (X509Certificate)cf.generateCertificate(inputStream);
-		return cert;
-
-	}catch (IOException e) {
-		throw new AlipayApiException(e);
-	}catch (CertificateException e){
-		throw new AlipayApiException(e);
-	}finally {
-		try {
-			if (inputStream != NULL) {
-				inputStream.close();
-			}
-		}catch (IOException e) {
-			throw new AlipayApiException(e);
-		}
-	}
-}
-
-// Java SDK 获取证书SN
-private String getCertSN(X509Certificate cf) throws AlipayApiException{
-	try {
-		MessageDigest md = MessageDigest.getInstance("MD5");
-		md.update((cf.getIssuerX500Principal().getName() + cf.getSerialNumber()).getBytes());
-		String certSN = new BigInteger(1,md.digest()).toString(16);
-		certSN = fillMD5(certSN);
-		return certSN;
-	}catch (NoSuchAlgorithmException e){
-		throw new AlipayApiException(e);
-	}
-}
-
-*/

+ 2 - 2
examples/alipay/alipay_AlipayFundTransToaccountTransfer.go → examples/alipay/alipay_FundTransToaccountTransfer.go

@@ -7,7 +7,7 @@ import (
 	"github.com/iGoogle-ink/gopay/alipay"
 	"github.com/iGoogle-ink/gopay/alipay"
 )
 )
 
 
-func AliPayFundTransToaccountTransfer() {
+func FundTransToaccountTransfer() {
 	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="
 	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
 	//    appId:应用ID
@@ -28,7 +28,7 @@ func AliPayFundTransToaccountTransfer() {
 	body.Set("payee_real_name", "沙箱环境")
 	body.Set("payee_real_name", "沙箱环境")
 	body.Set("remark", "转账测试")
 	body.Set("remark", "转账测试")
 	//创建订单
 	//创建订单
-	aliRsp, err := client.AliPayFundTransToaccountTransfer(body)
+	aliRsp, err := client.FundTransToaccountTransfer(body)
 	if err != nil {
 	if err != nil {
 		fmt.Println("err:", err)
 		fmt.Println("err:", err)
 		return
 		return

+ 2 - 2
examples/alipay/alipay_AlipayOpenAuthTokenApp.go → examples/alipay/alipay_OpenAuthTokenApp.go

@@ -7,7 +7,7 @@ import (
 	"github.com/iGoogle-ink/gopay/alipay"
 	"github.com/iGoogle-ink/gopay/alipay"
 )
 )
 
 
-func AliPayOpenAuthTokenApp() {
+func OpenAuthTokenApp() {
 	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="
 	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="
 	//privateKey := "MIIEowIBAAKCAQEAu8U3O5C6g1KRyZySX1NiVbakSk6+rE5GBt7xEPsRXEtaRsL3YQQOC95+0pGaLTvGTkzZ2sfSZ6mvl9ryYQ1uBAAqSoGWm24djxpwm7JJrkbOsTiKCmB4JnI5xIvvoLZApwtC4USlNSytxXMoxSrTc6lo41ev0ENnh4+dhL9iokLH35uGjHyVi8ovCpo940X8BIlmta3WBGmLIU3s5xGwUwqRHFlWySxaCuEuhhQsodAoqWV9HpM549uVXZCiqkUDugUnfIaUM7vlgMgNa0ol81a7GdQnqmqyg7XMH81chPWWrUQCo5E7oXWXFwSMraNwZbw4qBZYMGLGuKqNqbscqwIDAQABAoIBAC9f38KYjmZJs9yxM0D30cycazEQUw04JnTfVOUa41Ns85b849tHYZ/fABJyh/q3pR3mR+TqG4zqBBKFPDf+Ym6B+CmaLnyCuNR9MEIoJmzhEo8mG7Xohwf0M90CDXB36zH6JmKdpi0XW7SAjJ3KY1VAPeV2Hzalev553p06iFE1pp4wtvF/XFeensGQG58tBCDuzhzxNMZfDqOJPx35Q5HIuW5CS1JdclY7SZol7i5HtgaSkjVQ/3wKRZCK4nTOoQW5uh4ogdI4KKDX7cFmQESxMNsCo+A9oQYOoD7yw9wsCkENlPyUDbAcFNFTDWpOAVXn/M0jQWQDzaT7GlhrqlkCgYEA+QFTewivhL+nmbcTrgscyzFNeoeBOct9MH8YJNWIblKT35Lg0HT1UAW9Jey46d6al+Xz/0sM0c+3nbYb9Va2oPahW70hmbTchBrqKAh/svb9yCeWw5i6NuzUNRZ5kz5ufr42XRRVNR2IJ2Av4RGfVA7W/uhAnIZBPngk5CoyfgcCgYEAwQuH9DH46fvKTB+B1kDngpKQw9Jn2ZXVz8dyYnhdH/SZgohwD/jTldx9ck42bFw4+3qHI6DJSxBxqeuaGQqmD5Y3YStP3Gb33EABACpLt1NV4AId8rWfrizJTxy5+PJONHNmDNL0Fyv53qtsG1rv+Unye6Pfeo6pkKmK49u/Az0CgYEAtR3Oz934dNFGohs1GFIC5pT86xPm3dfyPjUjpZ8ftkcgQe2+0kFQMZ2LACvYMFv3DGd5e4bmUzIIN5G/cktZWWkq4uSFrRyNjRVanjXYVJ8s5spM8gaD4/GNRPQNCBnQGyZVuoxQkeriHunqyYWc43JL1Wuvm2pXyI1xH/jFcz8CgYB1IN34mGmC7rcrwOIycWcGno8fgYZpSrRUQZtxi75VKUALJ2V3C261uvaSaEo1LS+Vxh5Ay8nWtb+BbeYt03w2cNphJrpp7D/vbxYsV31hWjr8k8w/+1tLfvkV+0QLfFlfEbWVill3xcLyC+ioIGECTI/H3QI3hl/z2irfXfFjsQKBgA+vBD22XWD1drUccPA0mMJdVMW/yrd3HVbHLVHaNqkdPFUAN8k27icXxdE2gKoHWmDeW0SZ5Wm7Hc+79f222ZS401vzlL78sIXBydYlsxn3zDowt5U9WTDPVxoqx+aStUriDPiV3fnxj9D/Q4IAEYlqI1gjRBF1o15zRFQZAkJv"
 	//privateKey := "MIIEowIBAAKCAQEAu8U3O5C6g1KRyZySX1NiVbakSk6+rE5GBt7xEPsRXEtaRsL3YQQOC95+0pGaLTvGTkzZ2sfSZ6mvl9ryYQ1uBAAqSoGWm24djxpwm7JJrkbOsTiKCmB4JnI5xIvvoLZApwtC4USlNSytxXMoxSrTc6lo41ev0ENnh4+dhL9iokLH35uGjHyVi8ovCpo940X8BIlmta3WBGmLIU3s5xGwUwqRHFlWySxaCuEuhhQsodAoqWV9HpM549uVXZCiqkUDugUnfIaUM7vlgMgNa0ol81a7GdQnqmqyg7XMH81chPWWrUQCo5E7oXWXFwSMraNwZbw4qBZYMGLGuKqNqbscqwIDAQABAoIBAC9f38KYjmZJs9yxM0D30cycazEQUw04JnTfVOUa41Ns85b849tHYZ/fABJyh/q3pR3mR+TqG4zqBBKFPDf+Ym6B+CmaLnyCuNR9MEIoJmzhEo8mG7Xohwf0M90CDXB36zH6JmKdpi0XW7SAjJ3KY1VAPeV2Hzalev553p06iFE1pp4wtvF/XFeensGQG58tBCDuzhzxNMZfDqOJPx35Q5HIuW5CS1JdclY7SZol7i5HtgaSkjVQ/3wKRZCK4nTOoQW5uh4ogdI4KKDX7cFmQESxMNsCo+A9oQYOoD7yw9wsCkENlPyUDbAcFNFTDWpOAVXn/M0jQWQDzaT7GlhrqlkCgYEA+QFTewivhL+nmbcTrgscyzFNeoeBOct9MH8YJNWIblKT35Lg0HT1UAW9Jey46d6al+Xz/0sM0c+3nbYb9Va2oPahW70hmbTchBrqKAh/svb9yCeWw5i6NuzUNRZ5kz5ufr42XRRVNR2IJ2Av4RGfVA7W/uhAnIZBPngk5CoyfgcCgYEAwQuH9DH46fvKTB+B1kDngpKQw9Jn2ZXVz8dyYnhdH/SZgohwD/jTldx9ck42bFw4+3qHI6DJSxBxqeuaGQqmD5Y3YStP3Gb33EABACpLt1NV4AId8rWfrizJTxy5+PJONHNmDNL0Fyv53qtsG1rv+Unye6Pfeo6pkKmK49u/Az0CgYEAtR3Oz934dNFGohs1GFIC5pT86xPm3dfyPjUjpZ8ftkcgQe2+0kFQMZ2LACvYMFv3DGd5e4bmUzIIN5G/cktZWWkq4uSFrRyNjRVanjXYVJ8s5spM8gaD4/GNRPQNCBnQGyZVuoxQkeriHunqyYWc43JL1Wuvm2pXyI1xH/jFcz8CgYB1IN34mGmC7rcrwOIycWcGno8fgYZpSrRUQZtxi75VKUALJ2V3C261uvaSaEo1LS+Vxh5Ay8nWtb+BbeYt03w2cNphJrpp7D/vbxYsV31hWjr8k8w/+1tLfvkV+0QLfFlfEbWVill3xcLyC+ioIGECTI/H3QI3hl/z2irfXfFjsQKBgA+vBD22XWD1drUccPA0mMJdVMW/yrd3HVbHLVHaNqkdPFUAN8k27icXxdE2gKoHWmDeW0SZ5Wm7Hc+79f222ZS401vzlL78sIXBydYlsxn3zDowt5U9WTDPVxoqx+aStUriDPiV3fnxj9D/Q4IAEYlqI1gjRBF1o15zRFQZAkJv"
 	//初始化支付宝客户端
 	//初始化支付宝客户端
@@ -23,7 +23,7 @@ func AliPayOpenAuthTokenApp() {
 	body.Set("grant_type", "authorization_code")
 	body.Set("grant_type", "authorization_code")
 	body.Set("code", "866185490c4e40efa9f71efea6766X02")
 	body.Set("code", "866185490c4e40efa9f71efea6766X02")
 	//发起请求
 	//发起请求
-	aliRsp, err := client.AliPayOpenAuthTokenApp(body)
+	aliRsp, err := client.OpenAuthTokenApp(body)
 	if err != nil {
 	if err != nil {
 		fmt.Println("err:", err)
 		fmt.Println("err:", err)
 		return
 		return

+ 9 - 9
examples/alipay/alipay_ServiceApi.go

@@ -15,28 +15,28 @@ func FormatPrivateKey() {
 	fmt.Println(pKey)
 	fmt.Println(pKey)
 }
 }
 
 
-func FormatAliPayPublicKey() {
+func FormatPublicKey() {
 	aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp8gueNlkbiDidz6FBQEBpqoRgH8h7JtsPtYW0nzAqy1MME4mFnDSMfSKlreUomS3a55gmBopL1eF4/Km/dEnaL5tCY9+24SKn1D4iyls+lvz/ZjvUjVwxoUYBh8kkcxMZSDeDz8//o+9qZTrICVP2a4sBB8T0XmU4gxfw8FsmtoomBH1nLk3AO7wgRN2a3+SRSAmxrhIGDmF1lljSlhY32eJpJ2TZQKaWNW+7yDBU/0Wt3kQVY84vr14yYagnSCiIfqyVFqePayRtmVJDr5qvSXr51tdqs2zKZCu+26X7JAF4BSsaq4gmY5DmDTm4TohCnBduI1+bPGD+igVmtl05wIDAQAB"
 	aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp8gueNlkbiDidz6FBQEBpqoRgH8h7JtsPtYW0nzAqy1MME4mFnDSMfSKlreUomS3a55gmBopL1eF4/Km/dEnaL5tCY9+24SKn1D4iyls+lvz/ZjvUjVwxoUYBh8kkcxMZSDeDz8//o+9qZTrICVP2a4sBB8T0XmU4gxfw8FsmtoomBH1nLk3AO7wgRN2a3+SRSAmxrhIGDmF1lljSlhY32eJpJ2TZQKaWNW+7yDBU/0Wt3kQVY84vr14yYagnSCiIfqyVFqePayRtmVJDr5qvSXr51tdqs2zKZCu+26X7JAF4BSsaq4gmY5DmDTm4TohCnBduI1+bPGD+igVmtl05wIDAQAB"
 
 
 	pKey := alipay.FormatPublicKey(aliPayPublicKey)
 	pKey := alipay.FormatPublicKey(aliPayPublicKey)
 	fmt.Println(pKey)
 	fmt.Println(pKey)
 }
 }
 
 
-func AliPaySystemOauthToken2() {
+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="
 	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.AliPaySystemOauthToken("2016091200494382", privateKey, "", "06e8961891d647c0ac99bb1cebe7SE69")
+	rsp, err := alipay.SystemOauthToken("2016091200494382", privateKey, "", "06e8961891d647c0ac99bb1cebe7SE69")
 	if err != nil {
 	if err != nil {
-		fmt.Println("gopay.SystemOauthToken:", err)
+		fmt.Println("SystemOauthToken:", err)
 		return
 		return
 	}
 	}
 	fmt.Println("rsp:", *rsp)
 	fmt.Println("rsp:", *rsp)
 }
 }
 
 
-func DecryptAliPayOpenDataToStruct() {
+func DecryptOpenDataToStruct() {
 	data := "MkvuiIZsGOC8S038cu/JIpoRKnF+ZFjoIRGf5d/K4+ctYjCtb/eEkwgrdB5TeH/93bxff1Ylb+SE+UGStlpvcg=="
 	data := "MkvuiIZsGOC8S038cu/JIpoRKnF+ZFjoIRGf5d/K4+ctYjCtb/eEkwgrdB5TeH/93bxff1Ylb+SE+UGStlpvcg=="
 	key := "TDftre9FpItr46e9BVNJcw=="
 	key := "TDftre9FpItr46e9BVNJcw=="
-	rsp := new(alipay.AliPayUserPhone)
-	err := alipay.DecryptAliPayOpenDataToStruct(data, key, rsp)
+	rsp := new(alipay.UserPhone)
+	err := alipay.DecryptOpenDataToStruct(data, key, rsp)
 	if err != nil {
 	if err != nil {
 		fmt.Println("err:", err)
 		fmt.Println("err:", err)
 		return
 		return
@@ -48,7 +48,7 @@ func DecryptAliPayOpenDataToStruct() {
 	fmt.Println("rsp.Mobile:", rsp.Mobile)
 	fmt.Println("rsp.Mobile:", rsp.Mobile)
 }
 }
 
 
-func VerifyAliPaySyncSign() {
+func VerifySyncSign() {
 	aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	signData := "aaaaaaaaaaaaaaaaaaaaaa"
 	signData := "aaaaaaaaaaaaaaaaaaaaaa"
 	sign := "asdkjsdhfgkjdshflksdjfl"
 	sign := "asdkjsdhfgkjdshflksdjfl"
@@ -61,7 +61,7 @@ func VerifyAliPaySyncSign() {
 	fmt.Println("ok:", ok)
 	fmt.Println("ok:", ok)
 }
 }
 
 
-func ParseAliPayNotifyResultAndVerifyAliPaySign(req *http.Request) {
+func ParseNotifyResultAndVerifySign(req *http.Request) {
 	aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 
 
 	//解析请求参数
 	//解析请求参数

+ 0 - 0
examples/alipay/alipay_AliPaySystemOauthToken.go → examples/alipay/alipay_SystemOauthToken.go


+ 2 - 2
examples/alipay/alipay_AliPayTradeAppPay.go → examples/alipay/alipay_TradeAppPay.go

@@ -7,7 +7,7 @@ import (
 	"github.com/iGoogle-ink/gopay/alipay"
 	"github.com/iGoogle-ink/gopay/alipay"
 )
 )
 
 
-func AliPayTradeAppPay() {
+func TradeAppPay() {
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	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="
 	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="
 	//初始化支付宝客户端
 	//初始化支付宝客户端
@@ -25,7 +25,7 @@ func AliPayTradeAppPay() {
 	body.Set("out_trade_no", "GZ201901301040355706100469")
 	body.Set("out_trade_no", "GZ201901301040355706100469")
 	body.Set("total_amount", "1.00")
 	body.Set("total_amount", "1.00")
 	//手机APP支付参数请求
 	//手机APP支付参数请求
-	payParam, err := client.AliPayTradeAppPay(body)
+	payParam, err := client.TradeAppPay(body)
 	if err != nil {
 	if err != nil {
 		fmt.Println("err:", err)
 		fmt.Println("err:", err)
 		return
 		return

+ 2 - 2
examples/alipay/alipay_AliPayTradeCancel.go → examples/alipay/alipay_TradeCancel.go

@@ -7,7 +7,7 @@ import (
 	"github.com/iGoogle-ink/gopay/alipay"
 	"github.com/iGoogle-ink/gopay/alipay"
 )
 )
 
 
-func AliPayTradeCancel() {
+func TradeCancel() {
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	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="
 	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="
 	//初始化支付宝客户端
 	//初始化支付宝客户端
@@ -23,7 +23,7 @@ func AliPayTradeCancel() {
 	body := make(gopay.BodyMap)
 	body := make(gopay.BodyMap)
 	body.Set("out_trade_no", "GYWX201901301040355706100457")
 	body.Set("out_trade_no", "GYWX201901301040355706100457")
 	//撤销支付订单
 	//撤销支付订单
-	aliRsp, err := client.AliPayTradeCancel(body)
+	aliRsp, err := client.TradeCancel(body)
 	if err != nil {
 	if err != nil {
 		fmt.Println("err:", err)
 		fmt.Println("err:", err)
 		return
 		return

+ 2 - 2
examples/alipay/alipay_AliPayTradeClose.go → examples/alipay/alipay_TradeClose.go

@@ -7,7 +7,7 @@ import (
 	"github.com/iGoogle-ink/gopay/alipay"
 	"github.com/iGoogle-ink/gopay/alipay"
 )
 )
 
 
-func AliPayTradeClose() {
+func TradeClose() {
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	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="
 	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="
 	//初始化支付宝客户端
 	//初始化支付宝客户端
@@ -23,7 +23,7 @@ func AliPayTradeClose() {
 	body := make(gopay.BodyMap)
 	body := make(gopay.BodyMap)
 	body.Set("out_trade_no", "GYWX201901301040355706100459")
 	body.Set("out_trade_no", "GYWX201901301040355706100459")
 	//条码支付
 	//条码支付
-	aliRsp, err := client.AliPayTradeClose(body)
+	aliRsp, err := client.TradeClose(body)
 	if err != nil {
 	if err != nil {
 		fmt.Println("err:", err)
 		fmt.Println("err:", err)
 		return
 		return

+ 0 - 0
examples/alipay/alipay_AliPayTradeCreate.go → examples/alipay/alipay_TradeCreate.go


+ 0 - 0
examples/alipay/alipay_AliPayTradeFastPayRefundQuery.go → examples/alipay/alipay_TradeFastPayRefundQuery.go


+ 0 - 0
examples/alipay/alipay_AliPayTradeOrderSettle.go → examples/alipay/alipay_TradeOrderSettle.go


+ 2 - 2
examples/alipay/alipay_AliPayTradePagePay.go → examples/alipay/alipay_TradePagePay.go

@@ -7,7 +7,7 @@ import (
 	"github.com/iGoogle-ink/gopay/alipay"
 	"github.com/iGoogle-ink/gopay/alipay"
 )
 )
 
 
-func AliPayTradePagePay() {
+func TradePagePay() {
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	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="
 	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="
 	//初始化支付宝客户端
 	//初始化支付宝客户端
@@ -27,7 +27,7 @@ func AliPayTradePagePay() {
 	body.Set("product_code", "FAST_INSTANT_TRADE_PAY")
 	body.Set("product_code", "FAST_INSTANT_TRADE_PAY")
 
 
 	//电脑网站支付请求
 	//电脑网站支付请求
-	payUrl, err := client.AliPayTradePagePay(body)
+	payUrl, err := client.TradePagePay(body)
 	if err != nil {
 	if err != nil {
 		fmt.Println("err:", err)
 		fmt.Println("err:", err)
 		return
 		return

+ 2 - 2
examples/alipay/alipay_AliPayTradePay.go → examples/alipay/alipay_TradePay.go

@@ -7,7 +7,7 @@ import (
 	"github.com/iGoogle-ink/gopay/alipay"
 	"github.com/iGoogle-ink/gopay/alipay"
 )
 )
 
 
-func AliPayTradePay() {
+func TradePay() {
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	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="
 	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="
 	//初始化支付宝客户端
 	//初始化支付宝客户端
@@ -29,7 +29,7 @@ func AliPayTradePay() {
 	body.Set("total_amount", "0.01")
 	body.Set("total_amount", "0.01")
 	body.Set("timeout_express", "2m")
 	body.Set("timeout_express", "2m")
 	//条码支付
 	//条码支付
-	aliRsp, err := client.AliPayTradePay(body)
+	aliRsp, err := client.TradePay(body)
 	if err != nil {
 	if err != nil {
 		fmt.Println("err:", err)
 		fmt.Println("err:", err)
 		return
 		return

+ 2 - 2
examples/alipay/alipay_AliPayTradePrecreate.go → examples/alipay/alipay_TradePrecreate.go

@@ -7,7 +7,7 @@ import (
 	"github.com/iGoogle-ink/gopay/alipay"
 	"github.com/iGoogle-ink/gopay/alipay"
 )
 )
 
 
-func AliPayTradePrecreate() {
+func TradePrecreate() {
 	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="
 	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
 	//    appId:应用ID
@@ -24,7 +24,7 @@ func AliPayTradePrecreate() {
 	body.Set("out_trade_no", "GZ201907301040355704")
 	body.Set("out_trade_no", "GZ201907301040355704")
 	body.Set("total_amount", "100")
 	body.Set("total_amount", "100")
 	//创建订单
 	//创建订单
-	aliRsp, err := client.AliPayTradePrecreate(body)
+	aliRsp, err := client.TradePrecreate(body)
 	if err != nil {
 	if err != nil {
 		fmt.Println("err:", err)
 		fmt.Println("err:", err)
 		return
 		return

+ 2 - 2
examples/alipay/alipay_AliPayTradeQuery.go → examples/alipay/alipay_TradeQuery.go

@@ -7,7 +7,7 @@ import (
 	"github.com/iGoogle-ink/gopay/alipay"
 	"github.com/iGoogle-ink/gopay/alipay"
 )
 )
 
 
-func AliPayTradeQuery() {
+func TradeQuery() {
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	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="
 	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="
 	//初始化支付宝客户端
 	//初始化支付宝客户端
@@ -24,7 +24,7 @@ func AliPayTradeQuery() {
 	body.Set("out_trade_no", "GZ201909081743431443")
 	body.Set("out_trade_no", "GZ201909081743431443")
 
 
 	//查询订单
 	//查询订单
-	aliRsp, err := client.AliPayTradeQuery(body)
+	aliRsp, err := client.TradeQuery(body)
 	if err != nil {
 	if err != nil {
 		fmt.Println("err:", err)
 		fmt.Println("err:", err)
 		return
 		return

+ 2 - 2
examples/alipay/alipay_AliPayTradeRefund.go → examples/alipay/alipay_TradeRefund.go

@@ -7,7 +7,7 @@ import (
 	"github.com/iGoogle-ink/gopay/alipay"
 	"github.com/iGoogle-ink/gopay/alipay"
 )
 )
 
 
-func AliPayTradeRefund() {
+func TradeRefund() {
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	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="
 	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="
 	//初始化支付宝客户端
 	//初始化支付宝客户端
@@ -24,7 +24,7 @@ func AliPayTradeRefund() {
 	body.Set("refund_amount", "5")
 	body.Set("refund_amount", "5")
 	body.Set("refund_reason", "测试退款")
 	body.Set("refund_reason", "测试退款")
 	//发起退款请求
 	//发起退款请求
-	aliRsp, err := client.AliPayTradeRefund(body)
+	aliRsp, err := client.TradeRefund(body)
 	if err != nil {
 	if err != nil {
 		fmt.Println("err:", err)
 		fmt.Println("err:", err)
 		return
 		return

+ 2 - 2
examples/alipay/alipay_AliPayTradeWapPay.go → examples/alipay/alipay_TradeWapPay.go

@@ -7,7 +7,7 @@ import (
 	"github.com/iGoogle-ink/gopay/alipay"
 	"github.com/iGoogle-ink/gopay/alipay"
 )
 )
 
 
-func AliPayTradeWapPay() {
+func TradeWapPay() {
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	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="
 	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="
 	//初始化支付宝客户端
 	//初始化支付宝客户端
@@ -28,7 +28,7 @@ func AliPayTradeWapPay() {
 	body.Set("total_amount", "100.00")
 	body.Set("total_amount", "100.00")
 	body.Set("product_code", "QUICK_WAP_WAY")
 	body.Set("product_code", "QUICK_WAP_WAY")
 	//手机网站支付请求
 	//手机网站支付请求
-	payUrl, err := client.AliPayTradeWapPay(body)
+	payUrl, err := client.TradeWapPay(body)
 	if err != nil {
 	if err != nil {
 		fmt.Println("err:", err)
 		fmt.Println("err:", err)
 		return
 		return

+ 2 - 2
examples/alipay/alipay_AliPayUserCertifyOpenCertify.go → examples/alipay/alipay_UserCertifyOpenCertify.go

@@ -7,7 +7,7 @@ import (
 	"github.com/iGoogle-ink/gopay/alipay"
 	"github.com/iGoogle-ink/gopay/alipay"
 )
 )
 
 
-func AliPayUserCertifyOpenCertify() {
+func UserCertifyOpenCertify() {
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	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="
 	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="
 	//初始化支付宝客户端
 	//初始化支付宝客户端
@@ -25,7 +25,7 @@ func AliPayUserCertifyOpenCertify() {
 	bm.Set("certify_id", "OC201809253000000393900404029253")
 	bm.Set("certify_id", "OC201809253000000393900404029253")
 
 
 	//发起请求
 	//发起请求
-	certifyUrl, err := client.AliPayUserCertifyOpenCertify(bm)
+	certifyUrl, err := client.UserCertifyOpenCertify(bm)
 	if err != nil {
 	if err != nil {
 		fmt.Println("err:", err)
 		fmt.Println("err:", err)
 		return
 		return

+ 2 - 2
examples/alipay/alipay_AliPayUserCertifyOpenInit.go → examples/alipay/alipay_UserCertifyOpenInit.go

@@ -7,7 +7,7 @@ import (
 	"github.com/iGoogle-ink/gopay/alipay"
 	"github.com/iGoogle-ink/gopay/alipay"
 )
 )
 
 
-func AliPayUserCertifyOpenInit() {
+func UserCertifyOpenInit() {
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	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="
 	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="
 	//初始化支付宝客户端
 	//初始化支付宝客户端
@@ -37,7 +37,7 @@ func AliPayUserCertifyOpenInit() {
 	bm.Set("merchant_config", merchant)
 	bm.Set("merchant_config", merchant)
 
 
 	//发起请求
 	//发起请求
-	aliRsp, err := client.AliPayUserCertifyOpenInit(bm)
+	aliRsp, err := client.UserCertifyOpenInit(bm)
 	if err != nil {
 	if err != nil {
 		fmt.Println("err:", err)
 		fmt.Println("err:", err)
 		return
 		return

+ 2 - 2
examples/alipay/alipay_AliPayUserCertifyOpenQuery.go → examples/alipay/alipay_UserCertifyOpenQuery.go

@@ -7,7 +7,7 @@ import (
 	"github.com/iGoogle-ink/gopay/alipay"
 	"github.com/iGoogle-ink/gopay/alipay"
 )
 )
 
 
-func AliPayUserCertifyOpenQuery() {
+func UserCertifyOpenQuery() {
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	//aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	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="
 	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="
 	//初始化支付宝客户端
 	//初始化支付宝客户端
@@ -25,7 +25,7 @@ func AliPayUserCertifyOpenQuery() {
 	bm.Set("certify_id", "OC201809253000000393900404029253")
 	bm.Set("certify_id", "OC201809253000000393900404029253")
 
 
 	//发起请求
 	//发起请求
-	aliRsp, err := client.AliPayUserCertifyOpenQuery(bm)
+	aliRsp, err := client.UserCertifyOpenQuery(bm)
 	if err != nil {
 	if err != nil {
 		fmt.Println("err:", err)
 		fmt.Println("err:", err)
 		return
 		return

+ 2 - 2
examples/alipay/alipay_AlipayUserInfoShare.go → examples/alipay/alipay_UserInfoShare.go

@@ -6,7 +6,7 @@ import (
 	"github.com/iGoogle-ink/gopay/alipay"
 	"github.com/iGoogle-ink/gopay/alipay"
 )
 )
 
 
-func AliPayUserInfoShare() {
+func UserInfoShare() {
 	aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	aliPayPublicKey := "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1wn1sU/8Q0rYLlZ6sq3enrPZw2ptp6FecHR2bBFLjJ+sKzepROd0bKddgj+Mr1ffr3Ej78mLdWV8IzLfpXUi945DkrQcOUWLY0MHhYVG2jSs/qzFfpzmtut2Cl2TozYpE84zom9ei06u2AXLMBkU6VpznZl+R4qIgnUfByt3Ix5b3h4Cl6gzXMAB1hJrrrCkq+WvWb3Fy0vmk/DUbJEz8i8mQPff2gsHBE1nMPvHVAMw1GMk9ImB4PxucVek4ZbUzVqxZXphaAgUXFK2FSFU+Q+q1SPvHbUsjtIyL+cLA6H/6ybFF9Ffp27Y14AHPw29+243/SpMisbGcj2KD+evBwIDAQAB"
 	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="
 	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="
 	//初始化支付宝客户端
 	//初始化支付宝客户端
@@ -20,7 +20,7 @@ func AliPayUserInfoShare() {
 		SetAuthToken("authusrB3888b190f6df4aea964d66129f8a5X11")
 		SetAuthToken("authusrB3888b190f6df4aea964d66129f8a5X11")
 
 
 	//发起请求
 	//发起请求
-	aliRsp, err := client.AliPayUserInfoShare()
+	aliRsp, err := client.UserInfoShare()
 	if err != nil {
 	if err != nil {
 		fmt.Println("err:", err)
 		fmt.Println("err:", err)
 		return
 		return

+ 0 - 12
message.go

@@ -1,12 +0,0 @@
-package gopay
-
-const (
-	SUCCESS = "SUCCESS"
-	FAIL    = "FAIL"
-	OK      = "OK"
-)
-
-type ReturnMessage struct {
-	ReturnCode string `json:"return_code"`
-	ReturnMsg  string `json:"return_msg"`
-}

+ 16 - 0
model.go

@@ -0,0 +1,16 @@
+package gopay
+
+const (
+	NULL       = ""
+	TimeLayout = "2006-01-02 15:04:05"
+	DateLayout = "2006-01-02"
+	SUCCESS    = "SUCCESS"
+	FAIL       = "FAIL"
+	OK         = "OK"
+	Version    = "1.4.6"
+)
+
+type ReturnMessage struct {
+	ReturnCode string `json:"return_code"`
+	ReturnMsg  string `json:"return_msg"`
+}

+ 1 - 0
qq/qq_client.go

@@ -0,0 +1 @@
+package qq

+ 0 - 1
qq_client.go

@@ -1 +0,0 @@
-package gopay

+ 5 - 0
release_note.txt

@@ -1,3 +1,8 @@
+版本号:Release 1.4.7
+发布时间:2019/12/10 18:37
+修改记录:
+   (1) 模块分包大调整
+
 版本号:Release 1.4.6
 版本号:Release 1.4.6
 发布时间:2019/12/09 18:37
 发布时间:2019/12/09 18:37
 修改记录:
 修改记录: