支付宝手机网站支付

1.订单码支付,首先下载官方网站提供的sdk包到你的项目中。

2.部署到服务器上后,在根目录的config.php上配置好你的appId、公钥私钥和同步异步回调路径及日志文件后,就直接能访问到他们给的示例网页。

3.选择第一项手机网站支付,提交订单号价格信息就到了支付的页面。这个实际的要在手机上访问,支付会调起你手机上的支付宝。支付信息的文件为wappay/pay.php

4.同步回调文件为目录下的return_url.php,异步回调的文件为根目录下的notify_url.php。

5.我是到这一步直接引用到了我的项目中,下载好sdk文件,把pay.php中的代码复制到你的控制器方法中,引用相关的类文件。文件下载到你的项目中后,需要根据你的项目文件,重新配置命名空间,而后在你的控制器中引用。(有些引用的文件中会引用到其他文件,那么相对应的文件也需配置新的命名空间)

6.异步回调方法,按sdk中的异步文件代码操作就行。(注意:config中配置的公钥是支付宝应用公钥)

7.同步回调方法亦如此,按给的示例操作就可以。

8.同步回调后会得到你创建的订单信息,这时候若想获得订单状态及支付结果给前端,而前端无法获取订单号,可跳转url并携带订单号等信息给前端某个页面。

php 复制代码
<?php

public function alih5_return()
    {
        $arr=$_GET;
        $config  = $this->aliH5Config();
        $alipaySevice = new AlipayTradeService($config);
        $result = $alipaySevice->check($arr);

        if($result) {//验证成功
            $out_trade_no = htmlspecialchars($_GET['out_trade_no']);
            $order = db('orders')->field('out_trade_no,uid,price,create_time,status,order_type,pay_type')->where(['out_trade_no' => $out_trade_no])->find();
            if ($order) {
                $dream_id = db('membe_user')->where(['membe_id' => $order['uid']])->value('dream_id');
                $url = 'https://www.dream.com/.../withdraw?out_trade_no='.$out_trade_no.'&dream_id='.$dream_id;
                header("Location: $url");exit();
            }else{
                return reserr('订单有误');
            }
        } else {
            //验证失败
            echo "验证失败";
        }
    }

若遇到其他问题,也可直接咨询支付宝在线技术支持,他们会详细的给你解答你遇到的问题

相关推荐
绮罗郁金香1 小时前
获取IP地区
php
雯0609~8 小时前
PHP:PHP脚本通过正则表达式动态修改指定文件下的php文件的sql内容加入指定条件enable_flag = ‘Y‘(“Y“)
开发语言·php
摸鱼也很难13 小时前
php反序列化 && ctf例题演示 框架安全(TP,Yii,Laravel)&& phpggc生成框架利用pop
php·ctf·php反序列化·审计·ctf web题目
非凡的世界1 天前
PHP在做api开发中,RSA加密签名算法如何使用 ?
开发语言·php·加密·rsa·解密
天下皆白_唯我独黑1 天前
php Yii2 Excel导出图片资源到表格
开发语言·php·excel
hking1111 天前
[极客大挑战 2019]Knife1
web安全·php
m0_748234341 天前
防火墙安全策略(基本配置)
服务器·php·apache
yoguo-2101 天前
rtsp rtp:missed 1 packects
开发语言·php
encoding-console1 天前
如何在centos中进行有效的网络管理
linux·centos·php·network