`
jforever
  • 浏览: 14909 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

QQ、微信(WeChat)、支付宝(AliPay)的Go版本SDK。

 
阅读更多

QQ、微信、支付宝的Golang版本SDK

一、安装

import (
    "fmt"

    "github.com/iGoogle-ink/gopay"
)

func main() {
    xlog.Debug("GoPay Version: ", gopay.Version)
}

微信支付API(现已支持部分V3接口,使用方法参考下面介绍)

希望有时间的伙伴儿Fork完后,积极提Pull Request,一起完善微信各个类别下的接口到相应的go文件中

  • 统一下单:client.UnifiedOrder()
    • JSAPI - JSAPI支付(或小程序支付)
    • NATIVE - Native支付
    • APP - app支付
    • MWEB - H5支付
  • 提交付款码支付:client.Micropay()
  • 查询订单:client.QueryOrder()
  • 关闭订单:client.CloseOrder()
  • 撤销订单:client.Reverse()
  • 申请退款:client.Refund()
  • 查询退款:client.QueryRefund()
  • 下载对账单:client.DownloadBill()
  • 下载资金账单(正式):client.DownloadFundFlow()
  • 交易保障:client.Report()
  • 拉取订单评价数据(正式):client.BatchQueryComment()
  • 企业付款(正式):client.Transfer()
  • 查询企业付款(正式):client.GetTransferInfo()
  • 授权码查询OpenId(正式):client.AuthCodeToOpenId()
  • 公众号纯签约(正式):client.EntrustPublic()
  • APP纯签约-预签约接口-获取预签约ID(正式):client.EntrustAppPre()
  • H5纯签约(正式):client.EntrustH5()
  • 支付中签约(正式):client.EntrustPaying()
  • 请求单次分账(正式):client.ProfitSharing()
  • 请求多次分账(正式):client.MultiProfitSharing()
  • 查询分账结果(正式):client.ProfitSharingQuery()
  • 添加分账接收方(正式):client.ProfitSharingAddReceiver()
  • 删除分账接收方(正式):client.ProfitSharingRemoveReceiver()
  • 完结分账(正式):client.ProfitSharingFinish()
  • 分账回退(正式):client.ProfitSharingReturn()
  • 分账回退结果查询(正式):client.ProfitSharingReturnQuery()
  • 企业付款到银行卡API(正式):client.PayBank()
  • 查询企业付款到银行卡API(正式):client.QueryBank()
  • 获取RSA加密公钥API(正式):client.GetRSAPublicKey()
  • 发放现金红包:client.SendCashRed()
  • 发放现金裂变红包:client.SendGroupCashRed()
  • 发放小程序红包:client.SendAppletRed()
  • 查询红包记录:client.QueryRedRecord()
  • 自定义方法请求微信API接口:client.PostWeChatAPISelf()

微信公共API

  • wechat.GetParamSign() => 获取微信支付所需参数里的Sign值(通过支付参数计算Sign值)
  • wechat.GetSanBoxParamSign() => 获取微信支付沙箱环境所需参数里的Sign值(通过支付参数计算Sign值)
  • wechat.GetMiniPaySign() => 获取微信小程序支付所需要的paySign
  • wechat.GetH5PaySign() => 获取微信内H5支付所需要的paySign
  • wechat.GetAppPaySign() => 获取APP支付所需要的paySign
  • wechat.ParseNotifyToBodyMap() => 解析微信支付异步通知的参数到BodyMap
  • wechat.ParseNotify() => 解析微信支付异步通知的参数
  • wechat.ParseRefundNotify() => 解析微信退款异步通知的参数
  • wechat.VerifySign() => 微信同步返回参数验签或异步通知参数验签
  • wechat.Code2Session() => 登录凭证校验:获取微信用户OpenId、UnionId、SessionKey
  • wechat.GetAppletAccessToken() => 获取微信小程序全局唯一后台接口调用凭据
  • wechat.GetAppletPaidUnionId() => 微信小程序用户支付完成后,获取该用户的 UnionId,无需用户授权
  • wechat.GetPublicUserInfo() => 微信公众号:获取用户基本信息
  • wechat.GetPublicUserInfoBatch() => 微信公众号:批量获取用户基本信息
  • wechat.DecryptOpenDataToStruct() => 加密数据,解密到指定结构体
  • wechat.DecryptOpenDataToBodyMap() => 加密数据,解密到 BodyMap
  • wechat.GetOpenIdByAuthCode() => 授权码查询openid
  • wechat.GetOauth2AccessToken() => 微信第三方登录,code 换取 access_token
  • wechat.RefreshOauth2AccessToken() => 刷新微信第三方登录后,获取到的 access_token
  • wechat.CheckOauth2AccessToken() => 检验授权凭证(access_token)是否有效
  • wechat.GetOauth2UserInfo() => 微信开放平台:获取用户个人信息
  • wechat.DecryptRefundNotifyReqInfo() => 解密微信退款异步通知的加密数据

QQ支付API

  • 提交付款码支付:client.MicroPay()
  • 撤销订单:client.Reverse()
  • 统一下单:client.UnifiedOrder()
  • 订单查询:client.OrderQuery()
  • 关闭订单:client.CloseOrder()
  • 申请退款:client.Refund()
  • 退款查询:client.RefundQuery()
  • 交易账单:client.StatementDown()
  • 资金账单:client.AccRoll()
  • 创建现金红包(未测试可用性):client.SendCashRed()
  • 对账单下载(未测试可用性):client.DownloadRedListFile()
  • 查询红包详情(未测试可用性):client.QueryRedInfo()
  • 自定义方法请求微信API接口:client.PostQQAPISelf()

QQ公共API

  • qq.ParseNotifyToBodyMap() => 解析QQ支付异步通知的结果到BodyMap
  • qq.ParseNotify() => 解析QQ支付异步通知的参数
  • qq.VerifySign() => QQ同步返回参数验签或异步通知参数验签

支付宝支付API

因支付宝接口太多,如没实现的接口,还请开发者自行调用client.PostAliPayAPISelfV2()方法实现!请参考 client_test.go 内的 TestClient_PostAliPayAPISelfV2() 方法

希望有时间的伙伴儿Fork完后,积极提Pull Request,一起完善支付宝各个类别下的接口到相应的go文件中

  • 支付宝接口自行实现方法:client.PostAliPayAPISelfV2()
  • 手机网站支付接口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.FundTransUniTransfer()
  • 转账业务单据查询接口:client.FundTransCommonQuery()
  • 支付宝资金账户资产查询接口:client.FundAccountQuery()
  • 换取授权访问令牌(获取access_token,user_id等信息):client.SystemOauthToken()
  • 支付宝会员授权信息查询接口(App支付宝登录):client.UserInfoShare()
  • 换取应用授权令牌(获取app_auth_token,auth_app_id,user_id等信息):client.OpenAuthTokenApp()
  • 获取芝麻信用分:client.ZhimaCreditScoreGet()
  • 身份认证初始化服务:client.UserCertifyOpenInit()
  • 身份认证开始认证(获取认证链接):client.UserCertifyOpenCertify()
  • 身份认证记录查询:client.UserCertifyOpenQuery()
  • 用户登陆授权:client.UserInfoAuth()
  • 支付宝商家账户当前余额查询:client.DataBillBalanceQuery()
  • 查询对账单下载地址:client.DataBillDownloadUrlQuery()

支付宝公共API

  • alipay.GetCertSN() => 获取证书SN号(app_cert_sn、alipay_cert_sn)
  • alipay.GetRootCertSN() => 获取证书SN号(alipay_root_cert_sn)
  • alipay.GetRsaSign() => 获取支付宝参数签名(参数sign值)
  • alipay.SystemOauthToken() => 换取授权访问令牌(得到access_token,user_id等信息)
  • alipay.FormatPrivateKey() => 格式化应用私钥
  • alipay.FormatPublicKey() => 格式化支付宝公钥
  • alipay.FormatURLParam() => 格式化支付宝请求URL参数
  • alipay.ParseNotifyToBodyMap() => 解析支付宝支付异步通知的参数到BodyMap
  • alipay.ParseNotifyByURLValues() => 通过 url.Values 解析支付宝支付异步通知的参数到BodyMap
  • alipay.VerifySign() => 支付宝异步通知参数验签
  • alipay.VerifySignWithCert() => 支付宝异步通知参数验签(证书方式)
  • alipay.VerifySyncSign() => 支付宝同步返回参数验签
  • alipay.DecryptOpenDataToStruct() => 解密支付宝开放数据到 结构体
  • alipay.DecryptOpenDataToBodyMap() => 解密支付宝开放数据到 BodyMap
  • alipay.MonitorHeartbeatSyn() => 验签接口
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics