GoPay

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

一、安装

$ go get github.com/iGoogle-ink/gopay
import (
    "fmt"

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

func main() {
    fmt.Println("GoPay Version: ", gopay.Version)
}

微信支付API

  • 统一下单: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()
  • 授权码查询OpenId(正式):client.AuthCodeToOpenId()
  • 公众号纯签约(正式):client.EntrustPublic()
  • APP纯签约-预签约接口-获取预签约ID(正式):client.EntrustAppPre()
  • H5纯签约(正式):client.EntrustH5()
  • 支付中签约(正式):client.EntrustPaying()
  • 自定义方法请求微信API接口:client.PostRequest()

微信公共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.GetUserInfo() => 微信公众号:获取用户基本信息(UnionID机制)
  • wechat.DecryptOpenDataToStruct() => 加密数据,解密到指定结构体
  • wechat.DecryptOpenDataToBodyMap() => 加密数据,解密到 BodyMap
  • wechat.GetOpenIdByAuthCode() => 授权码查询openid
  • wechat.GetAppLoginAccessToken() => App应用微信第三方登录,code换取access_token
  • wechat.RefreshAppLoginAccessToken() => 刷新App应用微信第三方登录后,获取的 access_token
  • wechat.DecryptRefundNotifyReqInfo() => 解密微信退款异步通知的加密数据

QQ支付API

  • 提交付款码支付:client.MicroPay()
  • 撤销订单:client.Reverse()
  • 统一下单:client.UnifiedOrder()
  • 订单查询:client.OrderQuery()
  • 关闭订单:client.CloseOrder()
  • 申请退款:client.Refund()
  • 退款查询:client.RefundQuery()
  • 交易账单:client.StatementDown()
  • 资金账单:client.AccRoll()
  • 自定义方法请求微信API接口:client.PostRequest()

QQ公共API

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

支付宝支付API

因支付宝接口太多,如有没实现的接口,还请开发者自行fork代码,添加新方法后提交PR,谢谢!

  • 手机网站支付接口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() => 验签接口

项目来源github,如有侵权,请联系博主,谢谢观看

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注