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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值