# README
微信支付(普通商户直连模式)
import (
"github.com/shenghui0779/gochat"
"github.com/shenghui0779/gochat/mch"
)
初始化商户实例
wxpay := gochat.NewMch(appid, mchid, apikey)
// 涉及退款等,需要加载证书(三选一)
wxpay.LoadCertFromPemBlock(certBlock, keyBlock)
wxpay.LoadCertFromPemFile(certFile, keyFile)
wxpay.LoadCertFromP12File(path)
订单
// 统一下单
wxpay.Do(ctx, mch.UnifyOrder(orderData))
// APP拉起支付
wxpay.APPAPI(prepayID)
// JSAPI拉起支付
wxpay.JSAPI(prepayID)
// 根据微信订单号查询
wxpay.Do(ctx, mch.QueryOrderByTransactionID(transactionID))
// 根据商户订单号查询
wxpay.Do(ctx, mch.QueryOrderByOutTradeNO(outTradeNO))
// 关闭订单
wxpay.Do(ctx, mch.CloseOrder(outTradeNO))
退款
// 根据微信订单号退款
wxpay.Do(ctx, mch.RefundByTransactionID(transactionID, refundData))
// 根据商户订单号退款
wxpay.Do(ctx, mch.RefundByOutTradeNO(outTradeNO, refundData))
// 根据微信退款单号查询
wxpay.Do(ctx, mch.QueryRefundByRefundID(refundID))
// 根据商户退款单号查询
wxpay.Do(ctx, mch.QueryRefundByOutRefundNO(outRefundNO))
// 根据微信订单号查询
wxpay.Do(ctx, mch.QueryRefundByTransactionID(transactionID))
// 根据商户订单号查询
wxpay.Do(ctx, mch.QueryRefundByOutTradeNO(outTradeNO))
委托扣款
// APP纯签约
wxpay.Do(ctx, mch.APPEntrust(contract))
// 公众号纯签约
wxpay.Do(ctx, mch.OAEntrust(contract))
// 小程序纯签约,返回小程序所需的 `extraData` 数据
wxpay.Do(ctx, mch.MPEntrust(contract))
// H5纯签约
wxpay.Do(ctx, mch.H5Entrust(contract))
// 支付中签约
wxpay.Do(ctx, mch.EntrustOrder(orderData))
// 根据微信返回的委托代扣协议id查询签约关系
wxpay.Do(ctx, mch.QueryContractByID(contractID))
// 根据签约协议号查询签约关系,需要商户平台配置的代扣模版id
wxpay.Do(ctx, mch.QueryContractByCode(planID, contractCode))
// 申请扣款
wxpay.Do(ctx, mch.PappayApply(pappayData))
// 根据微信订单号查询
wxpay.Do(ctx, mch.QueryPappayByTransactionID(transactionID))
// 根据商户订单号查询
wxpay.Do(ctx, mch.QueryPappayByOutTradeNO(outTradeNO))
// 根据微信返回的委托代扣协议id解约
wxpay.Do(ctx, mch.DeleteContractByID(contractID, remark))
// 根据签约协议号解约,需要商户平台配置的代扣模版id
wxpay.Do(ctx, mch.DeleteContractByID(planID, contractCode, remark))
企业付款
// 付款到零钱
wxpay.Do(ctx, mch.TransferToBalance(balanceData))
// 付款到零钱订单查询
wxpay.Do(ctx, mch.QueryTransferBalanceOrder(partnerTradeNO))
// 付款到银行卡
wxpay.Do(ctx, mch.TransferToBankCard(bankCardData, pubKey))
// 付款到银行卡订单查询
wxpay.Do(ctx, mch.QueryTransferBankCardOrder(partnerTradeNO))
企业红包
// 发放普通红包
wxpay.Do(ctx, mch.SendNormalRedpack(redpackData))
// 发放裂变红包
wxpay.Do(ctx, mch.SendGroupRedpack(redpackData))
// 发放小程序红包
wxpay.Do(ctx, mch.SendMinipRedpack(redpackData))
// 领取红包JSAPI
wxpay.MinipRedpackJSAPI(package)
// 查询红包记录
wxpay.Do(ctx, mch.QueryRedpackByBillNO(billNO))
回调通知
// 签名验证
wxpay.VerifyWXMLResult(wxml)
// 退款信息解密
wxpay.DecryptWithAES256ECB(encrypt)
# Functions
APPEntrust APP纯签约.
CloseOrder 关闭订单【注意:订单生成后不能马上调用关单接口,最短调用时间间隔为5分钟。】.
DeleteContractByCode 根据签约协议号解约,需要商户平台配置的代扣模版id.
DeleteContractByID 根据微信返回的委托代扣协议id解约.
EntrustByOrder 支付中签约.
H5Entrust H5纯签约.
MPEntrust 小程序纯签约,返回小程序所需的 extraData 数据.
New returns new wechat pay.
OAEntrust 公众号纯签约.
PappayApply 申请扣款.
QueryContractByCode 根据签约协议号查询签约关系,需要商户平台配置的代扣模版id.
QueryContractByID 根据微信返回的委托代扣协议id查询签约关系.
QueryOrderByOutTradeNO 根据商户订单号查询.
QueryOrderByTransactionID 根据微信订单号查询.
QueryPappayByOutTradeNO 根据商户订单号查询扣款信息.
QueryPappayByTransactionID 根据微信订单号查询扣款信息.
QueryRedpackByBillNO 查询红包记录.
QueryRefundByOutRefundNO 根据商户退款单号查询退款信息.
QueryRefundByOutTradeNO 根据商户订单号查询退款信息.
QueryRefundByRefundID 根据微信退款单号查询退款信息.
QueryRefundByTransactionID 根据微信订单号查询退款信息.
QueryTransferBalanceOrder 查询付款到零钱订单.
QueryTransferBankCardOrder 查询付款到银行卡订单.
RefundByOutTradeNO 根据商户订单号退款.
RefundByTransactionID 根据微信订单号退款.
ReplyFail 回复失败.
ReplyOK 回复成功.
RSAPublicKey 获取RSA加密公钥.
SendGroupRedpack 发放裂变红包.
SendMinipRedpack 发放小程序红包.
SendNormalRedpack 发放普通红包.
TransferToBalance 付款到零钱【注意:当返回错误码为“SYSTEMERROR”时,请务必使用原商户订单号重试,否则可能造成重复支付等资金风险。】.
TransferToBankCard 付款到银行卡【注意:当返回错误码为“SYSTEMERROR”时,请务必使用原商户订单号重试,否则可能造成重复支付等资金风险。】.
UnifyOrder 统一下单.
# Constants
签约.
解约.
商户API解约.
用户联系客服发起的解约.
有效期过自动解约.
注销.
商户平台解约.
未解约.
用户主动解约.
已签约.
签约进行中.
未签约.
No description provided by the author
No description provided by the author
No description provided by the author
充值代金券.
非充值优惠券.
数据不存在.
订单关闭.
订单不存在.
订单查询.
统一下单.
APP纯签约.
申请扣款.
申请解约.
支付中签约.
签约查询.
H5纯签约.
公众号纯签约.
扣款查询.
裂变红包.
小程序红包.
普通红包.
红包查询.
商品促销.
抽奖.
虚拟物品兑奖.
企业内部福利.
渠道分润.
保险回馈.
彩票派奖.
税务刮奖.
通过活动方式发放.
通过API接口发放.
通过上传文件方式发放.
发放失败.
已领取.
已退款.
退款中.
发放中.
已发放待领取.
裂变红包.
普通红包.
申请退款.
退回到余额.
原路退款.
原账户异常退到其他余额账户.
原银行卡异常退到其他银行卡.
退款不存在.
退款查询.
退款异常.
退款关闭.
退款处理中.
退款成功.
返回结果.
查询结果为空.
返回结果.
No description provided by the author
签名类型.
签名类型.
系统繁忙,请稍后再试.
交易类型.
交易类型.
交易类型.
交易类型.
交易类型.
已接收,等待扣款.
已关闭.
支付失败.
未支付.
支付失败(其他原因,如银行返回失败).
用户支付中.
转入退款.
已撤销(刷卡支付).
支付成功.
企业付款到零钱订单查询.
企业付款到银行卡订单查询.
强校验真实姓名.
不校验真实姓名.
银行退票.
转账失败.
处理中.
转账成功.
企业付款到零钱.
企业付款到银行卡.
# Structs
Contract 微信纯签约协议.
ContractOrder 支付并签约.
Mch 微信支付.
OrderData 统一下单数据.
PappayData 扣款数据.
RedpackData 红包发放数据.
RefundData 退款数据.
Reply 回复支付结果.
TransferBalanceData 付款到零钱数据.
TransferBankCardData 付款到银行卡数据.
# Type aliases
CDATA XML CDATA section which is defined as blocks of text that are not parsed by the parser, but are otherwise recognized as markup.