pay

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 27, 2020 License: MIT Imports: 5 Imported by: 0

README

微信支付

官方文档

目录

请求参数
  • 支付内部调用参数传递类型Params util.Params
  • appid mch_id nonce_str sign sign_type 内部会自动传入
  • spbill_create_ip 如果外部传入参数没有,后续调用会自动获取
  • sign_type 外部不传入,默认MD5
import "github.com/fideism/golang-wechat/util"

// Params map[string]interface{}
type Params map[string]interface{}

// Set 设置值
func (p Params) Set(k string, v interface{})

// Get 获取值
func (p Params) Get(k string) (v interface{})

// GetString 强制获取k对应的v string类型
func (p Params) GetString(k string) string

// Exists 判断是否存在
func (p Params) Exists(k string) bool

//具体使用
p := util.Params{
		"openid":       "xx",
}

//alse can
p.Set("notify_url", "https://github.com/fideism/golang-wechat")
响应参数
import "github.com/fideism/golang-wechat/pay/base"

type Response struct {
    ReturnCode string       `json:"return_code"`
    ReturnMsg  string       `json:"return_msg"`
    Data       base.Params  `json:"data"`
    Detail     string       `json:"detail"`
}

实例化支付对象

import (
	"github.com/fideism/golang-wechat/pay"
	"github.com/fideism/golang-wechat/pay/config"
)

payment := pay.NewPay(&config.Config{
		Sandbox: false,
		AppID:   "wxd12a9416bb9b87fc",
		MchID:   "1480756832",
		Key:     "84e5161b71bec1ce9f3a104a2c602f6d",
	})
下单
p := util.Params{
		"out_trade_no": "202007230001",
		"total_fee":    1,
		"body":         "测试支付统一下单",
		"time_start":   "20200723091010",
		"time_expire":  "20200724091010",
		"trade_type":   "JSAPI",
	}

response, err := payment.GetOrder().Unify(p)

// 返回
//{FAIL appid和mch_id不匹配 map[return_code:FAIL return_msg:appid和mch_id不匹配]}
//{SUCCESS OK map[result_code:SUCCESS return_code:SUCCESS return_msg:OK  trade_type:JSAPI.......]}
  • 下单类型
//APP支付 JSAPI支付 扫码支付 H5支付 小程序支付
func (order *Order) Unify(params base.Params) (*base.Response, error)
// MicroPay 付款码支付
func (order *Order) MicroPay(params base.Params) (*base.Response, error)
查询订单
params := util.Params{
    "transaction_id": "4200000235201812131594207984",
}

func (order *Order) Query(params base.Params) (*base.Response, error)

payment.GetOrder().Query()
关闭订单
params := util.Params{
    "out_trade_no": "202007240001",
}

func (order *Order) Close(params base.Params) (*base.Response, error)

payment.GetOrder().Close()
撤销订单
params := util.Params{
    "out_trade_no": "202007240001",
}

func (order *Order) Reverse(params base.Params) (*base.Response, error)

payment.GetOrder().Reverse()
退款

order.

github.com/fideism/golang-wechat/pay/config

p := util.Params{
    "sub_mch_id":     "1512175241",
    "transaction_id": "4200000235201812131594207984",
    "out_refund_no":  "202007230001111",
    "total_fee":      1,
    "refund_fee":     1,
}

// 证书绝对路径
cert := config.Cert{
    Path: "/path/apiclient_cert.p12", 
}

func (order *Order) Refund(params base.Params, cert config.Cert) (*base.Response, error)

payment.GetRefund().Refund()
查询退款
p := util.Params{
    "sub_mch_id": "1512175241",
    "refund_id":  "50000701192019070910499634214",
}

func (refund *Refund) Query(params base.Params) (*base.Response, error)

payment.GetRefund().Query()
下载交易账单
p := util.Params{
    "bill_date": "20191118",
    "bill_type": "ALL",
}

func (server *Server) DownloadBill(params util.Params) (*base.Response, error)

payment.GetServer().DownloadBill(p)

//详细数据在 response.Detail 字段里
下载资金账单
p := util.Params{
    "bill_date": "20191118",
    "sign_type": "HMAC-SHA256",
}

// 证书绝对路径
cert := config.Cert{
    Path: "/path/apiclient_cert.p12", 
}


func (server *Server) DownloadFundFlow(params util.Params, cert config.Cert) (*base.Response, error)

payment.GetServer().DownloadFundFlow(p)

//详细数据在 response.Detail 字段里
交易保障
p := util.Params{
    "interface_url": "https://api.mch.weixin.qq.com/pay/batchreport/micropay/total",
    "user_ip": "192.168.1.1",
}

func (server *Server) Report(params util.Params) (*base.Response, error)

payment.GetServer().Report(p)
付款码查询openid
p := util.Params{
    "auth_code": "1365464848",
}

func (server *Server) AuthCodeToOpenid(params util.Params) (*base.Response, error)

payment.GetServer().AuthCodeToOpenid(p)
拉取订单评价数据
p := util.Params{
    "begin_time": "20191118",
    "end_time": "20191119",
    "offset":1,
}

// 证书绝对路径
cert := config.Cert{
    Path: "/path/apiclient_cert.p12", 
}


func (server *Server) BatchQueryComment(params util.Params, cert config.Cert) (*base.Response, error)

payment.GetServer().BatchQueryComment(p)

//详细数据在 response.Detail 字段里

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Pay

type Pay struct {
	// contains filtered or unexported fields
}

Pay 微信支付相关API

func NewPay

func NewPay(cfg *config.Config) *Pay

NewPay 实例化微信支付相关API

func (*Pay) GetNotify

func (pay *Pay) GetNotify() *notify.Notify

GetNotify 通知

func (*Pay) GetOrder

func (pay *Pay) GetOrder() *order.Order

GetOrder 下单

func (*Pay) GetRefund

func (pay *Pay) GetRefund() *refund.Refund

GetRefund 退款

func (*Pay) GetServer

func (pay *Pay) GetServer() *server.Server

GetServer Get Server

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL