Documentation ¶
Index ¶
- func CloseOrder(clt *core.Client, req map[string]string) (resp map[string]string, err error)
- func CloseOrder2(clt *core.Client, req *CloseOrderRequest) (err error)
- func DownloadBill(clt *core.Client, filepath string, req *DownloadBillRequest, ...) (written int64, err error)
- func DownloadBillToWriter(clt *core.Client, writer io.Writer, req *DownloadBillRequest, ...) (written int64, err error)
- func MicroPay(clt *core.Client, req map[string]string) (resp map[string]string, err error)
- func OrderQuery(clt *core.Client, req map[string]string) (resp map[string]string, err error)
- func Refund(clt *core.Client, req map[string]string) (resp map[string]string, err error)
- func RefundQuery(clt *core.Client, req map[string]string) (resp map[string]string, err error)
- func Reverse(clt *core.Client, req map[string]string) (resp map[string]string, err error)
- func UnifiedOrder(clt *core.Client, req map[string]string) (resp map[string]string, err error)
- type CloseOrderRequest
- type DownloadBillRequest
- type MicroPayRequest
- type MicroPayResponse
- type OrderQueryRequest
- type OrderQueryResponse
- type RefundItem
- type RefundQueryRequest
- type RefundQueryResponse
- type RefundRequest
- type RefundResponse
- type ReverseRequest
- type ReverseResponse
- type UnifiedOrderRequest
- type UnifiedOrderResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CloseOrder ¶
CloseOrder 关闭订单.
func CloseOrder2 ¶
func CloseOrder2(clt *core.Client, req *CloseOrderRequest) (err error)
CloseOrder2 关闭订单.
func DownloadBill ¶
func DownloadBill(clt *core.Client, filepath string, req *DownloadBillRequest, httpClient *http.Client) (written int64, err error)
下载对账单到到文件.
func DownloadBillToWriter ¶
func DownloadBillToWriter(clt *core.Client, writer io.Writer, req *DownloadBillRequest, httpClient *http.Client) (written int64, err error)
下载对账单到 io.Writer.
func OrderQuery ¶
OrderQuery 查询订单.
func RefundQuery ¶
RefundQuery 查询退款.
Types ¶
type CloseOrderRequest ¶
type DownloadBillRequest ¶
type DownloadBillRequest struct { XMLName struct{} `xml:"xml" json:"-"` // 必选参数 BillDate string `xml:"bill_date"` // 下载对账单的日期,格式:20140603 BillType string `xml:"bill_type"` // 账单类型 // 可选参数 DeviceInfo string `xml:"device_info"` // 微信支付分配的终端设备号 NonceStr string `xml:"nonce_str"` // 随机字符串,不长于32位。推荐随机数生成算法 SignType string `xml:"sign_type"` // 签名类型,目前支持HMAC-SHA256和MD5,默认为MD5 TarType string `xml:"tar_type"` // 压缩账单 }
type MicroPayRequest ¶
type MicroPayRequest struct { XMLName struct{} `xml:"xml" json:"-"` // 必选参数 Body string `xml:"body"` // 商品或支付单简要描述 OutTradeNo string `xml:"out_trade_no"` // 商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号 TotalFee int64 `xml:"total_fee"` // 订单总金额,单位为分,详见支付金额 SpbillCreateIP string `xml:"spbill_create_ip"` // APP和网页支付提交用户端ip,Native支付填调用微信支付API的机器IP。 AuthCode string `xml:"auth_code"` // 扫码支付授权码,设备读取用户微信中的条码或者二维码信息 // 可选参数 DeviceInfo string `xml:"device_info"` // 终端设备号(门店号或收银设备ID),注意:PC网页或公众号内支付请传"WEB" NonceStr string `xml:"nonce_str"` // 随机字符串,不长于32位。NOTE: 如果为空则系统会自动生成一个随机字符串。 SignType string `xml:"sign_type"` // 签名类型,默认为MD5,支持HMAC-SHA256和MD5。 Detail string `xml:"detail"` // 商品名称明细列表 Attach string `xml:"attach"` // 附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据 FeeType string `xml:"fee_type"` // 符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 GoodsTag string `xml:"goods_tag"` // 商品标记,代金券或立减优惠功能的参数,说明详见代金券或立减优惠 LimitPay string `xml:"limit_pay"` // no_credit--指定不能使用信用卡支付 SceneInfo string `xml:"scene_info"` // 场景信息 }
type MicroPayResponse ¶
type MicroPayResponse struct { XMLName struct{} `xml:"xml" json:"-"` // 必选返回 OpenId string `xml:"openid"` // 用户在商户appid下的唯一标识 IsSubscribe bool `xml:"is_subscribe"` // 用户是否关注公众账号 TradeType string `xml:"trade_type"` // 调用接口提交的交易类型,取值如下:JSAPI,NATIVE,APP,MICROPAY,详细说明见参数规定 BankType string `xml:"bank_type"` // 银行类型,采用字符串类型的银行标识 TotalFee int64 `xml:"total_fee"` // 订单总金额,单位为分 CashFee int64 `xml:"cash_fee"` // 现金支付金额订单现金支付金额,详见支付金额 TransactionId string `xml:"transaction_id"` // 微信支付订单号 OutTradeNo string `xml:"out_trade_no"` // 商户系统的订单号,与请求一致。 TimeEnd time.Time `xml:"time_end"` // 订单支付时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010。其他详见时间规则 // 下面字段都是可选返回的(详细见微信支付文档), 为空值表示没有返回, 程序逻辑里需要判断 DeviceInfo string `xml:"device_info"` // 微信支付分配的终端设备号 SubOpenId string `xml:"sub_openid"` // 子商户appid下用户唯一标识,如需返回则请求时需要传sub_appid SubIsSubscribe *bool `xml:"sub_is_subscribe"` // 用户是否关注子公众账号,仅在公众账号类型支付有效,取值范围:Y或N;Y-关注;N-未关注 FeeType string `xml:"fee_type"` // 货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 SettlementTotalFee *int64 `xml:"settlement_total_fee"` // 应结订单金额=订单金额-非充值代金券金额,应结订单金额<=订单金额。 CouponFee *int64 `xml:"coupon_fee"` // 代金券金额 CashFeeType string `xml:"cash_fee_type"` // 货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 Attach string `xml:"attach"` // 附加数据,原样返回 PromotionDetail string `xml:"promotion_detail"` // 营销详情 }
func MicroPay2 ¶
func MicroPay2(clt *core.Client, req *MicroPayRequest) (resp *MicroPayResponse, err error)
MicroPay2 提交刷卡支付.
type OrderQueryRequest ¶
type OrderQueryRequest struct { XMLName struct{} `xml:"xml" json:"-"` // 下面这些参数至少提供一个 TransactionId string `xml:"transaction_id"` // 微信的订单号,优先使用 OutTradeNo string `xml:"out_trade_no"` // 商户系统内部的订单号,当没提供transaction_id时需要传这个。 // 可选参数 NonceStr string `xml:"nonce_str"` // 随机字符串,不长于32位。NOTE: 如果为空则系统会自动生成一个随机字符串。 SignType string `xml:"sign_type"` // 签名类型,目前支持HMAC-SHA256和MD5,默认为MD5 }
type OrderQueryResponse ¶
type OrderQueryResponse struct { XMLName struct{} `xml:"xml" json:"-"` // 必选返回 TradeState string `xml:"trade_state"` // 交易状态 TradeStateDesc string `xml:"trade_state_desc"` // 对当前查询订单状态的描述和下一步操作的指引 OpenId string `xml:"openid"` // 用户在商户appid下的唯一标识 TransactionId string `xml:"transaction_id"` // 微信支付订单号 OutTradeNo string `xml:"out_trade_no"` // 商户系统的订单号,与请求一致。 TradeType string `xml:"trade_type"` // 调用接口提交的交易类型,取值如下:JSAPI,NATIVE,APP,MICROPAY,详细说明见参数规定 BankType string `xml:"bank_type"` // 银行类型,采用字符串类型的银行标识 TotalFee int64 `xml:"total_fee"` // 订单总金额,单位为分 CashFee int64 `xml:"cash_fee"` // 现金支付金额订单现金支付金额,详见支付金额 TimeEnd time.Time `xml:"time_end"` // 订单支付时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010。其他详见时间规则 // 下面字段都是可选返回的(详细见微信支付文档), 为空值表示没有返回, 程序逻辑里需要判断 DeviceInfo string `xml:"device_info"` // 微信支付分配的终端设备号 IsSubscribe *bool `xml:"is_subscribe"` // 用户是否关注公众账号 SubOpenId string `xml:"sub_openid"` // 用户在子商户appid下的唯一标识 SubIsSubscribe *bool `xml:"sub_is_subscribe"` // 用户是否关注子公众账号 SettlementTotalFee *int64 `xml:"settlement_total_fee"` // 应结订单金额=订单金额-非充值代金券金额,应结订单金额<=订单金额。 FeeType string `xml:"fee_type"` // 货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 CashFeeType string `xml:"cash_fee_type"` // 货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 Detail string `xml:"detail"` // 商品详情 Attach string `xml:"attach"` // 附加数据,原样返回 }
func OrderQuery2 ¶
func OrderQuery2(clt *core.Client, req *OrderQueryRequest) (resp *OrderQueryResponse, err error)
OrderQuery2 查询订单.
NOTE: 该函数不支持 代金券 功能, 如果有 代金券 功能请使用 OrderQuery 函数.
type RefundItem ¶
type RefundItem struct { XMLName struct{} `xml:"xml" json:"-"` // 必选返回 OutRefundNo string `xml:"out_refund_no"` // 商户退款单号 RefundId string `xml:"refund_id"` // 微信退款单号 RefundFee int64 `xml:"refund_fee"` // 申请退款金额 RefundStatus string `xml:"refund_status"` // 退款状态 RefundRecvAccout string `xml:"refund_recv_accout"` // 退款入账账户 // 下面字段都是可选返回的(详细见微信支付文档), 为空值表示没有返回, 程序逻辑里需要判断 RefundChannel string `xml:"refund_channel"` // 退款渠道 SettlementRefundFee *int64 `xml:"settlement_refund_fee"` // 退款金额 RefundAccount string `xml:"refund_account"` // 退款资金来源 RefundSuccessTime time.Time `xml:"refund_success_time"` // 退款成功时间 }
type RefundQueryRequest ¶
type RefundQueryRequest struct { XMLName struct{} `xml:"xml" json:"-"` // 必选参数, 四选一 TransactionId string `xml:"transaction_id"` // 微信订单号 OutTradeNo string `xml:"out_trade_no"` // 商户订单号 OutRefundNo string `xml:"out_refund_no"` // 商户退款单号 RefundId string `xml:"refund_id"` // 微信退款单号 // 可选参数 NonceStr string `xml:"nonce_str"` // 随机字符串,不长于32位。NOTE: 如果为空则系统会自动生成一个随机字符串。 SignType string `xml:"sign_type"` // 签名类型,目前支持HMAC-SHA256和MD5,默认为MD5 }
type RefundQueryResponse ¶
type RefundQueryResponse struct { XMLName struct{} `xml:"xml" json:"-"` // 必选返回 TransactionId string `xml:"transaction_id"` // 微信订单号 OutTradeNo string `xml:"out_trade_no"` // 商户系统内部的订单号 TotalFee int64 `xml:"total_fee"` // 订单总金额,单位为分,只能为整数,详见支付金额 CashFee int64 `xml:"cash_fee"` // 现金支付金额,单位为分,只能为整数,详见支付金额 RefundCount int `xml:"refund_count"` // 退款笔数 RefundList []RefundItem `xml:"refund_list"` // 退款列表 // 下面字段都是可选返回的(详细见微信支付文档), 为空值表示没有返回, 程序逻辑里需要判断 SettlementTotalFee *int64 `xml:"settlement_total_fee"` // 应结订单金额=订单金额-非充值代金券金额,应结订单金额<=订单金额。 FeeType string `xml:"fee_type"` // 订单金额货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 CashFeeType string `xml:"cash_fee_type"` // 现金支付货币类型 }
func RefundQuery2 ¶
func RefundQuery2(clt *core.Client, req *RefundQueryRequest) (resp *RefundQueryResponse, err error)
RefundQuery2 查询退款.
NOTE: 该函数不支持 代金券 功能, 如果有 代金券 功能请使用 RefundQuery 函数.
type RefundRequest ¶
type RefundRequest struct { XMLName struct{} `xml:"xml" json:"-"` // 必选参数, TransactionId 和 OutTradeNo 二选一即可. TransactionId string `xml:"transaction_id"` // 微信生成的订单号,在支付通知中有返回 OutTradeNo string `xml:"out_trade_no"` // 商户侧传给微信的订单号 OutRefundNo string `xml:"out_refund_no"` // 商户系统内部的退款单号,商户系统内部唯一,同一退款单号多次请求只退一笔 TotalFee int64 `xml:"total_fee"` // 订单总金额,单位为分,只能为整数,详见支付金额 RefundFee int64 `xml:"refund_fee"` // 退款总金额,订单总金额,单位为分,只能为整数,详见支付金额 // 可选参数 NonceStr string `xml:"nonce_str"` // 随机字符串,不长于32位。NOTE: 如果为空则系统会自动生成一个随机字符串。 SignType string `xml:"sign_type"` // 签名类型,目前支持HMAC-SHA256和MD5,默认为MD5 RefundFeeType string `xml:"refund_fee_type"` // 货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 RefundDesc string `xml:"refund_desc"` // 若商户传入,会在下发给用户的退款消息中体现退款原因 RefundAccount string `xml:"refund_account"` // 退款资金来源 }
type RefundResponse ¶
type RefundResponse struct { XMLName struct{} `xml:"xml" json:"-"` // 必选返回 TransactionId string `xml:"transaction_id"` // 微信订单号 OutTradeNo string `xml:"out_trade_no"` // 商户系统内部的订单号 OutRefundNo string `xml:"out_refund_no"` // 商户退款单号 RefundId string `xml:"refund_id"` // 微信退款单号 RefundFee int64 `xml:"refund_fee"` // 退款总金额,单位为分,可以做部分退款 TotalFee int64 `xml:"total_fee"` // 订单总金额,单位为分,只能为整数,详见支付金额 CashFee int64 `xml:"cash_fee"` // 现金支付金额,单位为分,只能为整数,详见支付金额 // 下面字段都是可选返回的(详细见微信支付文档), 为空值表示没有返回, 程序逻辑里需要判断 SettlementRefundFee *int64 `xml:"settlement_refund_fee"` // 退款金额=申请退款金额-非充值代金券退款金额,退款金额<=申请退款金额 SettlementTotalFee *int64 `xml:"settlement_total_fee"` // 应结订单金额=订单金额-非充值代金券金额,应结订单金额<=订单金额。 FeeType string `xml:"fee_type"` // 订单金额货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 CashFeeType string `xml:"cash_fee_type"` // 货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 CashRefundFee *int64 `xml:"cash_refund_fee"` // 现金退款金额,单位为分,只能为整数,详见支付金额 }
func Refund2 ¶
func Refund2(clt *core.Client, req *RefundRequest) (resp *RefundResponse, err error)
Refund2 申请退款.
NOTE: 1. 请求需要双向证书. 2. 该函数不支持 代金券 功能, 如果有 代金券 功能请使用 Refund 函数.
type ReverseRequest ¶
type ReverseRequest struct { XMLName struct{} `xml:"xml" json:"-"` // 必选参数,二选一 TransactionId string `xml:"transaction_id"` // 微信的订单号,优先使用 OutTradeNo string `xml:"out_trade_no"` // 商户系统内部订单号 // 可选参数 NonceStr string `xml:"nonce_str"` // 随机字符串,不长于32位。NOTE: 如果为空则系统会自动生成一个随机字符串。 SignType string `xml:"sign_type"` // 签名类型,目前支持HMAC-SHA256和MD5,默认为MD5 }
type ReverseResponse ¶
type ReverseResponse struct { XMLName struct{} `xml:"xml" json:"-"` // 必选返回 Recall bool `xml:"recall"` // 是否需要继续调用撤销 }
func Reverse2 ¶
func Reverse2(clt *core.Client, req *ReverseRequest) (resp *ReverseResponse, err error)
Reverse2 撤销订单.
NOTE: 请求需要双向证书.
type UnifiedOrderRequest ¶
type UnifiedOrderRequest struct { XMLName struct{} `xml:"xml" json:"-"` // 必选参数 Body string `xml:"body"` // 商品或支付单简要描述 OutTradeNo string `xml:"out_trade_no"` // 商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号 TotalFee int64 `xml:"total_fee"` // 订单总金额,单位为分,详见支付金额 SpbillCreateIP string `xml:"spbill_create_ip"` // APP和网页支付提交用户端ip,Native支付填调用微信支付API的机器IP。 NotifyURL string `xml:"notify_url"` // 接收微信支付异步通知回调地址,通知url必须为直接可访问的url,不能携带参数。 TradeType string `xml:"trade_type"` // 取值如下:JSAPI,NATIVE,APP,详细说明见参数规定 // 可选参数 DeviceInfo string `xml:"device_info"` // 终端设备号(门店号或收银设备ID),注意:PC网页或公众号内支付请传"WEB" NonceStr string `xml:"nonce_str"` // 随机字符串,不长于32位。NOTE: 如果为空则系统会自动生成一个随机字符串。 SignType string `xml:"sign_type"` // 签名类型,默认为MD5,支持HMAC-SHA256和MD5。 Detail string `xml:"detail"` // 商品名称明细列表 Attach string `xml:"attach"` // 附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据 FeeType string `xml:"fee_type"` // 符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 TimeStart time.Time `xml:"time_start"` // 订单生成时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010。其他详见时间规则 TimeExpire time.Time `xml:"time_expire"` // 订单失效时间,格式为yyyyMMddHHmmss,如2009年12月27日9点10分10秒表示为20091227091010。其他详见时间规则 GoodsTag string `xml:"goods_tag"` // 商品标记,代金券或立减优惠功能的参数,说明详见代金券或立减优惠 ProductId string `xml:"product_id"` // trade_type=NATIVE,此参数必传。此id为二维码中包含的商品ID,商户自行定义。 LimitPay string `xml:"limit_pay"` // no_credit--指定不能使用信用卡支付 OpenId string `xml:"openid"` // rade_type=JSAPI,此参数必传,用户在商户appid下的唯一标识。 SubOpenId string `xml:"sub_openid"` // trade_type=JSAPI,此参数必传,用户在子商户appid下的唯一标识。openid和sub_openid可以选传其中之一,如果选择传sub_openid,则必须传sub_appid。 SceneInfo string `xml:"scene_info"` // 该字段用于上报支付的场景信息,针对H5支付有以下三种场景,请根据对应场景上报,H5支付不建议在APP端使用,针对场景1,2请接入APP支付,不然可能会出现兼容性问题 }
type UnifiedOrderResponse ¶
type UnifiedOrderResponse struct { XMLName struct{} `xml:"xml" json:"-"` // 必选返回 PrepayId string `xml:"prepay_id"` // 微信生成的预支付回话标识,用于后续接口调用中使用,该值有效期为2小时 TradeType string `xml:"trade_type"` // 调用接口提交的交易类型,取值如下:JSAPI,NATIVE,APP,详细说明见参数规定 // 下面字段都是可选返回的(详细见微信支付文档), 为空值表示没有返回, 程序逻辑里需要判断 DeviceInfo string `xml:"device_info"` // 调用接口提交的终端设备号。 CodeURL string `xml:"code_url"` // trade_type 为 NATIVE 时有返回,可将该参数值生成二维码展示出来进行扫码支付 MWebURL string `xml:"mweb_url"` // trade_type 为 MWEB 时有返回 }
func UnifiedOrder2 ¶
func UnifiedOrder2(clt *core.Client, req *UnifiedOrderRequest) (resp *UnifiedOrderResponse, err error)
UnifiedOrder2 统一下单.
Click to show internal directories.
Click to hide internal directories.