From b8d8f9b855fdd453d06d78d2565f091db208ec8e Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期二, 26 十一月 2024 19:30:59 +0800 Subject: [PATCH] 支付 --- app/src/main/java/com/sinata/xqmuse/ui/mine/RechargeActivity.kt | 44 +++++++++++++++++++++++++++++++++++--------- 1 files changed, 35 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/sinata/xqmuse/ui/mine/RechargeActivity.kt b/app/src/main/java/com/sinata/xqmuse/ui/mine/RechargeActivity.kt index a608652..074deff 100644 --- a/app/src/main/java/com/sinata/xqmuse/ui/mine/RechargeActivity.kt +++ b/app/src/main/java/com/sinata/xqmuse/ui/mine/RechargeActivity.kt @@ -18,6 +18,7 @@ import com.sinata.xqmuse.utils.pay.PayUtil import kotlinx.android.synthetic.main.activity_recharge.* import org.greenrobot.eventbus.EventBus +import org.jetbrains.anko.browse import org.jetbrains.anko.sdk27.coroutines.onClick import org.jetbrains.anko.startActivity import org.jetbrains.anko.toast @@ -26,8 +27,9 @@ class RechargeActivity : TransparentStatusBarActivity(),PayListener { override fun setContentView() = R.layout.activity_recharge - private var way = 1 + private var way = 2 private var money = 0.0 + private var orderId = "" override fun initClick() { tv_way.setOnClickListener { @@ -79,15 +81,34 @@ toast("%s充值%.2f".format(if (payType == 1) "微信" else "支付宝",money)) HttpManager.placeOrder(4,payType,2,money,null,null,null ) .request(this){_,data-> - if (payType == 1){ - PayUtil.initWeChatPay(this,Const.WX_APP_ID) - PayUtil.weChatPay(data!!) - }else{ - PayUtil.aliPay(this,data?.orderInfo?:"") - } - onPaySuccess() //todo test - + orderId = data?.orderId?:"" + if (payType == 1) + data?.jumpToWx(this) + else + browse(data?.qrcodeUrl?:"") } + } + + private fun checkPayStatus(){ + if (!orderId.isNullOrEmpty()){ + if (!orderId.isNullOrEmpty()){ + HttpManager.queryPayment(orderId).request(this){_,data-> + when(data){ + "pending"->{ + toast("未查询到支付结果,如已付款请忽略") + } + "succeeded"->{ + toast("支付成功") + onPaySuccess() + } + "failed"->{ + toast("支付失败") + } + } + } + orderId = "" + } + } } override fun onPaySuccess() { @@ -103,6 +124,11 @@ override fun onPayError(msg: String) { } + override fun onResume() { + super.onResume() + checkPayStatus() + } + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if (resultCode == RESULT_OK){ -- Gitblit v1.7.1