支付宝手机网站支付
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
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 "验证失败";
}
}
若遇到其他问题,也可直接咨询支付宝在线技术支持,他们会详细的给你解答你遇到的问题