美文网首页
uniapp调用支付宝app支付崩溃问题

uniapp调用支付宝app支付崩溃问题

作者: 打不死的小强1118 | 来源:发表于2020-05-15 16:29 被阅读0次

    1.问题描述

    我司前端使用uniapp的云打包,在某一次打包之后,线上环境当前端唤起支付时,app就直接闪退,崩溃。

    2.php后端代码

            import('Vendor.alipay.AopClient', '', '.php');
            $bank = M('Banks')->where(['id' => self::BANK_ALI])->find();
            $parameter            = $this->formAppData($order);
            $apply['app_id']      = $bank['app_id'];
            $apply['method']      = 'alipay.trade.app.pay';
            $apply['charset']     = 'utf-8';
            $apply['sign_type']   = 'RSA2';
            $apply['timestamp']   = date('Y-m-d H:i:s');
            $apply['version']     = 1.0;
            $apply['notify_url']  = get_ali_app_notify();
            $apply['biz_content'] = $parameter;
    
            $aop                     = new \AopClient();
            $aop->rsaPrivateKey      = trim(file_get_contents($bank['ali_rsa_private_key']));
            $aop->alipayrsaPublicKey = trim(file_get_contents($bank['ali_rsa_public_key']));
            $paramStr = $aop->getSignContent($apply);
            $sign = $aop->alonersaSign($paramStr, $aop->rsaPrivateKey, 'RSA2'); //生成签名
            $apply['sign'] = $sign;
            $str = $aop->getSignContentUrlencode($apply);       //最终请求参数
    
            return $str;
    -----------------------------------------------------------------------------------
            public function formAppData($order){
            $arr['subject']             = $this->getSubject();
            $arr['out_trade_no']        = $order['order_id'];
            $arr['total_amount']        = $order['all_money'];
            $arr['product_code']        = 'QUICK_MSECURITY_PAY';
            $arr['enable_pay_channels'] = "balance,moneyFund,debitCardExpress";
            return json_encode($arr);
        }
    

    3.解决方案

    $arr['out_trade_no']        = strval($order['order_id']);
    看了支付宝文章发现改字段必须要string类型,至于我们之前一直可以支付可能是前段打包的sdk更新了,新的sdk严格了这个类型,否则直接报错
    
    (php弱类型语言,大家都容易去忽略变量的类型)
    

    相关文章

      网友评论

          本文标题:uniapp调用支付宝app支付崩溃问题

          本文链接:https://www.haomeiwen.com/subject/jkocohtx.html