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 }