Quellcode durchsuchen

add wxpay for app

abiao vor 4 Jahren
Ursprung
Commit
494f39651d

+ 19 - 0
go/gopath/src/fohow.com/apps/controllers/pay_controller/pay_exchange_controller.go

@@ -218,6 +218,25 @@ func (self *PayController) payExchange(oId, payWay, tradPwd, returnUrl, source,
 				}
 				self.Data["json"] = &PayData{NeedWx: true, PayData: payData}
 
+			} else if order.Source == order_model.SOURCE_APP {
+				freight := base_config.GetFreight()
+				if order.TotalPrice >= base_config.GetOrderLimit() {
+					freight = int64(0)
+				}
+				order.TotalPrice += freight
+				notifyUrl := fmt.Sprintf("%s/v1/pay/%s/async/%s", beego.AppConfig.String("ApiHost"), EXCHANGE_TARGET, pay_model.PAYWAY_WEIXINPAY)
+				body := fmt.Sprintf("FOHOW玖玖-购买商品")
+				//获取paycode
+				payCode := pay_model.GetPayConfigByDepart(wxUser.Depart, true)
+				payData := wx_mp.GetAppPayData(order.OrderId, order.PaiedPrice, body, notifyUrl, self.Ctx.Input.IP(), payCode)
+
+				//返回数据
+				type PayData struct {
+					NeedWx  bool              `json:"need_wx"`
+					PayData map[string]string `json:"pay_data"`
+				}
+				self.Data["json"] = &PayData{NeedWx: true, PayData: payData}
+
 			} else { //公众号微信支付
 
 				notifyUrl := fmt.Sprintf("%s/v1/pay/%s/async/%s", beego.AppConfig.String("ApiHost"), EXCHANGE_TARGET, pay_model.PAYWAY_WEIXINPAY)

+ 2 - 0
go/gopath/src/fohow.com/apps/models/order_model/order.go

@@ -36,6 +36,8 @@ const (
 	PAY_WAY_INTEGRAl = "integral"  //提货券支付
 	PAY_WAY_CENT     = "cent"      //积分支付
 
+	SOURCE_APP = "xcx"
+
 	SOURCE_XCX     = "xcx"
 	SOURCE_GZH     = "gzh"
 	SOURCE_D5C_SYS = "d5c_sys"

+ 4 - 6
go/gopath/src/fohow.com/conf/app.conf

@@ -42,9 +42,8 @@ AliCDNImgHost = "https://tcfohow.hiwavo.com"
 WxFohowXcxAppId = "wx84f6c33a9fa3977d"
 WxFohowXcxAppSecret = "da2882779e983e2acfb573d01cb1fb7d"
 
-#------------------------------------------------------------App appid
-WxFohowAppAppId = "wx84f6c33a9fa3977d"
-WxFohowAppAppSecret = "da2882779e983e2acfb573d01cb1fb7d"
+#------------------------------------------------------------Androd App appid
+WxFohowAndroAppAppId = "wx84f6c33a9fa3977d"
 
 #------------------------------------------------------------
 JsSDKConfigTicketAppId = "wxbddd1caf692557c4"
@@ -170,9 +169,8 @@ AliCDNImgHost = "https://cfohow.hiwavo.com"
 WxFohowXcxAppId = "wx84f6c33a9fa3977d"
 WxFohowXcxAppSecret = "da2882779e983e2acfb573d01cb1fb7d"
 
-#------------------------------------------------------------App appid
-WxFohowAppAppId = "wx84f6c33a9fa3977d"
-WxFohowAppAppSecret = "da2882779e983e2acfb573d01cb1fb7d"
+#------------------------------------------------------------Androd App appid
+WxFohowAndroAppAppId = "wx84f6c33a9fa3977d"
 
 #------------------------------------------------------------
 JsSDKConfigTicketAppId = "wx2479f58240be58aa"

+ 3 - 3
go/gopath/src/fohow.com/libs/wx_mp/pay.go

@@ -163,8 +163,8 @@ func GetAppPayData(outTradeNo string, totalPrice int64, body, notifyUrl, remoteI
 // 2016/07/07 11:07:02 [pay_controller.go:303] [W] 生成微信支付订单号:DS20160707503D648C,传的参数:openid=o7lR2txmVPh1pSPjIvto2LO_XVYU,
 // 价格:9.90, 名称:希客购, 客户端IP=119.132.31.240;生成的参数:%!v(MISSING)
 func getAppPayPrepayId(outTradeNo string, totalPrice int64, body, notifyUrl, remoteIp, payCode string, limit bool) (prepayId string) {
-	appId := beego.AppConfig.String("WxFohowAppAppId") //获取App渠道appId
-	mechantInfo := GetMechantInfo(payCode)             //商户号配置信息
+	appId := beego.AppConfig.String("WxFohowAndroAppAppId") //获取App渠道appId
+	mechantInfo := GetMechantInfo(payCode)                  //商户号配置信息
 	mchProxy := getMchProxyInitClient(payCode)
 
 	outTradeNo = fmt.Sprintf("%s_%d", outTradeNo, time.Now().Unix())
@@ -202,7 +202,7 @@ func getAppPayPrepayId(outTradeNo string, totalPrice int64, body, notifyUrl, rem
 
 // 获取jsSDK微信支付需要的数据
 func GetPayData(openid, outTradeNo string, totalPrice int64, body, notifyUrl, remoteIp, payCode string) (ret map[string]string) {
-	appId := beego.AppConfig.String("WxFohowXcxAppId") //获取小程序渠道appId
+	appId := beego.AppConfig.String(" ") //获取小程序渠道appId
 	mechantInfo := GetMechantInfo(payCode)
 	prepayId := getPayPrepayId(openid, outTradeNo, totalPrice, body, notifyUrl, remoteIp, payCode, true)
 	u := uuid.NewV4().String()