Commit 1777f249 authored by maxiaoliang's avatar maxiaoliang

微信支付同步代码

parent 91fb7fda
...@@ -21,8 +21,8 @@ public class Constant { ...@@ -21,8 +21,8 @@ public class Constant {
public static String a = "D0EV7FZL45A5DVKD"; public static String a = "D0EV7FZL45A5DVKD";
public static String b = "E2Y1YREK2BYDAC5B"; public static String b = "E2Y1YREK2BYDAC5B";
public static String WX_APPID = "wxde96f02f43d3fbe1"; public static String WX_APPID = "wx38900bc915900f5c";
public static String WX_APPKEY = "72528ed77036e5ff7e2de846f6fa492c"; public static String WX_APPKEY = "c15ac03e5797aee76cac1da3336276f8";
public static String PAY_RESULT = "pay_result"; public static String PAY_RESULT = "pay_result";
public static String CHOSSEE_ADDRESS_RESULT = "chosse_address_result"; public static String CHOSSEE_ADDRESS_RESULT = "chosse_address_result";
......
...@@ -178,6 +178,13 @@ public interface IUserInfoApi { ...@@ -178,6 +178,13 @@ public interface IUserInfoApi {
@POST(NetConfig.User.URL_PAY_RIGHTS_ORDER) @POST(NetConfig.User.URL_PAY_RIGHTS_ORDER)
Observable<Response<AliPayEntity>> aliPayRights(@Query("returnUrl") String returnUrl,@Query("goodsId") String goodsId, @Query("payType") String payType, @Query("phone") String phone,@Query("rechargeType") String rechargeType,@Query("skill") Boolean skill,@Query("outTradeNo") String outTradeNo); Observable<Response<AliPayEntity>> aliPayRights(@Query("returnUrl") String returnUrl,@Query("goodsId") String goodsId, @Query("payType") String payType, @Query("phone") String phone,@Query("rechargeType") String rechargeType,@Query("skill") Boolean skill,@Query("outTradeNo") String outTradeNo);
/**
* 权益微信支付
*
* @return
*/
@POST(NetConfig.User.URL_PAY_RIGHTS_ORDER)
Observable<Response<WeChatPayEntity>> wechatRights(@Query("returnUrl") String returnUrl,@Query("goodsId") String goodsId, @Query("payType") String payType, @Query("phone") String phone,@Query("rechargeType") String rechargeType,@Query("skill") Boolean skill,@Query("outTradeNo") String outTradeNo);
/** /**
* 权益支付宝支付 * 权益支付宝支付
...@@ -187,4 +194,12 @@ public interface IUserInfoApi { ...@@ -187,4 +194,12 @@ public interface IUserInfoApi {
@POST(NetConfig.User.URL_PAY_RIGHTS_ORDER) @POST(NetConfig.User.URL_PAY_RIGHTS_ORDER)
Observable<Response<AliPayEntity>> aliPayRights(@Query("returnUrl") String returnUrl,@Query("goodsId") String goodsId, @Query("payType") String payType, @Query("phone") String phone,@Query("rechargeType") String rechargeType,@Query("skill") Boolean skill,@Query("outTradeNo") String outTradeNo,@Query("couponId") String couponId,@Query("mobileOp") String mobileOp); Observable<Response<AliPayEntity>> aliPayRights(@Query("returnUrl") String returnUrl,@Query("goodsId") String goodsId, @Query("payType") String payType, @Query("phone") String phone,@Query("rechargeType") String rechargeType,@Query("skill") Boolean skill,@Query("outTradeNo") String outTradeNo,@Query("couponId") String couponId,@Query("mobileOp") String mobileOp);
/**
* 微信支付
*
* @return
*/
@POST(NetConfig.User.URL_PAY_RIGHTS_ORDER)
Observable<Response<WeChatPayEntity>> wechatPayRights(@Query("returnUrl") String returnUrl,@Query("goodsId") String goodsId, @Query("payType") String payType, @Query("phone") String phone,@Query("rechargeType") String rechargeType,@Query("skill") Boolean skill,@Query("outTradeNo") String outTradeNo,@Query("couponId") String couponId,@Query("mobileOp") String mobileOp);
} }
package com.zxhl.cms.net.model.uc package com.zxhl.cms.net.model.uc
class WeChatPayEntity { class WeChatPayEntity {
var payType:String?=""
var wakeup: WechatWakeup? = null var wakeup: WechatWakeup? = null
//{"timeStamp":"1563196959","packageValue":"Sign=WXPay","appId":"wx08a4fadca0a039bb", //{"timeStamp":"1563196959","packageValue":"Sign=WXPay","appId":"wx08a4fadca0a039bb",
......
...@@ -41,7 +41,7 @@ object WeChatPay { ...@@ -41,7 +41,7 @@ object WeChatPay {
/** /**
* 微信原生支付和连连支付走这个方法 * 微信原生支付和连连支付走这个方法
*/ */
fun startWeChatPay(result: WeChatPayEntity,paytype:String) { fun startWeChatPay(result: WeChatPayEntity?,paytype:String) {
if(TextUtils.isEmpty(Constant.WX_APPID)){ if(TextUtils.isEmpty(Constant.WX_APPID)){
EventUtils.onEvent("member_page_pay_fail", "WX_APPID is null") EventUtils.onEvent("member_page_pay_fail", "WX_APPID is null")
Utils.showToast(AppContext.get(), "暂不支持微信支付") Utils.showToast(AppContext.get(), "暂不支持微信支付")
...@@ -60,6 +60,7 @@ object WeChatPay { ...@@ -60,6 +60,7 @@ object WeChatPay {
} }
private fun wx2(result: WeChatPayEntity?,paytype: String) { private fun wx2(result: WeChatPayEntity?,paytype: String) {
Log.e("MXL","Paytype:"+paytype)
if(TextUtils.equals(paytype,"2")){ if(TextUtils.equals(paytype,"2")){
try { try {
if (result != null) { if (result != null) {
......
...@@ -26,6 +26,7 @@ import com.zxhl.cms.net.model.box.MobileOpEntity ...@@ -26,6 +26,7 @@ import com.zxhl.cms.net.model.box.MobileOpEntity
import com.zxhl.cms.net.model.qy.CouponsEntity import com.zxhl.cms.net.model.qy.CouponsEntity
import com.zxhl.cms.net.model.uc.AliPayEntity import com.zxhl.cms.net.model.uc.AliPayEntity
import com.zxhl.cms.net.model.uc.PayResultEntity import com.zxhl.cms.net.model.uc.PayResultEntity
import com.zxhl.cms.net.model.uc.WeChatPayEntity
import com.zxhl.cms.net.model.video.MemberEntity import com.zxhl.cms.net.model.video.MemberEntity
import com.zxhl.cms.pay.H5PayUtil import com.zxhl.cms.pay.H5PayUtil
import com.zxhl.cms.pay.PaymentConfig import com.zxhl.cms.pay.PaymentConfig
...@@ -229,17 +230,32 @@ class RechargeActivity : BaseActivity(), OnRecycleItemClickListener<MemberEntity ...@@ -229,17 +230,32 @@ class RechargeActivity : BaseActivity(), OnRecycleItemClickListener<MemberEntity
isClickPayBtn = true isClickPayBtn = true
mLoading?.setLoading("请稍后...") mLoading?.setLoading("请稍后...")
mLoading?.show() mLoading?.show()
mPresenter?.requestRightsAliPay( Log.e("MXL","s"+pay_type)
"xxsqshop://recharge", if(pay_type==2){
goodsID.toString(), mPresenter?.requestWechatPayOrder( "xxsqshop://recharge",
pay_type.toString(), goodsID.toString(),
phoneNumber, pay_type.toString(),
"8080", phoneNumber,
false, "8080",
"", false,
couponsentity?.id, "",
mobileOp couponsentity?.id,
) mobileOp)
}else{
mPresenter?.requestRightsAliPay(
"xxsqshop://recharge",
goodsID.toString(),
pay_type.toString(),
phoneNumber,
"8080",
false,
"",
couponsentity?.id,
mobileOp
)
}
} }
} }
...@@ -254,6 +270,7 @@ class RechargeActivity : BaseActivity(), OnRecycleItemClickListener<MemberEntity ...@@ -254,6 +270,7 @@ class RechargeActivity : BaseActivity(), OnRecycleItemClickListener<MemberEntity
} }
override fun requestOrderSuc(result: AliPayEntity) { override fun requestOrderSuc(result: AliPayEntity) {
Log.e("MXL","pay_type"+pay_type)
if (pay_type == PaymentConfig.MIN_PAY_PROGRAM) { if (pay_type == PaymentConfig.MIN_PAY_PROGRAM) {
SettingPreference.setOutTradeNo(result?.outTradeNo) SettingPreference.setOutTradeNo(result?.outTradeNo)
JumpUtils.h5Jump("https://api.minpayment.com/pay.do?sendMsg=" + result.wakeup) JumpUtils.h5Jump("https://api.minpayment.com/pay.do?sendMsg=" + result.wakeup)
...@@ -325,12 +342,24 @@ class RechargeActivity : BaseActivity(), OnRecycleItemClickListener<MemberEntity ...@@ -325,12 +342,24 @@ class RechargeActivity : BaseActivity(), OnRecycleItemClickListener<MemberEntity
} }
}) })
} }
} else { }else if(pay_type==PaymentConfig.WECHAT_PAY ) {
if (result.outTradeNo.isNullOrEmpty()) {
EventUtils.onEvent("wechat_pay_error")
showResultLoading(false)
}else{
}
}
else {
showToast("暂不支持") showToast("暂不支持")
EventUtils.onEvent("payment_error", "$pay_type") EventUtils.onEvent("payment_error", "$pay_type")
} }
} }
override fun requestOrderSuc(result: WeChatPayEntity) {
mLoading?.setLoading("正在支付")
}
override fun onNewIntent(intent: Intent?) { override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent) super.onNewIntent(intent)
val data = intent?.data val data = intent?.data
...@@ -529,9 +558,11 @@ class RechargeActivity : BaseActivity(), OnRecycleItemClickListener<MemberEntity ...@@ -529,9 +558,11 @@ class RechargeActivity : BaseActivity(), OnRecycleItemClickListener<MemberEntity
private var isClickPayBtn = false private var isClickPayBtn = false
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
Log.e("MXL","onResume"+isPause+isClickPayBtn+pay_type)
if (isPause && isClickPayBtn) { if (isPause && isClickPayBtn) {
if (pay_type == PaymentConfig.MIN_PAY_PROGRAM || pay_type == PaymentConfig.H5_PAY || pay_type == PaymentConfig.ZFB_H5_PAY || pay_type == PaymentConfig.WX_H5_PAY || pay_type == PaymentConfig.HUI_FU_H5_PAY1 || pay_type == PaymentConfig.HUI_FU_H5_PAY2) { if (pay_type == PaymentConfig.MIN_PAY_PROGRAM || pay_type == PaymentConfig.H5_PAY || pay_type == PaymentConfig.ZFB_H5_PAY || pay_type == PaymentConfig.WX_H5_PAY || pay_type == PaymentConfig.HUI_FU_H5_PAY1 || pay_type == PaymentConfig.HUI_FU_H5_PAY2|| pay_type == PaymentConfig.WECHAT_PAY) {
//如果是敏支付或者H5支付 //如果是敏支付或者H5支付
Log.e("MXL","支付完调用")
mPresenter?.verifyPay(SettingPreference.getOutTradeNo(), pay_type!!) mPresenter?.verifyPay(SettingPreference.getOutTradeNo(), pay_type!!)
} else { } else {
mHandler?.sendEmptyMessageDelayed(0, 2000) mHandler?.sendEmptyMessageDelayed(0, 2000)
......
...@@ -25,6 +25,7 @@ import com.zxhl.cms.net.SettingPreference ...@@ -25,6 +25,7 @@ import com.zxhl.cms.net.SettingPreference
import com.zxhl.cms.net.model.qy.RightsDetailEntity import com.zxhl.cms.net.model.qy.RightsDetailEntity
import com.zxhl.cms.net.model.uc.AliPayEntity import com.zxhl.cms.net.model.uc.AliPayEntity
import com.zxhl.cms.net.model.uc.PayResultEntity import com.zxhl.cms.net.model.uc.PayResultEntity
import com.zxhl.cms.net.model.uc.WeChatPayEntity
import com.zxhl.cms.pay.H5PayUtil import com.zxhl.cms.pay.H5PayUtil
import com.zxhl.cms.pay.PaymentConfig import com.zxhl.cms.pay.PaymentConfig
import com.zxhl.cms.pay.alipay.AlipayServer import com.zxhl.cms.pay.alipay.AlipayServer
...@@ -320,6 +321,10 @@ class RightsDetailActivity : BaseActivity(), RightsDetailContract.View, RightsPa ...@@ -320,6 +321,10 @@ class RightsDetailActivity : BaseActivity(), RightsDetailContract.View, RightsPa
} }
} }
override fun requestOrderSuc(result: WeChatPayEntity) {
mLoading?.setLoading("正在支付")
}
override fun onNewIntent(intent: Intent?) { override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent) super.onNewIntent(intent)
val data = intent?.data val data = intent?.data
...@@ -373,7 +378,7 @@ class RightsDetailActivity : BaseActivity(), RightsDetailContract.View, RightsPa ...@@ -373,7 +378,7 @@ class RightsDetailActivity : BaseActivity(), RightsDetailContract.View, RightsPa
super.onResume() super.onResume()
Log.d("wxw", "OnResume") Log.d("wxw", "OnResume")
if (isPause && isClickPayBtn) { if (isPause && isClickPayBtn) {
if (pay_type == PaymentConfig.MIN_PAY_PROGRAM || pay_type == PaymentConfig.H5_PAY|| pay_type == PaymentConfig.ZFB_H5_PAY|| pay_type == PaymentConfig.WX_H5_PAY|| pay_type == PaymentConfig.HUI_FU_H5_PAY1|| pay_type == PaymentConfig.HUI_FU_H5_PAY2) { if (pay_type == PaymentConfig.MIN_PAY_PROGRAM || pay_type == PaymentConfig.H5_PAY|| pay_type == PaymentConfig.ZFB_H5_PAY|| pay_type == PaymentConfig.WX_H5_PAY|| pay_type == PaymentConfig.HUI_FU_H5_PAY1|| pay_type == PaymentConfig.HUI_FU_H5_PAY2||pay_type == PaymentConfig.WECHAT_PAY) {
//如果是敏支付或者H5支付 //如果是敏支付或者H5支付
mPayPresenter?.verifyPay(SettingPreference.getOutTradeNo(), pay_type!!) mPayPresenter?.verifyPay(SettingPreference.getOutTradeNo(), pay_type!!)
} else { } else {
......
...@@ -3,6 +3,7 @@ package com.zxbw.modulemain.contract ...@@ -3,6 +3,7 @@ package com.zxbw.modulemain.contract
import com.zxhl.cms.net.model.box.AppInEntity import com.zxhl.cms.net.model.box.AppInEntity
import com.zxhl.cms.net.model.qy.CouponsEntity import com.zxhl.cms.net.model.qy.CouponsEntity
import com.zxhl.cms.net.model.uc.AliPayEntity import com.zxhl.cms.net.model.uc.AliPayEntity
import com.zxhl.cms.net.model.uc.WeChatPayEntity
import com.zxhl.cms.net.model.video.MemberEntity import com.zxhl.cms.net.model.video.MemberEntity
...@@ -11,13 +12,14 @@ class RechargeContract { ...@@ -11,13 +12,14 @@ class RechargeContract {
fun setPayList(result: MemberEntity) fun setPayList(result: MemberEntity)
fun setCouponsList(result: List<CouponsEntity>?) fun setCouponsList(result: List<CouponsEntity>?)
fun requestOrderSuc(result: AliPayEntity) fun requestOrderSuc(result: AliPayEntity)
fun requestOrderSuc(result: WeChatPayEntity)
fun requestOrderFail(errorMsg: String) fun requestOrderFail(errorMsg: String)
fun verifyOrderSuc(order: String) fun verifyOrderSuc(order: String)
fun verifyOrderFail(errorMsg: String) fun verifyOrderFail(errorMsg: String)
fun setAppInfo(result: AppInEntity?) fun setAppInfo(result: AppInEntity?)
} }
interface Presenter { interface Presenter {
...@@ -37,5 +39,16 @@ class RechargeContract { ...@@ -37,5 +39,16 @@ class RechargeContract {
fun verifyPay(order: String?, payType: Int) fun verifyPay(order: String?, payType: Int)
fun appInfo() fun appInfo()
fun requestWechatPayOrder(
jumpScheme: String,
goodsId: String,
payType: String,
phone: String,
type: String,
skill: Boolean?,
outTradeNo: String?,
couponId: String?,
mobileOp: String?
)
} }
} }
\ No newline at end of file
...@@ -3,6 +3,7 @@ package com.zxbw.modulemain.contract ...@@ -3,6 +3,7 @@ package com.zxbw.modulemain.contract
import android.app.Activity import android.app.Activity
import com.zxhl.cms.net.model.box.AppInEntity import com.zxhl.cms.net.model.box.AppInEntity
import com.zxhl.cms.net.model.uc.AliPayEntity import com.zxhl.cms.net.model.uc.AliPayEntity
import com.zxhl.cms.net.model.uc.WeChatPayEntity
import com.zxhl.cms.net.model.video.MemberEntity import com.zxhl.cms.net.model.video.MemberEntity
/** /**
...@@ -14,16 +15,17 @@ class RightsPayContract { ...@@ -14,16 +15,17 @@ class RightsPayContract {
interface View { interface View {
fun requestOrderSuc(result: AliPayEntity) fun requestOrderSuc(result: AliPayEntity)
fun requestOrderSuc(result: WeChatPayEntity)
fun requestOrderFail(errorMsg: String) fun requestOrderFail(errorMsg: String)
fun verifyOrderSuc(order: String) fun verifyOrderSuc(order: String)
fun verifyOrderFail(errorMsg: String) fun verifyOrderFail(errorMsg: String)
} }
interface Presenter { interface Presenter {
fun requestRightsAliPay(jumpScheme:String, goodsId: String, payType: String, phone: String) fun requestRightsAliPay(jumpScheme: String, goodsId: String, payType: String, phone: String)
fun verifyPay(order: String?, payType: Int) fun verifyPay(order: String?, payType: Int)
} }
......
package com.zxbw.modulemain.presenter package com.zxbw.modulemain.presenter
import android.text.TextUtils import android.text.TextUtils
import android.util.Log
import com.zxbw.modulemain.contract.RechargeContract import com.zxbw.modulemain.contract.RechargeContract
import com.zxhl.cms.net.ApiClient import com.zxhl.cms.net.ApiClient
import com.zxhl.cms.net.RxSchedulers import com.zxhl.cms.net.RxSchedulers
import com.zxhl.cms.net.SettingPreference
import com.zxhl.cms.net.callback.BaseObserver import com.zxhl.cms.net.callback.BaseObserver
import com.zxhl.cms.net.model.box.AppInEntity import com.zxhl.cms.net.model.box.AppInEntity
import com.zxhl.cms.net.model.qy.CouponsEntity import com.zxhl.cms.net.model.qy.CouponsEntity
import com.zxhl.cms.net.model.uc.AliPayEntity import com.zxhl.cms.net.model.uc.AliPayEntity
import com.zxhl.cms.net.model.uc.PayVerifyEntity import com.zxhl.cms.net.model.uc.PayVerifyEntity
import com.zxhl.cms.net.model.uc.WeChatPayEntity
import com.zxhl.cms.net.model.video.MemberEntity import com.zxhl.cms.net.model.video.MemberEntity
import com.zxhl.cms.pay.PaymentConfig import com.zxhl.cms.pay.PaymentConfig
import com.zxhl.cms.utils.UserDataUtils import com.zxhl.cms.utils.UserDataUtils
import com.zxhl.cms.utils.WeChatPay
import org.json.JSONObject import org.json.JSONObject
class RechargePresenter : RechargeContract.Presenter { class RechargePresenter : RechargeContract.Presenter {
...@@ -92,6 +96,7 @@ class RechargePresenter : RechargeContract.Presenter { ...@@ -92,6 +96,7 @@ class RechargePresenter : RechargeContract.Presenter {
} }
override fun verifyPay(order: String?, payType: Int) { override fun verifyPay(order: String?, payType: Int) {
Log.e("MXL","payType:"+order+"type:"+payType)
try { try {
if (payType == 1) { if (payType == 1) {
val json = JSONObject(order) val json = JSONObject(order)
...@@ -100,10 +105,11 @@ class RechargePresenter : RechargeContract.Presenter { ...@@ -100,10 +105,11 @@ class RechargePresenter : RechargeContract.Presenter {
val outTradeOrder = obj.getString("out_trade_no") val outTradeOrder = obj.getString("out_trade_no")
requestVerify(outTradeOrder, tradeOrder, payType) requestVerify(outTradeOrder, tradeOrder, payType)
} else if (payType == 2) { } else if (payType == 2) {
val json = JSONObject(order) // val json = JSONObject(order)
val tradeOrder = "" // val tradeOrder = ""
val outTradeOrder = json.getString("extData") // val outTradeOrder = json.getString("extData")
requestVerify(outTradeOrder, tradeOrder, payType) // Log.e("MXL","2outTradeOrder:"+outTradeOrder+"")
requestVerify(order, "", payType)
} else if (payType == 11) { } else if (payType == 11) {
if (!TextUtils.isEmpty(order)) { if (!TextUtils.isEmpty(order)) {
requestVerify(order ?: "", "", payType) requestVerify(order ?: "", "", payType)
...@@ -154,7 +160,51 @@ class RechargePresenter : RechargeContract.Presenter { ...@@ -154,7 +160,51 @@ class RechargePresenter : RechargeContract.Presenter {
}) })
} }
private fun requestVerify(outTradeOrder: String, tradeOrder: String, payType: Int) { override fun requestWechatPayOrder(
jumpScheme: String,
goodsId: String,
payType: String,
phone: String,
type: String,
skill: Boolean?,
outTradeNo: String?,
couponId: String?,
mobileOp: String?
) {
ApiClient.userInfoAPi.wechatPayRights(
jumpScheme,
goodsId,
payType,
phone,
type,
skill,
outTradeNo,
couponId,
mobileOp
)
.compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<WeChatPayEntity>() {
override fun onSuccess(result: WeChatPayEntity?) {
if (result != null) {
WeChatPay.startWeChatPay(result, payType)
SettingPreference.setOutTradeNo(result?.outTradeNo)
mView?.requestOrderSuc(result)
}
// if (result != null) {
// mView?.requestOrderSuc(result)
// } else {
// mView?.requestOrderFail("zfb订单支付请求成功 数据为空")
// }
}
override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) {
mView?.verifyOrderFail("zfb订单支付请求失败 code:${code} msg:${errorMsg}")
}
})
}
private fun requestVerify(outTradeOrder: String?, tradeOrder: String, payType: Int) {
ApiClient.userInfoAPi.verifyPay(outTradeOrder, tradeOrder, payType) ApiClient.userInfoAPi.verifyPay(outTradeOrder, tradeOrder, payType)
.compose(RxSchedulers.observableIO2Main()) .compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<PayVerifyEntity>() { .subscribe(object : BaseObserver<PayVerifyEntity>() {
......
...@@ -4,11 +4,14 @@ import android.text.TextUtils ...@@ -4,11 +4,14 @@ import android.text.TextUtils
import com.zxbw.modulemain.contract.RightsPayContract import com.zxbw.modulemain.contract.RightsPayContract
import com.zxhl.cms.net.ApiClient import com.zxhl.cms.net.ApiClient
import com.zxhl.cms.net.RxSchedulers import com.zxhl.cms.net.RxSchedulers
import com.zxhl.cms.net.SettingPreference
import com.zxhl.cms.net.callback.BaseObserver import com.zxhl.cms.net.callback.BaseObserver
import com.zxhl.cms.net.model.uc.AliPayEntity import com.zxhl.cms.net.model.uc.AliPayEntity
import com.zxhl.cms.net.model.uc.PayVerifyEntity import com.zxhl.cms.net.model.uc.PayVerifyEntity
import com.zxhl.cms.net.model.uc.WeChatPayEntity
import com.zxhl.cms.pay.PaymentConfig import com.zxhl.cms.pay.PaymentConfig
import com.zxhl.cms.utils.UserDataUtils import com.zxhl.cms.utils.UserDataUtils
import com.zxhl.cms.utils.WeChatPay
import org.json.JSONObject import org.json.JSONObject
/** /**
...@@ -30,21 +33,40 @@ class RightsPayPresenter : RightsPayContract.Presenter { ...@@ -30,21 +33,40 @@ class RightsPayPresenter : RightsPayContract.Presenter {
payType: String, payType: String,
phone: String phone: String
) { ) {
ApiClient.userInfoAPi.aliPayRights(jumpScheme, goodsId, payType, phone, "50", false, "") if (TextUtils.equals(payType, "2")) {
.compose(RxSchedulers.observableIO2Main()) ApiClient.userInfoAPi.wechatRights(jumpScheme, goodsId, payType, phone, "50", false, "")
.subscribe(object : BaseObserver<AliPayEntity>() { .compose(RxSchedulers.observableIO2Main())
override fun onSuccess(result: AliPayEntity?) { .subscribe(object : BaseObserver<WeChatPayEntity>() {
if (result != null) { override fun onSuccess(result: WeChatPayEntity?) {
mView?.requestOrderSuc(result) if (result != null) {
} else { WeChatPay.startWeChatPay(result, payType)
mView?.requestOrderFail("zfb订单支付请求成功 数据为空") SettingPreference.setOutTradeNo(result?.outTradeNo)
mView?.requestOrderSuc(result)
}
} }
}
override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) { override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) {
mView?.verifyOrderFail("zfb订单支付请求失败 code:${code} msg:${errorMsg}") mView?.verifyOrderFail("zfb订单支付请求失败 code:${code} msg:${errorMsg}")
} }
}) })
} else {
ApiClient.userInfoAPi.aliPayRights(jumpScheme, goodsId, payType, phone, "50", false, "")
.compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<AliPayEntity>() {
override fun onSuccess(result: AliPayEntity?) {
if (result != null) {
mView?.requestOrderSuc(result)
} else {
mView?.requestOrderFail("zfb订单支付请求成功 数据为空")
}
}
override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) {
mView?.verifyOrderFail("zfb订单支付请求失败 code:${code} msg:${errorMsg}")
}
})
}
} }
override fun verifyPay(order: String?, payType: Int) { override fun verifyPay(order: String?, payType: Int) {
...@@ -56,10 +78,10 @@ class RightsPayPresenter : RightsPayContract.Presenter { ...@@ -56,10 +78,10 @@ class RightsPayPresenter : RightsPayContract.Presenter {
val outTradeOrder = obj.getString("out_trade_no") val outTradeOrder = obj.getString("out_trade_no")
requestVerify(outTradeOrder, tradeOrder, payType) requestVerify(outTradeOrder, tradeOrder, payType)
} else if (payType == PaymentConfig.WECHAT_PAY) { } else if (payType == PaymentConfig.WECHAT_PAY) {
val json = JSONObject(order) // val json = JSONObject(order)
val tradeOrder = "" // val tradeOrder = ""
val outTradeOrder = json.getString("extData") // val outTradeOrder = json.getString("extData")
requestVerify(outTradeOrder, tradeOrder, payType) requestVerify(order, "", payType)
} else if (payType == PaymentConfig.MINI_PROGRAM) { } else if (payType == PaymentConfig.MINI_PROGRAM) {
if (!TextUtils.isEmpty(order)) { if (!TextUtils.isEmpty(order)) {
requestVerify(order ?: "", "", payType) requestVerify(order ?: "", "", payType)
...@@ -82,7 +104,7 @@ class RightsPayPresenter : RightsPayContract.Presenter { ...@@ -82,7 +104,7 @@ class RightsPayPresenter : RightsPayContract.Presenter {
if (!TextUtils.isEmpty(order)) { if (!TextUtils.isEmpty(order)) {
requestVerify(order ?: "", "", payType) requestVerify(order ?: "", "", payType)
} }
} else if (payType == PaymentConfig.ZFB_H5_PAY||payType == PaymentConfig.WX_H5_PAY|| payType == PaymentConfig.HUI_FU_H5_PAY1|| payType == PaymentConfig.HUI_FU_H5_PAY2) { } else if (payType == PaymentConfig.ZFB_H5_PAY || payType == PaymentConfig.WX_H5_PAY || payType == PaymentConfig.HUI_FU_H5_PAY1 || payType == PaymentConfig.HUI_FU_H5_PAY2) {
if (!TextUtils.isEmpty(order)) { if (!TextUtils.isEmpty(order)) {
requestVerify(order ?: "", "", payType) requestVerify(order ?: "", "", payType)
} }
...@@ -94,7 +116,7 @@ class RightsPayPresenter : RightsPayContract.Presenter { ...@@ -94,7 +116,7 @@ class RightsPayPresenter : RightsPayContract.Presenter {
} }
} }
private fun requestVerify(outTradeOrder: String, tradeOrder: String, payType: Int) { private fun requestVerify(outTradeOrder: String?, tradeOrder: String, payType: Int) {
ApiClient.userInfoAPi.verifyPay(outTradeOrder, tradeOrder, payType) ApiClient.userInfoAPi.verifyPay(outTradeOrder, tradeOrder, payType)
.compose(RxSchedulers.observableIO2Main()) .compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<PayVerifyEntity>() { .subscribe(object : BaseObserver<PayVerifyEntity>() {
......
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