首页 > 其他分享 >电商线上支付 -- --支付宝, 微信和账期支付等 以及 线下支付(转账,汇票,货到付款)流程梳理

电商线上支付 -- --支付宝, 微信和账期支付等 以及 线下支付(转账,汇票,货到付款)流程梳理

时间:2022-12-01 13:38:56浏览次数:41  
标签:showToast -- resp 支付 request ToastUtil wxOrderDao 电商


线上 --支付宝 微信-账期

  • 1,订单和钱 生成支付单 —成功 ,
  • 2,(输入密码后)生成支付流水单号(如果是账期支付)— 支付结果查询(在线支付)
  • 3,
    =—调起微信支付—
    // 将该app注册到微信
    msgApi = WXAPIFactory.createWXAPI(activity, null)
    msgApi!!.registerApp(wxOrderDao.appid)
    if (!msgApi!!.isWXAppInstalled) {
    ToastUtil.showToast(“请先安装微信”)
    return
    }
    //调起支付
    val request = PayReq()
    request.appId = wxOrderDao.appid
    request.partnerId = wxOrderDao.mch_id
    request.prepayId = wxOrderDao.prepay_id
    request.packageValue = “Sign=WXPay”
    request.nonceStr = wxOrderDao.nonce_str
    request.timeStamp = wxOrderDao.timestamp
    request.sign = wxOrderDao.sign
//        request.extData = wxOrderDao.trade_type
TLog.i(request.sign)
msgApi!!.sendReq(request)
when (resp.errCode) {
0 -> RxBus.get().post(PayResultEntity().apply {
code = resp.errCode
})
-2 -> ToastUtil.showToast("已取消支付")
-1 -> {
ToastUtil.showToast("appid或签名不匹配")
TLog.i(resp.errStr + resp.errCode)
}
else -> ToastUtil.showToast("未知错误${resp.errCode}...")



支付成功---成功页面
取消支付---
支付错误状态

3,调起支付宝支付—

/**
* 调起支付宝支付
*/
fun pay(activity: Activity, orderSign: String, payListener: PayResultListener?) {

Observable.create(ObservableOnSubscribe<Map<String, String>> {
// 构造PayTask 对象
val alipay = PayTask(activity)
// 调用支付接口,获取支付结果
val result = alipay.payV2(orderSign, true)
it.onNext(result)
it.onComplete()
})
.subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe {

/**
* 对于支付结果,请商户依赖服务端的异步通知结果。同步通知结果,仅作为支付结束的通知。
*/


val payResult = PayResult(it)
val resultStatus = payResult.resultStatus
// 判断resultStatus 为9000则代表支付成功
if (TextUtils.equals(resultStatus, "6001")) {
ToastUtil.showToast("支付取消")
} else if (TextUtils.equals(resultStatus, "6002")) {
ToastUtil.showToast("网络连接出错")
} else { // 检测真实的支付状态
payListener?.payResult()
}
}
}

**4---支付结果查询(在线支付)**
线下支付 先获取账单信息 收款账号信息等
离线支付结果查询
获取支付结果---送货时间,支付金额,付款信息,订单号,物流方式,支付方式等

线下(转账,汇票,货到付款)(比较简单)

直接生成账单–账单信息–付款确认后—查询账单信息


标签:showToast,--,resp,支付,request,ToastUtil,wxOrderDao,电商
From: https://blog.51cto.com/u_15898516/5901792

相关文章