package
1.1.13
Repository: https://github.com/accaolei/gochat.git
Documentation: pkg.go.dev

# 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)