gopay
v1.1
最近在搞支付這塊,但是網路上的程式碼基本上沒有能用的,要嘛不全,要嘛有硬傷,所以最後還是自己接了。抽出寫的一部分程式碼,封裝下分享出來,希望能給大家一點借鏡意義。
目前支援微信公眾號,微信app,微信小程序,支付寶網頁版,支付寶app。要是誰有新的支付方式也可以合併。
package main
import (
"fmt"
"github.com/milkbobo/gopay"
"github.com/milkbobo/gopay/client"
"github.com/milkbobo/gopay/common"
"github.com/milkbobo/gopay/constant"
"net/http"
)
//支付宝举例
func main () {
//设置支付宝账号信息
initClient ()
//设置回调函数
initHandle ()
//支付
charge := new (common. Charge )
charge . PayMethod = constant . WECHAT //支付方式
charge . MoneyFee = 1 // 支付钱单位分
charge . Describe = "test pay" //支付描述
charge . TradeNum = "1111111111" //交易号
charge . CallbackURL = "http://127.0.0.1/callback/aliappcallback" //回调地址必须跟下面一样
fdata , err := gopay . 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 := gopay . AliAppCallback ( w , r )
if err != nil {
fmt . Println ( err )
//log.xxx
return
}
//接下来处理自己的逻辑
fmt . Println ( aliResult )
})
}