Documentation ¶
Overview ¶
Package wechat_pay is a generated GoMock package.
Index ¶
- Constants
- func FormatMap2XML(m WXML) (string, error)
- func RSADecrypt(cipherText, privateKey []byte) ([]byte, error)
- func RSAEncrypt(data, publicKey []byte) ([]byte, error)
- func SignWithHMacSHA256(m WXML, apikey string, toUpper bool) string
- func SignWithMD5(m WXML, apikey string, toUpper bool) string
- type Action
- func APPEntrust(c *Contract) Action
- func CloseOrder(outTradeNO string) Action
- func DeleteContractByCode(planID, contractCode, remark string) Action
- func DeleteContractByID(contractID, remark string) Action
- func EntrustByOrder(order *ContractOrder) Action
- func H5Entrust(c *Contract) Action
- func MPEntrust(c *Contract) Action
- func OAEntrust(c *Contract) Action
- func PappayApply(data *PappayApplyData) Action
- func QueryContractByCode(planID, contractCode string) Action
- func QueryContractByID(contractID string) Action
- func QueryOrderByOutTradeNO(outTradeNO string) Action
- func QueryOrderByTransactionID(transactionID string) Action
- func QueryPappayByOutTradeNO(outTradeNO string) Action
- func QueryPappayByTransactionID(transactionID string) Action
- func QueryRedpackByBillNO(billNO string) Action
- func QueryRefundByOutRefundNO(outRefundNO string, offset ...int) Action
- func QueryRefundByOutTradeNO(outTradeNO string, offset ...int) Action
- func QueryRefundByRefundID(refundID string, offset ...int) Action
- func QueryRefundByTransactionID(transactionID string, offset ...int) Action
- func QueryTransferBalanceOrder(partnerTradeNO string) Action
- func QueryTransferBankCardOrder(partnerTradeNO string) Action
- func RSAPublicKey() Action
- func RefundByOutTradeNO(outTradeNO string, data *RefundData) Action
- func RefundByTransactionID(transactionID string, data *RefundData) Action
- func SendGroupRedpack(data *RedpackData) Action
- func SendMinipRedpack(data *RedpackData) Action
- func SendNormalRedpack(data *RedpackData) Action
- func TransferToBalance(data *TransferBalanceData) Action
- func TransferToBankCard(data *TransferBankCardData, publicKey []byte) Action
- func UnifyOrder(data *OrderData) Action
- type CDATA
- type Contract
- type ContractOrder
- type HTTPClient
- type HTTPOption
- type MockHTTPClient
- type MockHTTPClientMockRecorder
- type MockHTTPOption
- type MockHTTPOptionMockRecorder
- type OrderData
- type PappayApplyData
- type RedpackData
- type RefundData
- type Reply
- type TransferBalanceData
- type TransferBankCardData
- type WXClient
- type WXML
- type WechatAPI
- type WechatPay
- func (w *WechatPay) APPAPI(prepayID string, timestamp int64) WXML
- func (w *WechatPay) Do(action Action, options ...HTTPOption) (WXML, error)
- func (w *WechatPay) JSAPI(prepayID string, timestamp int64) WXML
- func (w *WechatPay) LoadCertFromP12File(path string) error
- func (w *WechatPay) LoadCertFromPemBlock(certPEMBlock, keyPEMBlock []byte) error
- func (w *WechatPay) LoadCertFromPemFile(certFile, keyFile string) error
- func (w *WechatPay) MPRedpackJSAPI(pkg string, timestamp int64) WXML
- func (w *WechatPay) VerifyWXReply(m WXML) error
Constants ¶
const ( TradeAPP = "APP" TradeJSAPI = "JSAPI" TradeMWEB = "MWEB" TradeNative = "NATIVE" TradePAP = "PAP" )
交易类型
const ( SignMD5 = "MD5" SignHMacSHA256 = "HMAC-SHA256" )
签名类型
const ( ResultSuccess = "SUCCESS" ResultFail = "FAIL" ResultNull = "RESULT NULL" // 查询结果为空 NotFound = "NOT_FOUND" // 数据不存在 SystemError = "SYSTEMERROR" // 系统繁忙,请稍后再试 )
返回结果
const ( TradeStateSuccess = "SUCCESS" // 支付成功 TradeStateRefund = "REFUND" // 转入退款 TradeStateNotpay = "NOTPAY" // 未支付 TradeStateClosed = "CLOSED" // 已关闭 TradeStateRevoked = "REVOKED" // 已撤销(刷卡支付) TradeStatePaying = "USERPAYING" // 用户支付中 TradeStateAccept = "ACCEPT" // 已接收,等待扣款 TradeStateError = "PAYERROR" // 支付失败 TradeStatePayFail = "PAY_FAIL" // 支付失败(其他原因,如银行返回失败) )
const ( CouponTypeCash = "CASH" // 充值代金券 CouponTypeNoCash = "NO_CASH" // 非充值优惠券 )
const ( RefundStatusSuccess = "SUCCESS" // 退款成功 RefundStatusClosed = "REFUNDCLOSE" // 退款关闭 RefundStatusProcessing = "PROCESSING" // 退款处理中 RefundStatusChange = "CHANGE" // 退款异常 )
const ( RefundChannelOriginal = "ORIGINAL" // 原路退款 RefundChannelBalance = "BALANCE" // 退回到余额 RefundChannelOtherBalance = "OTHER_BALANCE" // 原账户异常退到其他余额账户 RefundChannelOtherBankCard = "OTHER_BANKCARD" // 原银行卡异常退到其他银行卡 )
const ( OrderNotExist = "ORDERNOTEXIST" // 订单不存在 RefundNotExist = "REFUNDNOTEXIST" // 退款不存在 )
const ( ContractAdd = "ADD" // 签约 ContractDelete = "DELETE" // 解约 )
const ( ContractEntrustUndo = "1" // 未签约 ContractEntrustOK = "0" // 已签约 ContractEntrustProcessing = "9" // 签约进行中 )
const ( ContractDeleteUndo = "0" // 未解约 ContractDeleteExpired = "1" // 有效期过自动解约 ContractDeleteUser = "2" // 用户主动解约 ContractDeleteAPI = "3" // 商户API解约 ContractDeletePlatform = "4" // 商户平台解约 ContractDeleteLogout = "5" // 注销 ContractDeleteContact = "7" // 用户联系客服发起的解约 )
const ( TransferNoCheck = "NO_CHECK" // 不校验真实姓名 TransferForceCheck = "FORCE_CHECK" // 强校验真实姓名 )
const ( TransferStatusProcessing = "PROCESSING" // 处理中 TransferStatusSuccess = "SUCCESS" // 转账成功 TransferStatusFailed = "FAILED" // 转账失败 TransferStatusBankFail = "BANK_FAIL" // 银行退票 )
const ( RedpackScene1 = "PRODUCT_1" // 商品促销 RedpackScene2 = "PRODUCT_2" // 抽奖 RedpackScene3 = "PRODUCT_3" // 虚拟物品兑奖 RedpackScene4 = "PRODUCT_4" // 企业内部福利 RedpackScene5 = "PRODUCT_5" // 渠道分润 RedpackScene6 = "PRODUCT_6" // 保险回馈 RedpackScene7 = "PRODUCT_7" // 彩票派奖 RedpackScene8 = "PRODUCT_8" // 税务刮奖 )
const ( RedpackStatusSending = "SENDING" // 发放中 RedpackStatusSent = "SENT" // 已发放待领取 RedpackStatusFailed = "FAILED" // 发放失败 RedpackStatusReceived = "RECEIVED" // 已领取 RedpackStatusRefunding = "RFUND_ING" // 退款中 RedpackStatusRefund = "REFUND" // 已退款 )
const ( RedpackTypeNormal = "NORMAL" // 普通红包 RedpackTypeGroup = "GROUP" // 裂变红包 )
const ( RedpackSendTypeApi = "API" // 通过API接口发放 RedpackSendTypeUpload = "UPLOAD" // 通过上传文件方式发放 RedpackSendTypeActivity = "ACTIVITY" // 通过活动方式发放 )
const ( OrderUnifyURL = "https://api.mch.weixin.qq.com/pay/unifiedorder" // 统一下单 OrderQueryURL = "https://api.mch.weixin.qq.com/pay/orderquery" // 订单查询 OrderCloseURL = "https://api.mch.weixin.qq.com/pay/closeorder" // 订单关闭 )
URL - order
const ( RefundApplyURL = "https://api.mch.weixin.qq.com/secapi/pay/refund" // 申请退款 RefundQueryURL = "https://api.mch.weixin.qq.com/pay/refundquery" // 退款查询 )
URL - refund
const ( PappayAPPEntrustURL = "https://api.mch.weixin.qq.com/papay/preentrustweb" // APP纯签约 PappayOAEntrustURL = "https://api.mch.weixin.qq.com/papay/entrustweb" // 公众号纯签约 PappayH5EntrustURL = "https://api.mch.weixin.qq.com/papay/h5entrustweb" // H5纯签约 PappayContractOrderURL = "https://api.mch.weixin.qq.com/pay/contractorder" // 支付中签约 PappayContractQueryURL = "https://api.mch.weixin.qq.com/papay/querycontract" // 签约查询 PappayContractDeleteURL = "https://api.mch.weixin.qq.com/papay/deletecontract" // 申请解约 PappayApplyURL = "https://api.mch.weixin.qq.com/pay/pappayapply" // 申请扣款 PappayOrderQueryURL = "https://api.mch.weixin.qq.com/pay/paporderquery" // 扣款查询 )
URL - pappay
const ( TransferToBalanceURL = "https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers" // 企业付款到零钱 TransferBalanceOrderQueryURL = "https://api.mch.weixin.qq.com/mmpaymkttransfers/gettransferinfo" // 企业付款到零钱订单查询 TransferToBankCardURL = "https://api.mch.weixin.qq.com/mmpaysptrans/pay_bank" // 企业付款到银行卡 TransferBankCardOrderQueryURL = "https://api.mch.weixin.qq.com/mmpaysptrans/query_bank" // 企业付款到银行卡订单查询 )
URL - transfer
const ( RedpackNormalURL = "https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack" // 普通红包 RedpackGroupURL = "https://api.mch.weixin.qq.com/mmpaymkttransfers/sendgroupredpack" // 裂变红包 RedpackMinipURL = "https://api.mch.weixin.qq.com/mmpaymkttransfers/sendminiprogramhb" // 小程序红包 RedpackQueryURL = "https://api.mch.weixin.qq.com/mmpaymkttransfers/gethbinfo" // 红包查询 )
URL - redpack
const RSAPublicKeyURL = "https://fraud.mch.weixin.qq.com/risk/getpublickey"
Variables ¶
This section is empty.
Functions ¶
func RSADecrypt ¶
RSADecrypt rsa decryption with private key
func RSAEncrypt ¶
RSAEncrypt rsa encryption with public key
func SignWithHMacSHA256 ¶
SignWithHMacSHA256 生成HMAC-SHA256签名
Types ¶
type Action ¶
type Action interface { WXML() func(appid, mchid, apikey, nonce string) (WXML, error) URL() string TLS() bool }
Action wechat pay action
func CloseOrder ¶
CloseOrder 关闭订单【注意:订单生成后不能马上调用关单接口,最短调用时间间隔为5分钟。】
func DeleteContractByCode ¶
DeleteContractByCode 根据签约协议号解约,需要商户平台配置的代扣模版id
func DeleteContractByID ¶
DeleteContractByID 根据微信返回的委托代扣协议id解约
func QueryContractByCode ¶
QueryContractByCode 根据签约协议号查询签约关系,需要商户平台配置的代扣模版id
func QueryContractByID ¶
QueryContractByID 根据微信返回的委托代扣协议id查询签约关系
func QueryOrderByOutTradeNO ¶
QueryOrderByOutTradeNO 根据商户订单号查询
func QueryOrderByTransactionID ¶
QueryOrderByTransactionID 根据微信订单号查询
func QueryPappayByOutTradeNO ¶
QueryPappayByOutTradeNO 根据商户订单号查询扣款信息
func QueryPappayByTransactionID ¶
QueryPappayByTransactionID 根据微信订单号查询扣款信息
func QueryRedpackByBillNO ¶
QueryRedpackByBillNO 查询红包记录
func QueryRefundByOutRefundNO ¶
QueryRefundByOutRefundNO 根据商户退款单号查询退款信息
func QueryRefundByOutTradeNO ¶
QueryRefundByOutTradeNO 根据商户订单号查询退款信息
func QueryRefundByRefundID ¶
QueryRefundByRefundID 根据微信退款单号查询退款信息
func QueryRefundByTransactionID ¶
QueryRefundByTransactionID 根据微信订单号查询退款信息
func QueryTransferBalanceOrder ¶
QueryTransferBalanceOrder 查询付款到零钱订单
func QueryTransferBankCardOrder ¶
QueryTransferBankCardOrder 查询付款到银行卡订单
func RefundByOutTradeNO ¶
func RefundByOutTradeNO(outTradeNO string, data *RefundData) Action
RefundByOutTradeNO 根据商户订单号退款
func RefundByTransactionID ¶
func RefundByTransactionID(transactionID string, data *RefundData) Action
RefundByTransactionID 根据微信订单号退款
func TransferToBalance ¶
func TransferToBalance(data *TransferBalanceData) Action
TransferToBalance 付款到零钱【注意:当返回错误码为“SYSTEMERROR”时,请务必使用原商户订单号重试,否则可能造成重复支付等资金风险。】
func TransferToBankCard ¶
func TransferToBankCard(data *TransferBankCardData, publicKey []byte) Action
TransferToBankCard 付款到银行卡【注意:当返回错误码为“SYSTEMERROR”时,请务必使用原商户订单号重试,否则可能造成重复支付等资金风险。】
type CDATA ¶
type CDATA string
CDATA XML CDATA section which is defined as blocks of text that are not parsed by the parser, but are otherwise recognized as markup.
func (CDATA) MarshalXML ¶
MarshalXML encodes the receiver as zero or more XML elements.
type Contract ¶
type Contract struct { // 必填字段 PlanID string // 协议模板id,设置路径见开发步骤 ContractCode string // 商户侧的签约协议号,由商户生成 RequestSerial int64 // 商户请求签约时的序列号,要求唯一性,纯数字, 范围不能超过Int64的范围 ContractDisplayAccount string // 签约用户的名称,用于页面展示,参数值不支持UTF8非3字节编码的字符,如表情符号,故请勿使用微信昵称 SpbillCreateIP string // 用户客户端的真实IP地址,H5签约必填 Timestamp int64 // 系统当前时间戳,10位 NotifyURL string // 用于接收签约成功消息的回调通知地址,对notify_url参数值需进行encode处理,注意是对参数值进行encode // 选填字段 ReturnAPP bool // APP签约选填,签约后是否返回app,注:签约参数appid必须为发起签约的app所有,且在微信开放平台注册过 ReturnWeb bool // 公众号签约选填,签约后是否返回签约页面的referrer url, 不填或获取不到referrer则不返回; 跳转referrer url时会自动带上参数from_wxpay=1 OuterID int64 // 小程序签约选填,用户在商户侧的标识 ReturnAPPID string // H5签约选填,商户具有指定返回app的权限时,签约成功将返回appid指定的app应用,如不填且签约发起时的浏览器UA可被微信识别,则跳转到浏览器,否则留在微信 }
Contract 微信纯签约协议
type ContractOrder ¶
type ContractOrder struct { // 必填参数 OutTradeNO string // 商户系统内部的订单号,32个字符内、可包含字母,其他说明见商户订单号 TotalFee int // 订单总金额,单位为分,详见支付金额 SpbillCreateIP string // APP和网页支付提交用户端ip,Native支付填调用微信支付API的机器IP TradeType string // 取值如下:JSAPI,NATIVE,APP,MWEB,详细说明见参数规定 Body string // 商品或支付单简要描述 PlanID string // 协议模板id,设置路径见开发步骤 ContractCode string // 商户侧的签约协议号,由商户生成 RequestSerial int64 // 商户请求签约时的序列号,要求唯一性,纯数字, 范围不能超过Int64的范围 ContractDisplayAccount string // 签约用户的名称,用于页面展示,参数值不支持UTF8非3字节编码的字符,如表情符号,故请勿使用微信昵称 PaymentNotifyURL string // 接收微信支付异步通知回调地址,通知url必须为直接可访问的url,不能携带参数 ContractNotifyURL string // 签约信息回调通知的url // 选填参数 DeviceInfo string // 终端设备号(门店号或收银设备ID),注意:PC网页或公众号内支付请传"WEB" Detail string // 商品名称明细列表 Attach string // 附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据 FeeType string // 符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 TimeStart string // 订单生成时间,格式为yyyyMMddHHmmss,如:2009年12月25日9点10分10秒 表示为:20091225091010 TimeExpire string // 订单失效时间,格式为yyyyMMddHHmmss,如:2009年12月27日9点10分10秒 表示为:20091227091010 GoodsTag string // 商品标记,代金券或立减优惠功能的参数,说明详见代金券或立减优惠 ProductID string // trade_type=NATIVE,此参数必传。此id为二维码中包含的商品ID,商户自行定义 LimitPay string // no_credit--指定不能使用信用卡支付 OpenID string // trade_type=JSAPI,此参数必传,用户在商户appid下的唯一标识 }
ContractOrder 支付并签约
type HTTPClient ¶
type HTTPClient interface { GetXML(reqURL string, body WXML, options ...HTTPOption) (WXML, error) PostXML(reqURL string, body WXML, options ...HTTPOption) (WXML, error) }
func NewHTTPClient ¶
func NewHTTPClient(tlsCfg ...*tls.Config) HTTPClient
NewHTTPClient returns a new http client
type HTTPOption ¶
type HTTPOption interface {
// contains filtered or unexported methods
}
HTTPOption configures how we set up the http request
func WithHTTPClose ¶
func WithHTTPClose() HTTPOption
WithHTTPClose specifies close the connection after replying to this request (for servers) or after sending this request and reading its response (for clients).
func WithHTTPCookies ¶
func WithHTTPCookies(cookies ...*http.Cookie) HTTPOption
WithHTTPCookies specifies the cookies to http request.
func WithHTTPHeader ¶
func WithHTTPHeader(key, value string) HTTPOption
WithHTTPHeader specifies the headers to http request.
func WithHTTPTimeout ¶
func WithHTTPTimeout(d time.Duration) HTTPOption
WithHTTPTimeout specifies the timeout to http request.
type MockHTTPClient ¶
type MockHTTPClient struct {
// contains filtered or unexported fields
}
MockHTTPClient is a mock of HTTPClient interface
func NewMockHTTPClient ¶
func NewMockHTTPClient(ctrl *gomock.Controller) *MockHTTPClient
NewMockHTTPClient creates a new mock instance
func (*MockHTTPClient) EXPECT ¶
func (m *MockHTTPClient) EXPECT() *MockHTTPClientMockRecorder
EXPECT returns an object that allows the caller to indicate expected use
func (*MockHTTPClient) GetXML ¶
func (m *MockHTTPClient) GetXML(reqURL string, body WXML, options ...HTTPOption) (WXML, error)
GetXML mocks base method
func (*MockHTTPClient) PostXML ¶
func (m *MockHTTPClient) PostXML(reqURL string, body WXML, options ...HTTPOption) (WXML, error)
PostXML mocks base method
type MockHTTPClientMockRecorder ¶
type MockHTTPClientMockRecorder struct {
// contains filtered or unexported fields
}
MockHTTPClientMockRecorder is the mock recorder for MockHTTPClient
func (*MockHTTPClientMockRecorder) GetXML ¶
func (mr *MockHTTPClientMockRecorder) GetXML(reqURL, body interface{}, options ...interface{}) *gomock.Call
GetXML indicates an expected call of GetXML
func (*MockHTTPClientMockRecorder) PostXML ¶
func (mr *MockHTTPClientMockRecorder) PostXML(reqURL, body interface{}, options ...interface{}) *gomock.Call
PostXML indicates an expected call of PostXML
type MockHTTPOption ¶
type MockHTTPOption struct {
// contains filtered or unexported fields
}
MockHTTPOption is a mock of HTTPOption interface
func NewMockHTTPOption ¶
func NewMockHTTPOption(ctrl *gomock.Controller) *MockHTTPOption
NewMockHTTPOption creates a new mock instance
func (*MockHTTPOption) EXPECT ¶
func (m *MockHTTPOption) EXPECT() *MockHTTPOptionMockRecorder
EXPECT returns an object that allows the caller to indicate expected use
type MockHTTPOptionMockRecorder ¶
type MockHTTPOptionMockRecorder struct {
// contains filtered or unexported fields
}
MockHTTPOptionMockRecorder is the mock recorder for MockHTTPOption
type OrderData ¶
type OrderData struct { // 必填参数 OutTradeNO string // 商户系统内部的订单号,32个字符内、可包含字母,其他说明见商户订单号 TotalFee int // 订单总金额,单位为分,详见支付金额 SpbillCreateIP string // APP和网页支付提交用户端ip,Native支付填调用微信支付API的机器IP TradeType string // 取值如下:JSAPI,NATIVE,APP,MWEB,详细说明见参数规定 Body string // 商品或支付单简要描述 NotifyURL string // 接收微信支付异步通知回调地址,通知url必须为直接可访问的url,不能携带参数 // 选填参数 DeviceInfo string // 终端设备号(门店号或收银设备ID),注意:PC网页或公众号内支付请传"WEB" Detail string // 商品名称明细列表 Attach string // 附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据 FeeType string // 符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 TimeStart string // 订单生成时间,格式为yyyyMMddHHmmss,如:2009年12月25日9点10分10秒 表示为:20091225091010 TimeExpire string // 订单失效时间,格式为yyyyMMddHHmmss,如:2009年12月27日9点10分10秒 表示为:20091227091010 GoodsTag string // 商品标记,代金券或立减优惠功能的参数,说明详见代金券或立减优惠 ProductID string // trade_type=NATIVE,此参数必传。此id为二维码中包含的商品ID,商户自行定义 LimitPay string // no_credit--指定不能使用信用卡支付 OpenID string // trade_type=JSAPI,此参数必传,用户在商户appid下的唯一标识 Receipt bool // 是否在支付成功消息和支付详情页中出现开票入口,注:需要在微信支付商户平台或微信公众平台开通电子发票功能 SceneInfo string // 该字段用于上报支付的场景信息 }
OrderData 统一下单数据
type PappayApplyData ¶
type PappayApplyData struct { // 必填参数 OutTradeNO string // 商户系统内部的订单号,32个字符内、可包含字母,其他说明见商户订单号 TotalFee int // 订单总金额,单位为分,详见支付金额 SpbillCreateIP string // APP和网页支付提交用户端ip,Native支付填调用微信支付API的机器IP ContractID string // 签约成功后,微信返回的委托代扣协议id Body string // 商品或支付单简要描述 NotifyURL string // 接收微信支付异步通知回调地址,通知url必须为直接可访问的url,不能携带参数 // 选填参数 Detail string // 商品名称明细列表 Attach string // 附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据 FeeType string // 符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 GoodsTag string // 商品标记,代金券或立减优惠功能的参数,说明详见代金券或立减优惠 Receipt bool // 是否在支付成功消息和支付详情页中出现开票入口,注:需要在微信支付商户平台或微信公众平台开通电子发票功能 }
PappayApplyData 扣款申请数据
type RedpackData ¶
type RedpackData struct { // 必填参数 MchBillNO string // 商户订单号(每个订单号必须唯一。取值范围:0~9,a~z,A~Z)接口根据商户订单号支持重入,如出现超时可再调用 SendName string // 红包发送者名称;注意:敏感词会被转义成字符* ReOpenID string // 接受红包的用户openid TotalAmount int // 付款金额,单位:分 TotalNum int // 红包发放总人数 Wishing string // 红包祝福语;注意:敏感词会被转义成字符* ClientIP string // 调用接口的机器Ip地址 ActName string // 活动名称;注意:敏感词会被转义成字符* Remark string // 备注信息 // 选填参数 SceneID string // 发放红包使用场景,红包金额大于200或者小于1元时必传 RiskInfo string // 活动信息,urlencode(posttime=xx&mobile=xx&deviceid=xx。posttime:用户操作的时间戳;mobile:业务系统账号的手机号,国家代码-手机号,不需要+号;deviceid:MAC地址或者设备唯一标识;clientversion:用户操作的客户端版本 }
RedpackData 红包发放数据
type RefundData ¶
type RefundData struct { // 必填参数 OutRefundNO string // 商户系统内部的退款单号,商户系统内部唯一,同一退款单号多次请求只退一笔 TotalFee int // 订单总金额,单位为分,只能为整数,详见支付金额 RefundFee int // 退款总金额,订单总金额,单位为分,只能为整数,详见支付金额 // 选填参数 RefundFeeType string // 货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型 RefundDesc string // 若商户传入,会在下发给用户的退款消息中体现退款原因 RefundAccount string // 退款资金来源,仅针对老资金流商户使用 NotifyURL string // 异步接收微信支付退款结果通知的回调地址,通知URL必须为外网可访问的url,不允许带参数 }
RefundData 退款数据
type Reply ¶
type Reply struct { XMLName xml.Name `xml:"xml"` ReturnCode CDATA `xml:"return_code"` ReturnMsg CDATA `xml:"return_msg"` }
Reply 回复支付结果
type TransferBalanceData ¶
type TransferBalanceData struct { // 必填参数 PartnerTradeNO string // 商户订单号,需保持唯一性 (只能是字母或者数字,不能包含有其它字符) OpenID string // 商户appid下,某用户的openid CheckName string // NO_CHECK:不校验真实姓名;FORCE_CHECK:强校验真实姓名 Amount int // 企业付款金额,单位:分 Desc string // 企业付款备注,必填。注意:备注中的敏感词会被转成字符* // 选填参数 ReUserName string // 收款用户真实姓名。如果check_name设置为FORCE_CHECK,则必填用户真实姓名 DeviceInfo string // 微信支付分配的终端设备号 SpbillCreateIP string // 该IP同在商户平台设置的IP白名单中的IP没有关联,该IP可传用户端或者服务端的IP }
TransferBalanceData 付款到零钱数据
type TransferBankCardData ¶
type TransferBankCardData struct { // 必填参数 PartnerTradeNO string // 商户订单号,需保持唯一(只允许数字[0~9]或字母[action~Z]和[a~z],最短8位,最长32位) EncBankNO string // 收款方银行卡号(采用标准RSA算法,公钥由微信侧提供) EncTrueName string // 收款方用户名(采用标准RSA算法,公钥由微信侧提供) BankCode string // 银行卡所在开户行编号,参考:https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=24_4 Amount int // 付款金额:RMB分(支付总额,不含手续费)注:大于0的整数 // 选填参数 Desc string // 企业付款到银行卡付款说明,即订单备注(UTF8编码,允许100个字符以内) }
TransferBankCardData 付款到银行卡数据
type WXClient ¶
type WXClient struct {
// contains filtered or unexported fields
}
type WechatAPI ¶
type WechatAPI struct {
// contains filtered or unexported fields
}
WechatAPI 微信支付API
type WechatPay ¶
type WechatPay struct {
// contains filtered or unexported fields
}
WechatPay 微信支付
func (*WechatPay) Do ¶
func (w *WechatPay) Do(action Action, options ...HTTPOption) (WXML, error)
Do exec action
func (*WechatPay) LoadCertFromP12File ¶
LoadCertFromP12File load cert from p12(pfx) file
func (*WechatPay) LoadCertFromPemBlock ¶
LoadCertFromPemBlock load cert from a pair of PEM encoded data
func (*WechatPay) LoadCertFromPemFile ¶
LoadCertFromPemFile load cert from PEM file
func (*WechatPay) MPRedpackJSAPI ¶
MPRedpackJSAPI 小程序领取红包
func (*WechatPay) VerifyWXReply ¶
VerifyWXReply 验证微信结果