Files
jx-print/services/print_server/app_server/tonglian_pay.go
邹宗楠 66db5867a4 1
2022-08-25 16:10:01 +08:00

63 lines
1.7 KiB
Go

package app_server
import (
"fmt"
"git.rosy.net.cn/baseapi/platformapi/tonglianpayapi"
"git.rosy.net.cn/jx-print/dao"
userModel "git.rosy.net.cn/jx-print/model"
printModel "git.rosy.net.cn/jx-print/model/app_model"
)
type PrintPay struct {
}
var PrintPayServer = new(PrintPay)
// Pay4Order 支付
func (p *PrintPay) Pay4Order(user *userModel.User, ip string, totalFee int, payType int, vendorPayType, printNo string) (orderPay *printModel.OrderPay, err error) {
if user.OpenId == "" {
return nil, fmt.Errorf("当前用户未微信授权,无法使用微信支付")
}
switch payType {
case printModel.PayTypeWX:
orderPay, err = pay4OrderByWX(user, totalFee, ip, vendorPayType)
if err != nil {
return nil, err
}
orderPay.PrintNo = printNo
if err := dao.InsertPrinterPayRecord(orderPay); err != nil {
return nil, err
}
case printModel.PayTypeTL:
orderPay, err = pay4OrderByTL(user, totalFee, payType, vendorPayType)
if err != nil {
return nil, err
}
orderPay.PrintNo = printNo
if err := dao.InsertPrinterPayRecord(orderPay); err != nil {
return nil, err
}
default:
err = fmt.Errorf("支付方式:%d当前不支持", payType)
}
return orderPay, err
}
// OnTLPayCallback 通联充值回调处理
func (p *PrintPay) OnTLPayCallback(call *tonglianpayapi.CallBackResult) (err error) {
switch call.TrxCode {
case tonglianpayapi.MsgTypePay: // 微信支付回调
err = onTLPayFinished(call)
case tonglianpayapi.MsgTypeRefund: // 微信退款回调
// err = onTLpayRefund(call)
case tonglianpayapi.MsgTypePayZFB: // 支付宝支付回调
// err = onTLpayFinished(call)
case tonglianpayapi.MsgTypeRefundZFB: // 支付宝退款回调
// err = onTLpayRefund(call)
default:
}
return err
}