微信、支付宝、PayPal 的Go版本SDK。【极简、易用的聚合支付SDK】

Overview
Logo was Loading Faild!

GoPay

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

Github Github

Golang GoDoc Drone CI GitHub Release License


近期计划:将 gopay 库中,非支付相关的一些接口方法独立出去另外的 sdk 库,在 go-pay 组织下新建 wechat-sdkalipay-sdk 两个项目,分别实现各个平台相关接口方法。


一、安装

  • v1.5.42 开始,仓库从 github.com/iGoogle-ink/gopay 迁移到 github.com/go-pay/gopay
go get github.com/go-pay/gopay

查看 GoPay 版本

版本更新记录

import (
    "github.com/go-pay/gopay"
    "github.com/go-pay/gopay/pkg/xlog"
)

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


二、文档目录

点击查看不同支付方式的使用文档



三、其他说明

  • 各支付方式接入,请仔细查看 xxx_test.go 使用方式
    • gopay/wechat/v3/client_test.go
    • gopay/alipay/client_test.go
    • gopay/qq/client_test.go
    • gopay/paypal/client_test.go
    • gopay/apple/verify_test.go
    • 或 examples
  • 有问题请加QQ群(加群验证答案:gopay),或加微信好友拉群。在此,非常感谢提出宝贵意见和反馈问题的同志们!
  • 开发过程中,请尽量使用正式环境,1分钱测试法!

QQ群: 加微信拉群:



赞赏多少是您的心意,感谢支持!

微信: 支付宝:

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.
Issues
  • 支付宝问题请教

    支付宝问题请教

    client:= alipay.NewClient APP里面client创建订单TradeAppPay后正常支付完成 client调用TradeQuery,TradeCancel 返回{"code":"40002","msg":"Invalid Arguments","sub_code":"isv.invalid-app-id","sub_msg":"无效的AppID参数"} 我哪里出了问题啊,搞了一下午了。 ——_——

    opened by helloh2o 2
