关于网友提出的“ 安卓、ios APP调用微信支付时,页面出现空白 。(php微信支付,app发起微信支付白屏)?”问题疑问,本网通过在网上对“ 安卓、ios APP调用微信支付时,页面出现空白 。(php微信支付,app发起微信支付白屏)?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 安卓、ios APP调用微信支付时,页面出现空白 。(php微信支付,app发起微信支付白屏)?
描述: 安卓、ios APP调用微信支付时,页面出现空白
我的后端是用php开发的。我是先调用微信的统一下单生成,生成prepay_id预支付订单号,代码如下:
public function send_pay(){
//使用统一支付接口
$unifiedOrder = new UnifiedOrder_pub();
$amount = trim($this->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/read.php?tid-321546.html
http://www.cnblogs.com/CrazySL/p/5585393.html