gopay
v1.1
Работаю над оплатой в последнее время, но в интернете практически нет пригодных для использования кодов. Они либо неполные, либо имеют недостатки, поэтому в итоге подобрал сам. Я извлек часть написанного мной кода и инкапсулировал его, чтобы поделиться им. Надеюсь, он сможет дать всем некоторую информацию.
В настоящее время поддерживается официальная учетная запись WeChat, приложение WeChat, апплет WeChat, веб-версия Alipay и приложение Alipay. Если у кого-то есть новые способы оплаты, их тоже можно объединить.
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 )
})
}