安卓、ios APP调用微信支付时,页面出现空白 。(php微信支付,app发起微信支付白屏)?
安卓、ios APP调用微信支付时,页面出现空白
我的后端是用php开发的。我是先调用微信的统一下单生成,生成prepay_id预支付订单号,代码如下:
<code><?php 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']."<br>"; } elseif($unifiedOrderResult["result_code"] == "FAIL") { //商户自行增加处理流程 echo iconv("utf-8","gb2312//IGNORE","错误代码:".$unifiedOrderResult['err_code']."<br>"); echo iconv("utf-8","gb2312//IGNORE","错误代码描述:".$unifiedOrderResult['err_code_des']."<br>"); } elseif($unifiedOrderResult["return_code"] == "SUCCESS") { /** 成功后返回如下信息 <xml> <return_code></return_code> <return_msg></return_msg> <appid></appid> <mch_id></mch_id> <nonce_str></nonce_str> <sign></sign> <result_code></result_code> <prepay_id></prepay_id> <trade_type></trade_type> </xml> **/ $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; //商户自行增加处理流程 //...... } } ?></code>
将生成的下面这几个参数发给安卓、ios那边:
<code>$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'];</code>
但是,安卓、ios那边调用微信支付时居然显示空白,什么出错提示也没有,如下截图:
将上面的交易类类改为扫码支付时,生成的二维码又是可以成功支付的
已经弄了一个多星期了,卡在这里一直动不了,求大神帮忙看看,这是什么问题,万分感谢
参考网址:
http://www.cocoachina.com/bbs...
http://www.cnblogs.com/CrazyS...
http://www.xl779.com/news/zha...
回复内容:
安卓、ios APP调用微信支付时,页面出现空白
我的后端是用php开发的。我是先调用微信的统一下单生成,生成prepay_id预支付订单号,代码如下:
<code><?php 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']."<br>"; } elseif($unifiedOrderResult["result_code"] == "FAIL") { //商户自行增加处理流程 echo iconv("utf-8","gb2312//IGNORE","错误代码:".$unifiedOrderResult['err_code']."<br>"); echo iconv("utf-8","gb2312//IGNORE","错误代码描述:".$unifiedOrderResult['err_code_des']."<br>"); } elseif($unifiedOrderResult["return_code"] == "SUCCESS") { /** 成功后返回如下信息 <xml> <return_code></return_code> <return_msg></return_msg> <appid></appid> <mch_id></mch_id> <nonce_str></nonce_str> <sign></sign> <result_code></result_code> <prepay_id></prepay_id> <trade_type></trade_type> </xml> **/ $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; //商户自行增加处理流程 //...... } } ?></code>
将生成的下面这几个参数发给安卓、ios那边:
<code>$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'];</code>
但是,安卓、ios那边调用微信支付时居然显示空白,什么出错提示也没有,如下截图:
将上面的交易类类改为扫码支付时,生成的二维码又是可以成功支付的
已经弄了一个多星期了,卡在这里一直动不了,求大神帮忙看看,这是什么问题,万分感谢
参考网址:
http://www.cocoachina.com/bbs...
http://www.cnblogs.com/CrazyS...
http://www.xl779.com/news/zha...

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Dalam bab ini, kita akan memahami Pembolehubah Persekitaran, Konfigurasi Umum, Konfigurasi Pangkalan Data dan Konfigurasi E-mel dalam CakePHP.

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.
