Commit 3f227fc3 authored by wangp's avatar wangp

lakala-wxjsapi-alipay

parent ce89200b
...@@ -4,6 +4,8 @@ import ( ...@@ -4,6 +4,8 @@ import (
"fmt" "fmt"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"system_pay/controller/base" "system_pay/controller/base"
"system_pay/models"
"system_pay/repository/pay"
) )
// 卡拉卡统一支付回调 // 卡拉卡统一支付回调
...@@ -36,24 +38,20 @@ func (l *PayController) WxNotice(c *gin.Context) { ...@@ -36,24 +38,20 @@ func (l *PayController) WxNotice(c *gin.Context) {
//} //}
//fmt.Println(ph2) //fmt.Println(ph2)
//ph := new(models.WxNoticeInput) ph := new(models.WxNoticeInput)
//err := c.ShouldBindJSON(ph) err := c.ShouldBindJSON(ph)
//if err != nil { if err != nil {
// response := new(base.ResponseDataWxNotice)
// response.Code = "FAIL"
// response.Message = "执行失败2"
// base.ResponseWxNotice(c, response)
// return
//}
////fmt.Println(ph)
//
//// 拉卡拉统一支付微信回调
//response, err := pay.WxNotice(ph)
//
//fmt.Println("拉卡拉微信回调end")
response := new(base.ResponseDataWxNotice) response := new(base.ResponseDataWxNotice)
response.Code = "SUCCESS" response.Code = "FAIL"
response.Message = "执行成功" response.Message = "执行失败2"
base.ResponseWxNotice(c, response)
return
}
//fmt.Println(ph)
// 拉卡拉统一支付微信回调
response, err := pay.WxNotice(ph)
fmt.Println("拉卡拉微信回调end")
base.ResponseWxNotice(c, response) base.ResponseWxNotice(c, response)
} }
...@@ -26,7 +26,7 @@ type PayController struct { ...@@ -26,7 +26,7 @@ type PayController struct {
func (l *PayController) UnifiedOrder(c *gin.Context) { func (l *PayController) UnifiedOrder(c *gin.Context) {
ph := new(models.PlaceAnOrderParamInput) ph := new(models.PlaceAnOrderParamInput)
fmt.Println("ContentType="+c.ContentType()) //fmt.Println("ContentType="+c.ContentType())
err := c.ShouldBindJSON(ph) err := c.ShouldBindJSON(ph)
if err != nil { if err != nil {
zap.L().Error(err.Error()) zap.L().Error(err.Error())
...@@ -34,8 +34,13 @@ func (l *PayController) UnifiedOrder(c *gin.Context) { ...@@ -34,8 +34,13 @@ func (l *PayController) UnifiedOrder(c *gin.Context) {
return return
} }
// clientIp ip
//ip = c.Ctx.Input.IP()
ip := c.ClientIP()
fmt.Println("ip="+ip)
// 拉卡拉统一支付 // 拉卡拉统一支付
rtn, err := pay.UnifiedOrder(ph) rtn, err := pay.UnifiedOrder(ph, ip)
if err != nil { if err != nil {
zap.L().Error(err.Error()) zap.L().Error(err.Error())
//base.ResponseErrorWithMsg(c, base.ServerError) //base.ResponseErrorWithMsg(c, base.ServerError)
......
package jwt package jwt
import (
"fmt"
"github.com/gin-gonic/gin"
"system_pay/controller/base"
"system_pay/utils"
)
//var DataAnalysisCh chan models.DataAnalysisModel //var DataAnalysisCh chan models.DataAnalysisModel
func init() { func init() {
...@@ -15,51 +8,51 @@ func init() { ...@@ -15,51 +8,51 @@ func init() {
} }
// JWTAuthMiddleWare 基于JWT的认证中间件 // JWTAuthMiddleWare 基于JWT的认证中间件
func JWTAuthMiddleWare() func(c *gin.Context) { //func JWTAuthMiddleWare() func(c *gin.Context) {
return func(c *gin.Context) { // return func(c *gin.Context) {
//客户端携带Token放在请求头 // //客户端携带Token放在请求头
authHeader := c.Request.Header.Get("Authorization") // authHeader := c.Request.Header.Get("Authorization")
if authHeader == "" { // if authHeader == "" {
base.ResponseErrorWithMsg(c, base.AuthorizationEmpty) // base.ResponseErrorWithMsg(c, base.AuthorizationEmpty)
c.Abort() // c.Abort()
return // return
} // }
//
mc, err := utils.ParseToken(authHeader) // mc, err := utils.ParseToken(authHeader)
if err != nil { // if err != nil {
base.ResponseErrorWithMsg(c, base.AuthorizationEmpty) // base.ResponseErrorWithMsg(c, base.AuthorizationEmpty)
c.Abort() // c.Abort()
return // return
} // }
//
// des解密 // // des解密
phoneMob := utils.ToDesDecrypt(mc.PhoneMob) // phoneMob := utils.ToDesDecrypt(mc.PhoneMob)
userId := utils.ToDesDecrypt(mc.UserId) // userId := utils.ToDesDecrypt(mc.UserId)
userName := utils.ToDesDecrypt(mc.UserName) // userName := utils.ToDesDecrypt(mc.UserName)
//hospitalCode := utils.ToDesDecrypt(mc.HospitalCode) // //hospitalCode := utils.ToDesDecrypt(mc.HospitalCode)
//chainCode := utils.ToDesDecrypt(mc.ChainCode) // //chainCode := utils.ToDesDecrypt(mc.ChainCode)
//hospitalID := utils.ToDesDecrypt(mc.HospitalID) // //hospitalID := utils.ToDesDecrypt(mc.HospitalID)
//hospitalName := utils.ToDesDecrypt(mc.HospitalName) // //hospitalName := utils.ToDesDecrypt(mc.HospitalName)
//ChainID := utils.ToDesDecrypt(mc.ChainID) // //ChainID := utils.ToDesDecrypt(mc.ChainID)
// 将当前请求的username信息保存到请求的上下文c上 // // 将当前请求的username信息保存到请求的上下文c上
c.Set("phone_mob", phoneMob) // c.Set("phone_mob", phoneMob)
fmt.Println(phoneMob) // fmt.Println(phoneMob)
c.Set("user_id", userId) // c.Set("user_id", userId)
fmt.Println(userId) // fmt.Println(userId)
c.Set("user_name", userName) // c.Set("user_name", userName)
fmt.Println(userName) // fmt.Println(userName)
//c.Set("hospital_code", hospitalCode) // //c.Set("hospital_code", hospitalCode)
//c.Set("chain_code", chainCode) // //c.Set("chain_code", chainCode)
//c.Set("hospital_id", hospitalID) // //c.Set("hospital_id", hospitalID)
//c.Set("hospital_name", hospitalName) // //c.Set("hospital_name", hospitalName)
//c.Set("chain_id", ChainID) // //c.Set("chain_id", ChainID)
// 后续的处理函数可以用过c.Get("username")来获取当前请求的用户信息 // // 后续的处理函数可以用过c.Get("username")来获取当前请求的用户信息
//
// 埋点生产者 // // 埋点生产者
//BuriedProducer(c, hospitalCode, hospitalName, hospitalID) // //BuriedProducer(c, hospitalCode, hospitalName, hospitalID)
c.Next() // c.Next()
} // }
} //}
// 埋点消费者 // 埋点消费者
//func DataAnalysisChannel() { //func DataAnalysisChannel() {
......
...@@ -24,7 +24,7 @@ import ( ...@@ -24,7 +24,7 @@ import (
) )
// 拉卡拉支付 // 拉卡拉支付
func UnifiedOrder(input *models.PlaceAnOrderParamInput) (interface{}, error) { func UnifiedOrder(input *models.PlaceAnOrderParamInput, ip string) (interface{}, error) {
//if input.ChainCode=="" || input.HospitalCode=="" || input.VendorId=="" || seller_id=="" { //if input.ChainCode=="" || input.HospitalCode=="" || input.VendorId=="" || seller_id=="" {
// return nil, errors.New("输入项为空") // return nil, errors.New("输入项为空")
...@@ -35,7 +35,7 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput) (interface{}, error) { ...@@ -35,7 +35,7 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput) (interface{}, error) {
orderID := GetUID() orderID := GetUID()
beego.Info("AttachInfo: ", input.AttachInfo) //beego.Info("AttachInfo: ", input.AttachInfo)
attachMap := make(map[string]interface{}, 0) attachMap := make(map[string]interface{}, 0)
attachMap["store_sn"] = input.StoreSn attachMap["store_sn"] = input.StoreSn
...@@ -64,11 +64,18 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput) (interface{}, error) { ...@@ -64,11 +64,18 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput) (interface{}, error) {
//数据重组 - start //数据重组 - start
data := make(map[string]interface{}) data := make(map[string]interface{})
var url string
if false {
//聚合收银台(微信H5+支付宝H5)
url = "https://test.wsmsd.cn/sit/api/v3/ccss/counter/order/create" //聚合收银台
data["req_time"] = "20230626100000" data["req_time"] = "20230626100000"
data["version"] = "3.0" data["version"] = "3.0"
data["out_org_code"] = "OP00000003" data["out_org_code"] = "OP00000003"
input.ReturnURL = "https://test.pet-dbc.cn" //input.ReturnURL = "https://test.pet-dbc.cn"
// 构造回调url // 构造回调url
input.NoticeURL = GetNoticeURL(input.SourceCode) input.NoticeURL = GetNoticeURL(input.SourceCode)
...@@ -81,12 +88,52 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput) (interface{}, error) { ...@@ -81,12 +88,52 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput) (interface{}, error) {
data2["term_no"] = "29034705" data2["term_no"] = "29034705"
//data2["auth_code"] = "135178236713755038" //delete ? //data2["auth_code"] = "135178236713755038" //delete ?
//data2["total_amount"] = "1"
data2["total_amount"] = input.GoodsPrice
//data2["out_trade_no"] = orderID //随机生成的订单号 //商户交易流水号
//data2["out_trade_no"] = RandomString(32)
data2["out_order_no"] = orderID //随机生成的订单号 //商户订单号
//data2["out_order_no"] = RandomString(32)
//data2["out_trade_no"] = input.AttachInfo
//data2["out_order_no"] = input.AttachInfo
data2["counter_param"] = "{\"pay_mode\":\"ALIPAY\"}"
//data2["counter_param"] = "{\"pay_mode\":\"WECHAT\"}"
data2["order_efficient_time"] = "20230630235959" //订单有效期 格式yyyyMMddHHmmss,最大支持下单时间+2天
data2["notify_url"] = input.NoticeURL //订单支付成功后商户接收订单通知的地址 http://xxx.xxx.com
data2["callback_url"] = input.ReturnURL //客户端下单完成支付后返回的商户网页跳转地址
data2["order_info"] = "必康测试订单标题2" //订单标题,在使用收银台扫码支付时必输入,交易时送往账户端
//data2["goods_mark"] = input.AttachInfo //商品信息标识 (1:含商品信息,不填默认不含商品信息)
data["req_data"] = make(map[string]interface{})
data["req_data"] = data2
} else {
//聚合主扫(微信JSAPI+微信小程序)
url = "https://test.wsmsd.cn/sit/api/v3/labs/trans/preorder" //聚合主扫
data["req_time"] = "20230626100000"
data["version"] = "3.0"
data["out_org_code"] = "OP00000003"
//input.ReturnURL = "https://test.pet-dbc.cn"
// 构造回调url
input.NoticeURL = GetNoticeURL(input.SourceCode)
// 传递给支付渠道的
//p.ServeNoticeUrl = noticeURLx
data2 := make(map[string]interface{})
//data2["merchant_no"] = "8222900701107M5"
data2["merchant_no"] = "8221210701101SB"
data2["term_no"] = "29034705"
//data2["auth_code"] = "135178236713755038" //delete ?
//data2["total_amount"] = "1" //data2["total_amount"] = "1"
data2["total_amount"] = input.GoodsPrice data2["total_amount"] = input.GoodsPrice
//data2["out_trade_no"] = orderID //随机生成的订单 data2["out_trade_no"] = orderID //随机生成的订单号 //商户交易流水
//data2["out_trade_no"] = RandomString(32) //data2["out_trade_no"] = RandomString(32)
data2["out_order_no"] = orderID //随机生成的订单号 //data2["out_order_no"] = orderID //随机生成的订单号 //商户订单号
//data2["out_order_no"] = RandomString(32) //data2["out_order_no"] = RandomString(32)
//data2["out_trade_no"] = input.AttachInfo //data2["out_trade_no"] = input.AttachInfo
//data2["out_order_no"] = input.AttachInfo //data2["out_order_no"] = input.AttachInfo
...@@ -100,12 +147,24 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput) (interface{}, error) { ...@@ -100,12 +147,24 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput) (interface{}, error) {
data2["order_info"] = "必康测试订单标题2" //订单标题,在使用收银台扫码支付时必输入,交易时送往账户端 data2["order_info"] = "必康测试订单标题2" //订单标题,在使用收银台扫码支付时必输入,交易时送往账户端
//data2["goods_mark"] = input.AttachInfo //商品信息标识 (1:含商品信息,不填默认不含商品信息) //data2["goods_mark"] = input.AttachInfo //商品信息标识 (1:含商品信息,不填默认不含商品信息)
data2["account_type"] = "WECHAT" //钱包类型
data2["trans_type"] = "51" //接入方式
//地址位置信息
data3 := make(map[string]interface{})
data3["request_ip"] = ip
data2["location_info"] = make(map[string]interface{})
data2["location_info"] = data3
data["req_data"] = make(map[string]interface{}) data["req_data"] = make(map[string]interface{})
data["req_data"] = data2 data["req_data"] = data2
}
//数据重组 - end //数据重组 - end
fmt.Println("拉卡拉输入参数") fmt.Println("拉卡拉输入参数")
fmt.Println(data) fmt.Println(data)
fmt.Println("拉卡拉接口url")
fmt.Println(url)
// 插入下单请求参数 // 插入下单请求参数
err = InsertPayBillDetailRequestBody(tx, billID, data) err = InsertPayBillDetailRequestBody(tx, billID, data)
...@@ -113,13 +172,6 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput) (interface{}, error) { ...@@ -113,13 +172,6 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput) (interface{}, error) {
return nil, err return nil, err
} }
//ok, err := wechat.VerifySign(WxKey, wechat.SignType_MD5, wxResponse)
//if err != nil || !ok {
// beego.Error("验签失败, 订单号是: ", orderID)
// beego.Error("wx response: ", wxResponse)
// return nil, err
//}
data_json, err := json.Marshal(data) data_json, err := json.Marshal(data)
if err != nil { if err != nil {
//this.Data["json"] = utils.CheckError(errors.New("Map转化为byte数组失败"),"异常") //this.Data["json"] = utils.CheckError(errors.New("Map转化为byte数组失败"),"异常")
...@@ -127,9 +179,9 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput) (interface{}, error) { ...@@ -127,9 +179,9 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput) (interface{}, error) {
return nil, err return nil, err
} }
//url := "https://test.wsmsd.cn/sit/api/v3/labs/trans/preorder" //聚合主扫url //url := "https://test.wsmsd.cn/sit/api/v3/labs/trans/preorder" //聚合主扫
//url := "https://test.wsmsd.cn/sit/api/v3/labs/trans/micropay" //聚合被扫url //url := "https://test.wsmsd.cn/sit/api/v3/labs/trans/micropay" //聚合被扫
url := "https://test.wsmsd.cn/sit/api/v3/ccss/counter/order/create" //拉卡拉收银台订单创建url //url := "https://test.wsmsd.cn/sit/api/v3/ccss/counter/order/create" //聚合收银台
//调拉卡拉接口 //调拉卡拉接口
err, m_web_url, lakala_rtn := lakala_post(url, data_json) err, m_web_url, lakala_rtn := lakala_post(url, data_json)
...@@ -151,115 +203,7 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput) (interface{}, error) { ...@@ -151,115 +203,7 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput) (interface{}, error) {
return response, nil return response, nil
} }
func UnifiedOrder2(input *models.PlaceAnOrderParamInput) (interface{}, error) {
//Params
//var input model.PlaceAnOrderParamInput
//if err := json.Unmarshal(this.Ctx.Input.RequestBody, &input); err != nil {
// this.Data["json"] = utils.CheckError(err, "")
// this.ServeJSON()
// return
// //this.Data["json"] = utils.CheckError(errors.New(languages.ParamsError), languages.SystemError)
// //this.ServeJSON()
// //return
//}
//
////validate
//if err := input.ValidPlaceAnOrderParamInput(); err != nil {
// this.Data["json"] = utils.CheckError(err,"")
// this.ServeJSON()
// return
//}
//if input.PayType==1 {
//
//}
data := make(map[string]interface{})
data["req_time"] = "20220714160009"
data["version"] = "3.0"
data["out_org_code"] = "OP00000003"
data2 := make(map[string]interface{})
data2["merchant_no"] = "822290070111135"
data2["term_no"] = "29034705"
//data2["out_trade_no"] = "FD660E1FAA3A4470933CDEDAE1EC1D8E"
data2["out_trade_no"] = "FD660E1FAA3A4470933CDEDAE1EC1D8E"
data2["auth_code"] = "135178236713755038"
data2["total_amount"] = "123"
//data2["out_order_no"] = "08F4542EEC6A4497BC419161747A92FA"
data2["out_order_no"] = "08F4542EEC6A4497BC419161747A92FA"
data["req_data"] = make(map[string]interface{})
data["req_data"] = data2
data3 := make(map[string]interface{})
data3["request_ip"] = "10.176.1.192"
data3["location"] = "+37.123456789,-121.123456789"
data2["location_info"] = make(map[string]interface{})
data2["location_info"] = data3
//data2["out_order_no"] = input.AttachInfo //商户订单号
//data2["total_amount"] = input.AttachInfo //订单金额,单位:分
//data2["order_efficient_time"] = input.AttachInfo //订单有效期 格式yyyyMMddHHmmss,最大支持下单时间+2天
//data2["notify_url"] = input.AttachInfo //订单支付成功后商户接收订单通知的地址 http://xxx.xxx.com
//data2["callback_url"] = input.AttachInfo //商户订单号
//data2["order_info"] = input.AttachInfo //订单标题,在使用收银台扫码支付时必输入,交易时送往账户端
//data2["goods_mark"] = input.AttachInfo //商品信息标识 (1:含商品信息,不填默认不含商品信息)
//var data model.LakalaParamInput
//data.Version = "3.0"
//data.ReqTime = "20220714160009"
//data.ReqData.OutOrderNo = input.AttachInfo //商户订单号
////data.ReqData.MerchantNo = //银联商户号
//data.ReqData.TotalAmount = input.GoodsPrice //订单金额,单位:分
////data.ReqData.OrderEfficientTime = //订单有效期 格式yyyyMMddHHmmss,最大支持下单时间+2天
//data.ReqData.NotifyUrl = input.NoticeURL //订单支付成功后商户接收订单通知的地址 http://xxx.xxx.com
//data.ReqData.CallbackUrl = input.ReturnURL //客户端下单完成支付后返回的商户网页跳转地址
////data.ReqData.OrderInfo = input.OrderId //订单标题,在使用收银台扫码支付时必输入,交易时送往账户端
//data.ReqData.GoodsMark = input.GoodsDes //商品信息标识 (1:含商品信息,不填默认不含商品信息)
//数据重组 - end
////var data = input.ReqData
//fmt.Println(111)
//fmt.Println(data)
data_json, err := json.Marshal(data)
if err != nil {
//this.Data["json"] = utils.CheckError(errors.New("Map转化为byte数组失败"),"异常")
//this.ServeJSON()
return nil, err
}
//url := "https://test.wsmsd.cn/sit/api/v3/labs/trans/preorder" //聚合主扫url
url := "https://test.wsmsd.cn/sit/api/v3/labs/trans/micropay" //聚合被扫url
//url := "https://test.wsmsd.cn/sit/api/v3/ccss/counter/order/create" //拉卡拉收银台订单创建url
//调拉卡拉接口
err, _, _ = lakala_post(url, data_json)
if err != nil {
//this.Data["json"] = utils.CheckError(err,"拉卡拉错误")
//this.ServeJSON()
return nil, err
}
return nil, nil
//response := make(map[string]string)
//response["m_web_url"] = m_web_url
//调拉卡拉接口
//err = lakala_post(url, data_json)
//if err != nil {
// this.Data["json"] = utils.CheckError(err,"拉卡拉错误")
// this.ServeJSON()
// return
//}
//
//this.Data["json"] = utils.Success(nil)
//this.ServeJSON()
}
func lakala_post(url string, data_json []byte) (error, string, interface{}) { func lakala_post(url string, data_json []byte) (error, string, interface{}) {
...@@ -423,6 +367,7 @@ func GetNoticeURL(sourceCode uint8) string { ...@@ -423,6 +367,7 @@ func GetNoticeURL(sourceCode uint8) string {
//domainName := beego.AppConfig.String("DomainName") //domainName := beego.AppConfig.String("DomainName")
domainName := setting.Conf.PayUrl.DomainName domainName := setting.Conf.PayUrl.DomainName
//domainName = "http://tpay-v2.pet-dbc.cn:14880"; //domainName = "http://tpay-v2.pet-dbc.cn:14880";
return domainName + "/api/v1/pay/wx_notice"
// <= 5 是微信 // <= 5 是微信
if sourceCode < 5 { if sourceCode < 5 {
...@@ -577,3 +522,122 @@ func GetUID() string { ...@@ -577,3 +522,122 @@ func GetUID() string {
id := fmt.Sprintf("%s", u4) id := fmt.Sprintf("%s", u4)
return strings.Replace(id, "-", "", -1) return strings.Replace(id, "-", "", -1)
} }
//聚合被扫
func UnifiedOrder2(input *models.PlaceAnOrderParamInput) (interface{}, error) {
//Params
//var input model.PlaceAnOrderParamInput
//if err := json.Unmarshal(this.Ctx.Input.RequestBody, &input); err != nil {
// this.Data["json"] = utils.CheckError(err, "")
// this.ServeJSON()
// return
// //this.Data["json"] = utils.CheckError(errors.New(languages.ParamsError), languages.SystemError)
// //this.ServeJSON()
// //return
//}
//
////validate
//if err := input.ValidPlaceAnOrderParamInput(); err != nil {
// this.Data["json"] = utils.CheckError(err,"")
// this.ServeJSON()
// return
//}
//if input.PayType==1 {
//
//}
data := make(map[string]interface{})
data["req_time"] = "20220714160009"
data["version"] = "3.0"
data["out_org_code"] = "OP00000003"
data2 := make(map[string]interface{})
data2["merchant_no"] = "822290070111135"
data2["term_no"] = "29034705"
//data2["out_trade_no"] = "FD660E1FAA3A4470933CDEDAE1EC1D8E"
data2["out_trade_no"] = "FD660E1FAA3A4470933CDEDAE1EC1D8E"
data2["auth_code"] = "135178236713755038"
data2["total_amount"] = "123"
//data2["out_order_no"] = "08F4542EEC6A4497BC419161747A92FA"
data2["out_order_no"] = "08F4542EEC6A4497BC419161747A92FA"
data["req_data"] = make(map[string]interface{})
data["req_data"] = data2
data3 := make(map[string]interface{})
data3["request_ip"] = "10.176.1.192"
data3["location"] = "+37.123456789,-121.123456789"
data2["location_info"] = make(map[string]interface{})
data2["location_info"] = data3
//data2["out_order_no"] = input.AttachInfo //商户订单号
//data2["total_amount"] = input.AttachInfo //订单金额,单位:分
//data2["order_efficient_time"] = input.AttachInfo //订单有效期 格式yyyyMMddHHmmss,最大支持下单时间+2天
//data2["notify_url"] = input.AttachInfo //订单支付成功后商户接收订单通知的地址 http://xxx.xxx.com
//data2["callback_url"] = input.AttachInfo //商户订单号
//data2["order_info"] = input.AttachInfo //订单标题,在使用收银台扫码支付时必输入,交易时送往账户端
//data2["goods_mark"] = input.AttachInfo //商品信息标识 (1:含商品信息,不填默认不含商品信息)
//var data model.LakalaParamInput
//data.Version = "3.0"
//data.ReqTime = "20220714160009"
//data.ReqData.OutOrderNo = input.AttachInfo //商户订单号
////data.ReqData.MerchantNo = //银联商户号
//data.ReqData.TotalAmount = input.GoodsPrice //订单金额,单位:分
////data.ReqData.OrderEfficientTime = //订单有效期 格式yyyyMMddHHmmss,最大支持下单时间+2天
//data.ReqData.NotifyUrl = input.NoticeURL //订单支付成功后商户接收订单通知的地址 http://xxx.xxx.com
//data.ReqData.CallbackUrl = input.ReturnURL //客户端下单完成支付后返回的商户网页跳转地址
////data.ReqData.OrderInfo = input.OrderId //订单标题,在使用收银台扫码支付时必输入,交易时送往账户端
//data.ReqData.GoodsMark = input.GoodsDes //商品信息标识 (1:含商品信息,不填默认不含商品信息)
//数据重组 - end
////var data = input.ReqData
//fmt.Println(111)
//fmt.Println(data)
data_json, err := json.Marshal(data)
if err != nil {
//this.Data["json"] = utils.CheckError(errors.New("Map转化为byte数组失败"),"异常")
//this.ServeJSON()
return nil, err
}
//url := "https://test.wsmsd.cn/sit/api/v3/labs/trans/preorder" //聚合主扫
url := "https://test.wsmsd.cn/sit/api/v3/labs/trans/micropay" //聚合被扫
//url := "https://test.wsmsd.cn/sit/api/v3/ccss/counter/order/create" //聚合收银台
//调拉卡拉接口
err, _, _ = lakala_post(url, data_json)
if err != nil {
//this.Data["json"] = utils.CheckError(err,"拉卡拉错误")
//this.ServeJSON()
return nil, err
}
return nil, nil
//response := make(map[string]string)
//response["m_web_url"] = m_web_url
//调拉卡拉接口
//err = lakala_post(url, data_json)
//if err != nil {
// this.Data["json"] = utils.CheckError(err,"拉卡拉错误")
// this.ServeJSON()
// return
//}
//
//this.Data["json"] = utils.Success(nil)
//this.ServeJSON()
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment