-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpayment.go
executable file
·49 lines (40 loc) · 1.06 KB
/
payment.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package module
import (
"github.com/ixre/gof"
"github.com/ixre/gof/storage"
"go2o/core/module/bank"
"go2o/core/module/pay"
)
type PaymentModule struct {
app gof.App
storage storage.Interface
ptArr []*bank.PaymentPlatform
gateway *pay.Gateway
}
func (p *PaymentModule) Submit(userId int64, data map[string]string) error {
return p.gateway.Submit(userId, data)
}
func (p *PaymentModule) CreateToken(userId int64) string {
return p.gateway.CreatePostToken(userId)
}
func (p *PaymentModule) CheckAndPayment(userId int64, data map[string]string) error {
return p.gateway.CheckAndPayment(userId, data["trade_no"], data["trade_pwd"])
}
// 模块数据
func (p *PaymentModule) SetApp(app gof.App) {
p.app = app
p.storage = app.Storage()
p.gateway = pay.NewGateway(p.storage)
}
// 初始化模块
func (p *PaymentModule) Init() {
}
// 获取支付平台
func (p *PaymentModule) GetPayPlatform() []*bank.PaymentPlatform {
if p.ptArr == nil {
p.ptArr = []*bank.PaymentPlatform{
bank.Alipay, bank.ChinaPay,
bank.Tenpay, bank.KuaiBill}
}
return p.ptArr
}