Files
jx-callback/business/partner/purchase/jx/localjx/tonglianpay.go
2020-02-26 15:35:25 +08:00

58 lines
1.8 KiB
Go

package localjx
import (
"time"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/baseapi/platformapi/tonglianpayapi"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/auth2/authprovider/weixin"
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/globals/api"
)
func pay4OrderByTL(ctx *jxcontext.Context, order *model.GoodsOrder, vendorPayType string) (orderPay *model.OrderPay, err error) {
payCreatedAt := time.Now()
// param := &wxpayapi.CreateOrderParam{
// OutTradeNo: utils.Int64ToStr(GenPayOrderID(order)),
// Body: getOrderBrief(order),
// NotifyURL: globals.TLPayNotifyURL,
// SpbillCreateIP: ctx.GetRealRemoteIP(),
// TradeType: vendorPayType2WxpayType(vendorPayType),
// TotalFee: int(order.ActualPayPrice),
// TimeStart: wxpayapi.Time2PayTime(payCreatedAt),
// // TimeExpire: wxpayapi.Time2PayTime(payCreatedAt.Add(PayWaitingTime)),
// ProfitSharing: wxpayapi.OptYes,
// }
param := &tonglianpayapi.CreateUnitorderOrderParam{
Trxamt: int(order.ActualPayPrice),
NotifyUrl: globals.TLPayNotifyURL,
Reqsn: order.VendorOrderID,
}
if authInfo, err := ctx.GetV2AuthInfo(); err == nil && authInfo.GetAuthType() == weixin.AuthTypeMini {
param.Acct = authInfo.GetAuthID()
}
result, err := api.TLpayAPI.CreateUnitorderOrder(param)
if err == nil {
orderPay = &model.OrderPay{
PayOrderID: param.Reqsn,
PayType: model.PayTypeTL,
VendorPayType: vendorPayType,
VendorOrderID: order.VendorOrderID,
VendorID: order.VendorID,
Status: 0,
PayCreatedAt: payCreatedAt,
PrepayID: result.TrxID,
CodeURL: utils.LimitUTF8StringLen(result.PayInfo, 3200),
TotalFee: int(order.ActualPayPrice),
}
}
return orderPay, err
}