You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

131 lines
4.1 KiB

4 years ago
4 years ago
4 years ago
  1. # 微信支付 SDK
  2. - [x] V2 版支付(商户/服务商)
  3. - [x] V2 版分账(商户/服务商)
  4. - [x] V2 版企业付款到零钱
  5. - [x] V3 版支付即服务
  6. ![go 1.15](https://img.shields.io/badge/go-1.15-green)
  7. [![go.dev doc](https://img.shields.io/badge/go.dev-doc-green)](https://pkg.go.dev/github.com/wleven/wxpay)
  8. [![GitHub license](https://img.shields.io/github/license/wleven/wxpay)](https://github.com/wleven/wxpay/blob/master/LICENSE)
  9. - [微信支付 SDK](#微信支付-sdk)
  10. - [安装包](#安装包)
  11. - [查看文档](#查看文档)
  12. - [V2 版本下单接口](#v2-版本下单接口)
  13. - [V2 版本分账接口](#v2-版本分账接口)
  14. - [V2 版本企业付款到零钱](#v2-版本企业付款到零钱)
  15. - [V3 版本支付即服务接口](#v3-版本支付即服务接口)
  16. ## 安装包
  17. ```golang
  18. go get -u github.com/wleven/wxpay
  19. ```
  20. ## 查看文档
  21. ```golang
  22. // 执行命令
  23. godoc -http=:8888 -play
  24. // 浏览器打开文档
  25. http://127.0.0.1:8888/pkg/github.com/wleven/wxpay/
  26. ```
  27. ## V2 版本下单接口
  28. ```golang
  29. config := entity.PayConfig{
  30. // 传入支付初始化参数
  31. AppID string // 商户/服务商 AppId(公众号/小程序)
  32. MchID string // 商户/服务商 商户号
  33. SubAppID string // 子商户公众号ID
  34. SubMchID string // 子商户商户号
  35. PayNotify string // 支付结果回调地址
  36. RefundNotify string // 退款结果回调地址
  37. Secret string // 微信支付密钥
  38. APIClientPath APIClientPath // API证书路径,使用V3接口必传
  39. SerialNo string // 证书编号,使用V3接口必传
  40. }
  41. wxpay := WXPay.Init(config)
  42. // 统一下单
  43. if data, err := wxpay.V2.UnifiedOrder(V2.UnifiedOrder{/* 传入参数 */}); err == nil {
  44. }
  45. // 小程序支付
  46. if data, err := wxpay.V2.WxAppPay(V2.UnifiedOrder{/* 传入参数 */}); err == nil {
  47. }
  48. // APP支付
  49. if data, err := wxpay.V2.WxAppAppPay(V2.UnifiedOrder{/* 传入参数 */}); err == nil {
  50. }
  51. // H5支付
  52. if data, err := wxpay.V2.WxH5Pay(V2.UnifiedOrder{/* 传入参数 */}); err == nil {
  53. }
  54. // 付款码支付
  55. if data, err := wxpay.V2.Micropay(V2.Micropay{/* 传入参数 */}); err == nil {
  56. }
  57. // 关闭订单
  58. if data, err := wxpay.V2.CloseOrder("1111"); err == nil {
  59. }
  60. // 撤销订单
  61. if data, err := wxpay.V2.ReverseOrder(V2.ReverseOrder{/* 传入参数 */}); err == nil {
  62. }
  63. // 查询订单
  64. if data, err := wxpay.V2.OrderQuery(V2.OrderQuery{/* 传入参数 */}); err == nil {
  65. }
  66. // 申请退款
  67. if data, err := wxpay.V2.Refund(V2.Refund{/* 传入参数 */}); err == nil {
  68. }
  69. // 查询退款
  70. if data, err := wxpay.V2.RefundQuery(V2.RefundQuery{/* 传入参数 */}); err == nil {
  71. }
  72. ```
  73. ## V2 版本分账接口
  74. ```golang
  75. // 添加分账接收方
  76. if data, err := wxpay.V2.ProfitSharingAddReceiver(V2.Receiver{/* 传入参数 */}); err == nil {
  77. }
  78. // 删除分账接收方
  79. if data, err := wxpay.V2.ProfitSharingRemoveReceiver(V2.Receiver{/* 传入参数 */}); err == nil {
  80. }
  81. // 发起分账 第二个参数options为multi为多次分账 默认为单次
  82. if data, err := wxpay.V2.ProfitSharing(V2.ProfitSharing{/* 传入参数 */},""); err == nil {
  83. }
  84. // 完成分账
  85. if data, err := wxpay.V2.ProfitSharingFinish(V2.ProfitSharingFinish{/* 传入参数 */}); err == nil {
  86. }
  87. // 查询分账结果
  88. if data, err := wxpay.V2.ProfitSharingQuery(V2.ProfitSharingQuery{/* 传入参数 */}); err == nil {
  89. }
  90. // 分账回退
  91. if data, err := wxpay.V2.ProfitSharingReturn(V2.ProfitSharingReturn{/* 传入参数 */}); err == nil {
  92. }
  93. // 分账回退结果查询
  94. if data, err := wxpay.V2.ProfitSharingReturnQuery(V2.ProfitSharingReturnQuery{/* 传入参数 */}); err == nil {
  95. }
  96. ```
  97. ## V2 版本企业付款到零钱
  98. ```golang
  99. if data, err := wxpay.V2.Transfers(V2.Transfers{/* 传入参数 */}); err == nil {
  100. }
  101. ```
  102. ## V3 版本支付即服务接口
  103. ```golang
  104. // 注册服务人员
  105. if data, err := wxpay.V3.SmartGuide.Register(smartGuide.Register{/* 传入参数 */}); err == nil {
  106. }
  107. // 分配服务人员
  108. if data, err := wxpay.V3.SmartGuide.Assign(smartGuide.Assign{/* 传入参数 */}); err == nil {
  109. }
  110. // 查询服务人员
  111. if data, err := wxpay.V3.SmartGuide.Query(smartGuide.Query{/* 传入参数 */}); err == nil {
  112. }
  113. ```