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 )
})
}