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)
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.