go get -u github.com/wleven/wxpay
// 执行命令
godoc -http:=8888 -play
// 浏览器打开文档
http://127.0.0.1:8888/pkg/github.com/wleven/wxpay/
var WxPay = pay.WxPay{
// 支付初始化参数
}
// WxPay 支付环境
type WxPay struct {
AppID string // 商户 /服务商 AppId(公众号 /小程序)
MchID string // 商户 /服务商 商户号
SubAppID string // 子商户公众号 ID
SubMchID string // 子商户商户号
PayNotify string // 支付结果回调地址
RefundNotify string // 退款结果回调地址
Secret string // 微信支付密钥
APIClientPath pay.APIClientPath // API 证书路径
}
// APIClientPath 微信支付 API 证书
type APIClientPath struct {
Cert string // 证书路径
Key string // 证书密钥路径
Root string // 根证书路径
}
var WxPay = pay.WxPay{
// 支付初始化参数
}
if result, err := WxPay.UnifiedOrder(pay.UnifiedOrder{
Attach: "支付测试",
OutTradeNo: "11111111111114",
TotalFee: 1,
SpbillCreateIP: "127.0.0.1",
OpenID: "owJNp5PDj8lja9S3m2l2M_jt3aHY",
Receipt: "Y",
Body: "测试",
TradeType: "JSAPI",
}); err == nil {
log.Println(result)
} else {
log.Println(err)
}
var WxPay = pay.WxPay{
// 支付初始化参数
}
if result, err := pay.WxAppPay(UnifiedOrder{
Attach: "支付测试",
OutTradeNo: "11111111111115 ",
TotalFee: 1,
SpbillCreateIP: "127.0.0.1",
OpenID: "owJNp5PDj8lja9S3m2l2M_jt3aHY",
Receipt: "Y",
Body: "测试",
TradeType: "JSAPI",
}); err == nil {
log.Println(result)
} else {
log.Println(err)
}
var WxPay = pay.WxPay{
// 支付初始化参数
}
if result, err := pay.Micropay(Micropay{
Attach: "支付测试",
OutTradeNo: "11111111111115",
TotalFee: 1,
SpbillCreateIP: "127.0.0.1",
Receipt: "Y",
Body: "测试",
AuthCode: "12312312312",
}); err == nil {
log.Println(result)
} else {
log.Println(err)
}
var WxPay = pay.WxPay{
// 支付初始化参数
}
if result, err := WxPay.CloseOrder("11111111111112"); err == nil {
log.Println(result)
} else {
log.Println(err)
}
var WxPay = pay.WxPay{
// 支付初始化参数
}
if result, err := pay.ReverseOrder(ReverseOrder{
OutTradeNo: "11111111111112",
}); err == nil {
log.Println(result)
} else {
log.Println(err)
}
var WxPay = pay.WxPay{
// 支付初始化参数
}
if result, err := WxPay.OrderQuery(pay.OrderQuery{
OutTradeNo: "11111111111113",
}); err == nil {
log.Println(result)
} else {
log.Println.Error(err)
}
var WxPay = pay.WxPay{
// 支付初始化参数
}
if result, err := WxPay.Refund(pay.Refund{
OutTradeNo: "11111111111113",
TotalFee: 100,
RefundFee: 1,
OutRefundNo: "11111111111113",
}); err == nil {
log.Println(result)
} else {
log.Println(err)
}
var WxPay = pay.WxPay{
// 支付初始化参数
}
if result, err := pay.RefundQuery(RefundQuery{
OutTradeNo: "11111111111113",
}); err == nil {
log.Println(result)
} else {
log.Println(err)
}
var WxPay = pay.WxPay{
// 支付初始化参数
}
if result, err := WxPay.ProfitSharingAddReceiver(pay.Receiver{
Type: "PERSONAL_OPENID",
Account: "owJNp5PDj8lja9S3m2l2M_jt3aHY",
RelationType: "DISTRIBUTOR",
}); err == nil {
log.Println(result)
} else {
log.Println(err)
}
var WxPay = pay.WxPay{
// 支付初始化参数
}
if result, err := WxPay.ProfitSharingRemoveReceiver(pay.Receiver{
Type: "PERSONAL_OPENID",
Account: "owJNp5PDj8lja9S3m2l2M_jt3aHY",
}); err == nil {
log.Println(result)
} else {
log.Println(err)
}
var WxPay = pay.WxPay{
// 支付初始化参数
}
// 第二个参数 options 为 multi 为多次分账 默认为单次
if result, err := WxPay.ProfitSharing(pay.ProfitSharing{
TransactionID: "11111",
OutOrderNo: "111111",
Receivers: []Receiver{{Type: "PERSONAL_OPENID", Account: "owJNp5PDj8lja9S3m2l2M_jt3aHY", Amount: 1, Description: "个人分成"}},
}, "multi"); err == nil {
log.Println(result)
} else {
log.Println(err)
}
var WxPay = pay.WxPay{
// 支付初始化参数
}
if result, err := WxPay.ProfitSharingFinish(pay.ProfitSharingFinish{
TransactionID: "11111",
OutOrderNo: "111111",
Description: "分账完成",
}); err == nil {
log.Println(result)
} else {
log.Println(err)
}
var WxPay = pay.WxPay{
// 支付初始化参数
}
if result, err := WxPay.ProfitSharingQuery(pay.ProfitSharingQuery{
TransactionID: "11111",
OutOrderNo: "111111",
}); err == nil {
log.Println(result)
} else {
log.Println(err)
}
var WxPay = pay.WxPay{
// 支付初始化参数
}
if result, err := WxPay.ProfitSharingReturn(pay.ProfitSharingReturn{
OutOrderNo: "1111111",
OutReturnNo: "1111112",
ReturnAccount: "12312312",
ReturnAmount: 100,
Description: "回退",
}); err == nil {
log.Println(result)
} else {
log.Println(err)
}
var WxPay = pay.WxPay{
// 支付初始化参数
}
if result, err := WxPay.ProfitSharingReturnQuery(pay.ProfitSharingReturnQuery{
OutOrderNo: "1111111",
OutReturnNo: "1111112",
}); err == nil {
log.Println(result)
} else {
log.Println(err)
}
1
shuang 2020-04-29 12:42:08 +08:00
请问下微信接口要求分账比例最大不超过 30%,如何突破这个限制呢
|
3
Nxxx 2020-04-29 16:06:26 +08:00
已 star 刚好可能会用到 现谢谢了
|
5
Aether 2020-05-05 13:14:23 +08:00
请问一下
// 支付初始化参数 这个地方需要我做什么吗? |
6
Aether 2020-05-05 13:18:53 +08:00
顺便说一下,
··· // 执行命令 godoc -http:=8888 -play ··· 这里是不是笔误? 好像应该是: ··· // 执行命令 godoc -http=:8888 -play ··· |
7
Aether 2020-05-05 14:48:24 +08:00
请问一下,
// 证书路径 怎么填好呢? 写本地相对 GO project 的绝对路径吗? |
8
Aether 2020-05-05 20:42:27 +08:00
WxPay.UnifiedOrder(pay.UnifiedOrder
请问一下, WxPay 和 pay 在这里分别是什么? |
13
Wichna 2020-05-07 10:26:54 +08:00
不错,欢迎发到 Paybase https://paybase.cn
|