Releases(v1.5.78)
  • v1.5.78(Apr 21, 2022)

    版本号:Release 1.5.78 修改记录: (1) 微信V3:V3EcommerceBalance() 缺失参数补充 (2) 微信V3:新增 client.V3EcommerceDayBalance() 方法,电商平台预约提现 (3) 微信V3:修复 银行列表获取相关接口,路由修正 (4) 微信V3:修复 client.V3BankSearchBank() 接口,私钥解密出错的问题

    Source code(tar.gz)
    Source code(zip)
  • v1.5.77(Apr 12, 2022)

    版本号:v1.5.77 修改记录: (1) 微信V3:V3EcommerceRefundQueryById()、V3EcommerceRefundQueryByNo(),缺失参数补充 (2) 微信V3:新增 client.V3EcommerceWithdraw() 方法,电商平台预约提现 (3) 微信V3:新增 client.V3EcommerceWithdrawStatus() 方法,电商平台查询预约提现状态

    Source code(tar.gz)
    Source code(zip)
  • v1.5.76(Apr 5, 2022)

    改动挺多,如有问题请切回 1.5.75 版本并反馈给我,谢谢

    版本号:Release 1.5.76 修改记录: (1) gopay:大量优化error处理和返回,统一部分通用错误到 error.go 中 (2) 支付宝:新增 alipay.IsBizError(),判断并捕获业务错误 (3) 微信、支付宝:优化部分 error 返回格式以及透传,优化参数校验返回

    Source code(tar.gz)
    Source code(zip)
  • v1.5.75(Mar 27, 2022)

    版本号:Release 1.5.75 修改记录: (1) 微信V3:client.V3Apply4SubModifySettlement(),sub_mchid 问题处理 (2) 微信V3:微信分账接收方,model参数补充添加 detail_id (3) PayPal:注释中接口文档地址更新 (4) PayPal:新增 client.OrderConfirm(),订单确认 (5) PayPal:OrderDetail、Capture、Payer、Name 等结构体,遗漏参数补充 (6) gopay:pkg/xtime/parse_format.go,优化 DurationToUnit() 方法,int -> int64

    Source code(tar.gz)
    Source code(zip)
  • v1.5.74(Mar 19, 2022)

    版本号:Release 1.5.74 修改记录: (1) gopay:一些小改动,util.GetRandomString() -> util.RandomString() (2) gopay:升级 xlog

    Source code(tar.gz)
    Source code(zip)
  • v1.5.73(Mar 7, 2022)

  • v1.5.72(Feb 24, 2022)

    版本号:Release 1.5.72 修改记录: (1) Apple:返回参数类型错误修复,pending_renewal_info -> 数组类型 #227 (2) QQ:获取 AccessToken 结果 expires_in 类型修复,expires_in -> 字符串类型 #228 (3) 微信V3:证书相关代码优化

    Source code(tar.gz)
    Source code(zip)
  • v1.5.71(Feb 9, 2022)

    版本号:Release 1.5.71 修改记录: (1) 微信V2:去除所有微信小程序、公众号相关接口,请使用 wechat-sdk (2) 支付宝:client.UserCertdocCertverifyConsult() 方法,增加 authToken 参数 (2) 微信V3:新增 银行组件(服务商) 相关接口,详情查看v3文档最下方的接口列表

    Source code(tar.gz)
    Source code(zip)
  • v1.5.69(Jan 7, 2022)

    版本号:Release 1.5.69 修改记录: (1) 微信V3:修改 client.V3RefundQuery()、增加入参参数,适配 服务商 模式 (2) 微信V3:修复 client.V3Apply4SubSubmit(),接口路由修复 (3) gopay:BodyMap 新增 Unmarshal() 方法,解析数据到结构体、数组指针

    Source code(tar.gz)
    Source code(zip)
  • v1.5.68(Dec 27, 2021)

    版本号:Release 1.5.68 修改记录: (1) 微信V3:修复 client.V3ComplaintResponse()、client.V3ComplaintComplete(), complaintId 参数类型错误问题 (2) 微信V3:新增 电商收付通(分账)相关接口,详情查看v3文档最下方的接口列表 (3) 微信V3:新增 电商收付通(补差)相关接口,详情查看v3文档最下方的接口列表 (4) 微信V3:新增 电商收付通(退款)相关接口,详情查看v3文档最下方的接口列表 (5) 微信V3:返回参数中字段,ID写法全部改写为Id写法

    Source code(tar.gz)
    Source code(zip)
  • v1.5.67(Dec 17, 2021)

    版本号:Release 1.5.67 修改记录: (1) 微信V3:配合微信文档修改,拆分服务商 批量转账 相关接口,接口如下: (2) 微信V3:新增 client.V3PartnerTransfer() (3) 微信V3:新增 client.V3PartnerTransferQuery() (4) 微信V3:新增 client.V3PartnerTransferDetail() (5) 微信V3:新增 client.V3PartnerTransferMerchantQuery() (6) 微信V3:新增 client.V3PartnerTransferMerchantDetail() (7) 微信V3:新增 client.V3Withdraw() (8) 微信V3:新增 client.V3WithdrawStatus() (9) 微信V3:新增 client.V3WithdrawDownloadErrBill() (10) 微信V3:修改 V3TransferDetailQuery() => V3TransferDetail() (11) 微信V3:修改 V3TransferMerchantDetailQuery() => V3TransferMerchantDetail()

    Source code(tar.gz)
    Source code(zip)
  • v1.5.66(Dec 13, 2021)

    版本号:Release 1.5.66 修改记录: (1) 微信V3:fix bug that {"code":"PARAM_ERROR","message":"平台证书序列号Wechatpay-Serial错误"}

    部分接口可能报此错误,此版本修复该问题,如若没使用到那部分接口,可忽略

    Source code(tar.gz)
    Source code(zip)
  • v1.5.65(Dec 8, 2021)

    版本号:Release 1.5.65 修改记录:

    • (1) 微信V3:新增 client.V3EcommerceApply(),二级商户进件
    • (2) 微信V3:新增 client.V3EcommerceApplyStatus(),查询申请状态
    • (3) 微信V3:新增 client.V3GoldPlanManage(),点金计划管理
    • (4) 微信V3:新增 client.V3GoldPlanBillManage(),商家小票管理
    • (5) 微信V3:新增 client.V3GoldPlanFilterManage(),同业过滤标签管理
    • (6) 微信V3:新增 client.V3GoldPlanOpenAdShow(),开通广告展示
    • (7) 微信V3:新增 client.V3GoldPlanCloseAdShow(),关闭广告展示
    • (8) 微信V3:公有化 wechat.GetReleaseSign()、wechat.GetSandBoxSign() 方法
    • (9) 微信V3:修改 client.V3PartnerCloseOrder() 入参参数
    • (10) GoPay:一些小修改优化
    Source code(tar.gz)
    Source code(zip)
  • v1.5.64(Nov 23, 2021)

  • v1.5.62(Nov 1, 2021)

    版本号:Release 1.5.62 修改记录:

    • 微信V3:client 内 WxSerialNo、ApiV3Key 公有化
    • 微信V3:client 提供新方法 client.WxPublicKey() 直接获取 微信平台公钥
    • 微信V3:wechat 提供新方法 wechat.V3VerifySignByPK(),不再推荐使用 wechat.V3VerifySign()
    • 微信V3:V3NotifyReq 提供新方法 notify.VerifySignByPK(),不再推荐使用 notify.VerifySign()
    • 微信V3:整理微信v3说明文档
    Source code(tar.gz)
    Source code(zip)
  • v1.5.61(Oct 28, 2021)

  • v1.5.60(Oct 22, 2021)

    版本号:Release 1.5.60 修改记录: (1) 微信V3:不再推荐使用 client.SetPlatformCert() 方法 (2) 微信V3:新增 client.GetAndSelectNewestCert() 方法 (3) 微信V3:重构 client.AutoVerifySign() 方法 (4) QQ:新增 qq.GetAccessToken() 方法 (5) QQ:新增 qq.GetOpenId() 方法 (6) QQ:新增 qq.GetUserInfo() 方法

    Source code(tar.gz)
    Source code(zip)
  • v1.5.59(Sep 27, 2021)

    版本号:Release 1.5.59 修改记录: (1) 微信V3:证书获取方法返回结构体,去除 SignInfo 字段 (2) gopay:BodyMap,EncodeURLParams 方法稍作调整 (3) PayPal:PayPal支付能力接入(订单、支付)

    Source code(tar.gz)
    Source code(zip)
  • v1.5.58(Sep 4, 2021)

    版本号:Release 1.5.58 修改记录: (1) 微信V3:新增 client.V3FavorMediaUploadImage() 图片上传(营销专用) (2) 微信V3:新增 client.V3EcommerceIncomeRecord() 特约商户银行来账查询 (3) 微信V3:新增 client.V3EcommerceBalance() 查询特约商户账户实时余额 (4) 微信V3:新增 client.V3BusiFavorSend() 发放消费卡 (5) 微信V3:新增 client.V3PartnershipsBuild() 建立合作关系 (6) 微信V3:新增 client.V3PartnershipsTerminate() 终止合作关系 (7) 微信V3:新增 client.V3PartnershipsList() 查询合作关系列表 (8) 微信V3:修改 client.V3PartnerQueryOrder() 入参参数调整 (9) 微信V3:修改 client.V3BillLevel2FundFlowBill() => client.V3BillEcommerceFundFlowBill() 申请特约商户资金账单 (10) 支付宝:按照支付宝更新后的文档,修改大量接口返回参数结构体字段

    Source code(tar.gz)
    Source code(zip)
  • v1.5.57(Aug 27, 2021)

    版本号:Release 1.5.57 修改记录: (1) 微信V3:修复一些已知问题 (2) 支付宝:一些细小的修复,部分参数类型更正

    Source code(tar.gz)
    Source code(zip)
  • v1.5.56(Aug 21, 2021)

    版本号:Release 1.5.56 修改记录: (1) 微信V3:修改 client.V3ProfitShareReturnResult() 接口入参,适配服务商模式 (2) 微信V3:部分接口参数需要加密,修复 V3EncryptText() 和 V3DecryptText() 方法 (3) 支付宝:修改 alipay.NewClient(),增加error返回值,去除Client内部分字段 (4) Apple:新增apple pay的 apple.VerifyReceipt() 校验收据API (5) 优化代码中所有有关证书的解析操作

    Source code(tar.gz)
    Source code(zip)
  • v1.5.55(Aug 5, 2021)

    版本号:Release 1.5.55 修改记录: (1) 微信V3:wechat.NewClientV3(),去掉初始化参数 appid,所以方法中需要 appid 或sp_appid 的,需要自行传参 (2) 微信V3:新增 代金券 相关接口 (3) 微信V3:新增 商家券 相关接口 (4) 微信V2、V3:修复部分接口发现的Bug

    Source code(tar.gz)
    Source code(zip)
  • v1.5.54(Aug 3, 2021)

    版本号:Release 1.5.54 修改记录: (1) 微信V3:新增微信支付分回调参数解密方法 notifyReq.DecryptScoreCipherText() (2) 微信V3:新增分账接口 client.V3ProfitShareMerchantConfigs() (3) Readme:更新Readme

    Source code(tar.gz)
    Source code(zip)
  • v1.5.53(Jul 30, 2021)

    版本号:Release 1.5.53 建议使用 微信支付分 接口的用户全部升级 修改记录: (1) 支付宝:补充接口 (2) 微信V3:修改支付分相关接口的返回参数字段, out_trade_no 为 out_order_no

    Source code(tar.gz)
    Source code(zip)
  • v1.5.52(Jul 28, 2021)

    版本号:Release 1.5.52 修改记录: (1) 支付宝:补充 支付API 相关接口 (2) pkg:xhttp.Client 的 Transport 默认配置:Proxy: http.ProxyFromEnvironment

    Source code(tar.gz)
    Source code(zip)
  • v1.5.51(Jul 17, 2021)

    版本号:Release 1.5.51 修改记录: (1) 微信:新增 特约商户进件(服务商平台) 相关接口 (2) 支付宝:补充完整 芝麻分 相关接口 (3) 支付宝:补充 会员API 相关接口

    Source code(tar.gz)
    Source code(zip)
  • v1.5.50(Jul 11, 2021)

    版本号:Release 1.5.50 修改记录: (1) 支付宝:新增 芝麻分 相关接口 (2) 支付宝:当判断 Response 中 code!="10000" 时,不再返回nil,而是返回 aliRsp 结果

    Source code(tar.gz)
    Source code(zip)
  • v1.5.49(Jun 29, 2021)

    版本号:Release 1.5.49 修改记录: (1) 微信V3:新增 wechat.GetPlatformCerts(),无需初始化V3client,直接获取微信平台证书和序列号等信息,方便维护 (2) gopay:更新 go mod version (3) 微信V2:新增 client.CustomsDeclareOrder(),订单附加信息提交(正式环境) (4) 微信V2:新增 client.CustomsDeclareQuery(),订单附加信息查询(正式环境) (5) 微信V2:新增 client.CustomsReDeclareOrder(),订单附加信息重推(正式环境) (6) 支付宝:新增 client.TradeCustomsDeclare(),统一收单报关接口(正式环境),未经测试 (7) 支付宝:新增 client.AcquireCustoms(),报关接口(正式环境),未经测试 (8) 支付宝:新增 client.AcquireCustomsQuery(),报关查询接口(正式环境),未经测试

    Source code(tar.gz)
    Source code(zip)
  • v1.5.48(Jun 28, 2021)

    版本号:Release 1.5.48 修改记录: (1) 微信V3:修复 平台证书序列号Wechatpay-Serial错误 问题 (2) 微信V3:新增 client.SetPlatformCert(),设置 微信支付平台证书 和 证书序列号 方法 (3) 微信V3:新增 client.V3EncryptText(),请求参数 敏感信息 加密方法 (4) 微信V3:新增 client.V3DecryptText(),返回参数 敏感信息 解密方法 (5) 微信V3:修改 client.AutoVerifySign() 方法无需传参,但需要提前调用 client.SetPlatformCert() 设置 微信支付平台证书 和 证书序列号

    Source code(tar.gz)
    Source code(zip)
  • v1.5.47(Jun 25, 2021)

    版本号:Release 1.5.47 修改记录: (1) 微信V3:新增 转账相关 相关接口 (2) 微信V3:新增 账户余额查询 相关接口 (3) 微信V3:新增 来账识别 相关接口

    Source code(tar.gz)
    Source code(zip)
