pay

package
v0.0.0-...-e5b43e4 Latest Latest
Warning

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

Go to latest
Published: Mar 23, 2020 License: Apache-2.0, Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type JSAPIParams

type JSAPIParams struct {
	AppID     string
	Timestamp int64
	NonceStr  string
	Package   string
	SignType  string
	Sign      string
}

JSAPIParams 是传出用于 JSAPIConfig 用的参数

type OrderQueryParams

type OrderQueryParams struct {
	TransactionID string `xml:"transaction_id,omitempty"` // 微信订单号 TransactionID and OutTradeNo 二选1
	OutTradeNo    string `xml:"out_trade_no,omitempty"`   // 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一。
}

OrderQueryParams 用以查询订单的传入参数

type OrderQueryRequest

type OrderQueryRequest struct {
	AppID         string `xml:"appid"`                    // 微信分配的公众账号ID
	MchID         string `xml:"mch_id"`                   // 微信支付分配的商户号
	TransactionID string `xml:"transaction_id,omitempty"` // 微信订单号 TransactionID and OutTradeNo 二选1
	OutTradeNo    string `xml:"out_trade_no,omitempty"`   // 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一。
	NonceStr      string `xml:"nonce_str"`                // 随机字符串,不长于32位。推荐随机数生成算法
	Sign          string `xml:"sign"`                     // 签名,详见签名生成算法
	SignType      string `xml:"sign_type,omitempty"`      // 签名类型
}

OrderQueryRequest 发起订单查询的结构体

type OrderQueryResult

type OrderQueryResult struct {
	ReturnCode string `xml:"return_code"` // UCCESS/FAIL	此字段是通信标识,非交易标识,交易是否成功需要查看trade_state来判断
	ReturnMsg  string `xml:"return_msg"`  // 当return_code为FAIL时返回信息为错误原因 ,例如 签名失败 参数格式校验错误

	AppID      string `xml:"appid,omitempty"`        // 微信分配的公众账号ID
	MchID      string `xml:"mch_id,omitempty"`       // 微信支付分配的商户号
	NonceStr   string `xml:"nonce_str,omitempty"`    // 随机字符串,不长于32位。推荐随机数生成算法
	Sign       string `xml:"sign,omitempty"`         // 签名,详见签名生成算法
	ResultCode string `xml:"result_code,omitempty"`  // SUCCESS/FAIL
	ErrCode    string `xml:"err_code,omitempty"`     // 当result_code为FAIL时返回错误代码,详细参见下文错误列表
	ErrCodeDes string `xml:"err_code_des,omitempty"` // 当result_code为FAIL时返回错误描述,详细参见下文错误列表

	TradeState string `xml:"trade_state,omitempty"` // SUCCESS—支付成功 REFUND—转入退款NOTPAY—未支付CLOSED—已关闭REVOKED—已撤销(付款码支付)USERPAYING--用户支付中(付款码支付)PAYERROR--支付失败(其他原因,如银行返回失败)支付状态机请见下单API页面

	DeviceInfo         string `xml:"device_info,omitempty"`          // 微信支付分配的终端设备号
	OpenID             string `xml:"openid,omitempty"`               // 用户在商户appid下的唯一标识
	IsSubscribe        string `XML:"is_subscribe,omitempty"`         // 是否关注了公众号
	TradeType          string `xml:"trade_type,omitempty"`           // 交易类型 JSAPI,NATIVE,APP,MICROPAY,
	BankType           string `xml:"bank_type,omitempty"`            // 付款银行
	TotalFee           int    `xml:"total_fee,omitempty"`            // 标价金额
	SettlementTotalFee int    `xml:"settlement_total_fee,omitempty"` // 应结订单金额
	FeeType            string `xml:"fee_type,omitempty"`             // 货币种类 目前仅 CNY
	CashFee            int    `xml:"cash_fee,omitempty"`             // 现金支付金额
	CashFeeType        string `xml:"cash_fee_type,omitempty"`        // 货币类型,符合ISO 4217标准的三位字母代码,
	CouponFee          int    `xml:"coupon_fee,omitempty"`           // 代金券”金额<=订单金额,订单金额-“代金券”金额=现金支付金额,
	CouponCount        int    `xml:"coupon_count,omitempty"`         // 代金券 数量
	TransactionID      string `xml:"transaction_id,omitempty"`       // 微信订单号
	OutTradeNo         string `xml:"out_trade_no,omitempty"`         // 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一。
	Attach             string `xml:"attach,omitempty"`               // 深圳分店	附加数据,原样返回
	TradeStateDesc     string `xml:"trade_state_desc,omitempty"`     // 对当前查询订单状态的描述和下一步操作的指引
	TimeEnd            string `xml:"time_end,omitempty"`             // 交易结束时间
}

OrderQueryResult 查询订单的返回结果 暂时不支持 查询 代金券类型,代金券ID,单个代金券支付金额

type Pay

type Pay struct {
	*context.Context
}

Pay struct extends context

func NewPay

func NewPay(ctx *context.Context) *Pay

NewPay return an instance of Pay package

func (*Pay) CheckSign

func (pcf *Pay) CheckSign(or *OrderQueryResult, p *UnifiedorderParams) error

CheckSign 检查签名

func (*Pay) GetJSAPI

func (pcf *Pay) GetJSAPI(p *UnifiedorderParams) (*JSAPIParams, error)

GetJSAPI 配置文件

func (*Pay) NotifyInfo

func (pcf *Pay) NotifyInfo(req *http.Request) (*OrderQueryResult, error)

NotifyInfo 解码微信的通知信息 并验证权限

func (*Pay) OrderMchQuery

func (pcf *Pay) OrderMchQuery(TransactionID string) (*OrderQueryResult, error)

OrderMchQuery 查询订单结果 自己判断 TradeState 是否成功

func (*Pay) OrderQuery

func (pcf *Pay) OrderQuery(outTradeNo string) (*OrderQueryResult, error)

OrderQuery 查询订单结果 自己判断 TradeState 是否成功

func (*Pay) PrePayID

func (pcf *Pay) PrePayID(p *UnifiedorderParams) (prePayID string, err error)

PrePayID will request wechat merchant api and request for a pre payment order id

type UnifiedorderParams

type UnifiedorderParams struct {
	TotalFee     string // TotalFee 订单总金额,单位为分
	CreateIP     string // CreateIP 客户端IP 支持IPV6
	Body         string // Body 商品描述 长度	128
	FeeType      string // 标价币种	符合ISO 4217标准的三位字母代码 3
	OutTradeNo   string // 商户订单号码,唯一
	OpenID       string // openid 收取获取
	PayNotifyURL string //通知地址
}

UnifiedorderParams was NEEDED when request unifiedorder 统一下单 传入的参数,用于生成 prepay_id 的必需参数 FeeType [本平台自增加]= HKD

Jump to

Keyboard shortcuts

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