当前位置:Gxlcms > PHP教程 > 安卓、iosAPP调用微信支付时,页面出现空白。(php微信支付,app发起微信支付白屏)?

安卓、iosAPP调用微信支付时,页面出现空白。(php微信支付,app发起微信支付白屏)?

时间:2021-07-01 10:21:17 帮助过:71人阅读

安卓、ios APP调用微信支付时,页面出现空白
我的后端是用php开发的。我是先调用微信的统一下单生成,生成prepay_id预支付订单号,代码如下:

config['money'])*100;
$notify_url=$this->config['NotifyUrl'];   //通知URL

//设置统一支付接口参数
//设置必填参数
//appid已填,商户无需重复填写
//mch_id已填,商户无需重复填写
//noncestr已填,商户无需重复填写
//spbill_create_ip已填,商户无需重复填写
//sign已填,商户无需重复填写
//iconv("gb2312","utf-8//IGNORE",
$unifiedOrder->setParameter("body",$this->config['title']);//商品描述
//自定义订单号,此处仅作举例
$out_trade_no = $this->config['code'];
$create_ip = $_SERVER["REMOTE_ADDR"];
$unifiedOrder->setParameter("out_trade_no",$out_trade_no);//商户订单号 
$unifiedOrder->setParameter("total_fee",$amount);//总金额
$unifiedOrder->setParameter("notify_url",$notify_url);//通知地址 
$unifiedOrder->setParameter("spbill_create_ip",$create_ip);//用户端实际ip
$unifiedOrder->setParameter("trade_type","APP");//APP交易类型
$unifiedOrder->setParameter("attach","111");//附加数据 

//获取统一支付接口结果
$unifiedOrderResult = $unifiedOrder->getResult();

//商户根据实际情况设置相应的处理流程
if ($unifiedOrderResult["return_code"] == "FAIL") 
{
    //商户自行增加处理流程
    echo "通信出错:".$unifiedOrderResult['return_msg']."
"; } elseif($unifiedOrderResult["result_code"] == "FAIL") { //商户自行增加处理流程 echo iconv("utf-8","gb2312//IGNORE","错误代码:".$unifiedOrderResult['err_code']."
"); echo iconv("utf-8","gb2312//IGNORE","错误代码描述:".$unifiedOrderResult['err_code_des']."
"); } elseif($unifiedOrderResult["return_code"] == "SUCCESS") { /** 成功后返回如下信息 **/ $result = array(); $result['appid'] = $unifiedOrderResult['appid']; $result['partnerid'] = $unifiedOrderResult['mch_id']; $result['prepayid'] = $unifiedOrderResult['prepay_id']; $result['noncestr'] = $unifiedOrderResult['nonce_str']; $result['timestamp'] = time(); $result['package'] = "Sign=WXPay"; //'Sign=WXPay' $result['sign'] = $unifiedOrderResult['sign']; echo json_encode($result); exit; //商户自行增加处理流程 //...... } } ?>

将生成的下面这几个参数发给安卓、ios那边:

$result['appid'] = $unifiedOrderResult['appid'];
$result['partnerid'] = $unifiedOrderResult['mch_id'];
$result['prepayid'] = $unifiedOrderResult['prepay_id'];
$result['noncestr'] = $unifiedOrderResult['nonce_str'];
$result['timestamp'] = time();
$result['package'] = "Sign=WXPay"; //'Sign=WXPay'
$result['sign'] = $unifiedOrderResult['sign'];

但是,安卓、ios那边调用微信支付时居然显示空白,什么出错提示也没有,如下截图:




将上面的交易类类改为扫码支付时,生成的二维码又是可以成功支付的
已经弄了一个多星期了,卡在这里一直动不了,求大神帮忙看看,这是什么问题,万分感谢
参考网址:
http://www.cocoachina.com/bbs...
http://www.cnblogs.com/CrazyS...
http://www.xl779.com/news/zha...

回复内容:

安卓、ios APP调用微信支付时,页面出现空白
我的后端是用php开发的。我是先调用微信的统一下单生成,生成prepay_id预支付订单号,代码如下:

config['money'])*100;
$notify_url=$this->config['NotifyUrl'];   //通知URL

//设置统一支付接口参数
//设置必填参数
//appid已填,商户无需重复填写
//mch_id已填,商户无需重复填写
//noncestr已填,商户无需重复填写
//spbill_create_ip已填,商户无需重复填写
//sign已填,商户无需重复填写
//iconv("gb2312","utf-8//IGNORE",
$unifiedOrder->setParameter("body",$this->config['title']);//商品描述
//自定义订单号,此处仅作举例
$out_trade_no = $this->config['code'];
$create_ip = $_SERVER["REMOTE_ADDR"];
$unifiedOrder->setParameter("out_trade_no",$out_trade_no);//商户订单号 
$unifiedOrder->setParameter("total_fee",$amount);//总金额
$unifiedOrder->setParameter("notify_url",$notify_url);//通知地址 
$unifiedOrder->setParameter("spbill_create_ip",$create_ip);//用户端实际ip
$unifiedOrder->setParameter("trade_type","APP");//APP交易类型
$unifiedOrder->setParameter("attach","111");//附加数据 

//获取统一支付接口结果
$unifiedOrderResult = $unifiedOrder->getResult();

//商户根据实际情况设置相应的处理流程
if ($unifiedOrderResult["return_code"] == "FAIL") 
{
    //商户自行增加处理流程
    echo "通信出错:".$unifiedOrderResult['return_msg']."
"; } elseif($unifiedOrderResult["result_code"] == "FAIL") { //商户自行增加处理流程 echo iconv("utf-8","gb2312//IGNORE","错误代码:".$unifiedOrderResult['err_code']."
"); echo iconv("utf-8","gb2312//IGNORE","错误代码描述:".$unifiedOrderResult['err_code_des']."
"); } elseif($unifiedOrderResult["return_code"] == "SUCCESS") { /** 成功后返回如下信息 **/ $result = array(); $result['appid'] = $unifiedOrderResult['appid']; $result['partnerid'] = $unifiedOrderResult['mch_id']; $result['prepayid'] = $unifiedOrderResult['prepay_id']; $result['noncestr'] = $unifiedOrderResult['nonce_str']; $result['timestamp'] = time(); $result['package'] = "Sign=WXPay"; //'Sign=WXPay' $result['sign'] = $unifiedOrderResult['sign']; echo json_encode($result); exit; //商户自行增加处理流程 //...... } } ?>

将生成的下面这几个参数发给安卓、ios那边:

$result['appid'] = $unifiedOrderResult['appid'];
$result['partnerid'] = $unifiedOrderResult['mch_id'];
$result['prepayid'] = $unifiedOrderResult['prepay_id'];
$result['noncestr'] = $unifiedOrderResult['nonce_str'];
$result['timestamp'] = time();
$result['package'] = "Sign=WXPay"; //'Sign=WXPay'
$result['sign'] = $unifiedOrderResult['sign'];

但是,安卓、ios那边调用微信支付时居然显示空白,什么出错提示也没有,如下截图:




将上面的交易类类改为扫码支付时,生成的二维码又是可以成功支付的
已经弄了一个多星期了,卡在这里一直动不了,求大神帮忙看看,这是什么问题,万分感谢
参考网址:
http://www.cocoachina.com/bbs...
http://www.cnblogs.com/CrazyS...
http://www.xl779.com/news/zha...

人气教程排行