Owner
go-pay
微信、QQ、支付宝、PayPal 的Go版本SDK。努力完善中...
go-pay
Golang client for PayPal REST API

Go client for PayPal REST API Coverage POST /v1/oauth2/token POST /v1/identity/openidconnect/tokenservice GET /v1/identity/openidconnect/userinfo/?sch

Alex Pliutau 487 May 12, 2022
Edtienda - PayPal Integration Course Code

PayPal Integration Para ejecutar el código debes realizar los siguientes pasos:

EDteam 1 Feb 3, 2022
QQ、微信(WeChat)、支付宝(AliPay)的Go版本SDK。

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

Jerry 2.3k May 18, 2022
Alipay - 支付宝 SDK for Golang

alipay 支付宝 SDK for Go 使用指南 安装支付宝 SDK go get -u github.com/go-wheels/alipay 初始化支付

null 1 Jan 2, 2022
Golang client for PayPal REST API

Go client for PayPal REST API Coverage POST /v1/oauth2/token POST /v1/identity/openidconnect/tokenservice GET /v1/identity/openidconnect/userinfo/?sch

Alex Pliutau 487 May 12, 2022
Edtienda - PayPal Integration Course Code

PayPal Integration Para ejecutar el código debes realizar los siguientes pasos:

EDteam 1 Feb 3, 2022