代码拉取完成,页面将自动刷新
同步操作将从 ShirDon-廖显东/go支付合集 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
golang支付库 想必gopher们都会抱怨go成熟的包太少,特别是go语言支付这块,网上的代码基本没有能用的,要么不全,要么有硬伤,所以结合网上和自己经验,抽出时间写的一部分代码,封装下分享出来,希望能给大家一点借鉴意义。
支持的支付方式 目前支持微信app,支付宝网页版,支付宝app。要是谁有新的支付方式也可以合并。
项目开源协议:GPL v3
使用方法
#####1. git clone https://gitee.com/shirdonl/pays_with_go.git 或者 go get gitee.com/shirdonl/pays_with_go
#####2. 在自己的项目里调用,示例代码如下,确保填入自己的配置参数,开发中有问题欢迎留言或者关注公众号:codebigdata
package main
import (
"fmt"
"gitee.com/shirdonl/pays_with_go"
"gitee.com/shirdonl/pays_with_go/client"
"gitee.com/shirdonl/pays_with_go/common"
"gitee.com/shirdonl/pays_with_go/constant"
"net/http"
)
func main() {
//设置支付宝账号信息
initClient()
//设置回调函数
initHandle()
//支付
charge := new(common.Charge)
charge.PayMethod = constant.ALI_APP //支付方式
charge.MoneyFee = 1 // 支付钱单位分
charge.Describe = "测试订单" //支付描述
charge.TradeNum = "88888888" //交易号
charge.CallbackURL = "http://127.0.0.1/callback/aliappcallback" //回调地址必须跟下面一样
//导入包
fdata, err := pays_with_go.Pay(charge)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(fdata)
}
//
func initClient() {
client.InitAliAppClient(&client.AliAppClient{
PartnerID: "xxx",
SellerID: "xxxx",
AppID: "xxx",
PrivateKey: nil,
PublicKey: nil,
})
}
func initHandle() {
http.HandleFunc("callback/aliappcallback", func(w http.ResponseWriter, r *http.Request) {
//返回支付结果
aliResult, err := pays_with_go.AliAppCallback(w, r)
if err != nil {
fmt.Println(err)
//log.xxx
return
}
//接下来处理自己的逻辑
fmt.Println(aliResult)
})
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。