支付宝支付流程:
支付宝官网:https://www.alipay.com/
申请账号:通过支付宝官网进行申请
账号现在个人用户没有了,都是以公司账号为单位,申请成功后,会有一个账号和密码的两个值,有这两个值才能完成支付。(pid key),这两个key和pid为收款账户的信息。后期别人支付的钱都将到这个账号。
下载功能包
在签约产品接入位置处,有支付宝功能包下载的超链接:
下载支付宝功能包,把功能包的文件放到框架中
分析Demo文件得知
走付款流程,主要需要传递三个参数:订单编号(ID) 多少钱 订单名称 【订单简介】
//实现支付宝支付效果(订单号码、商品名称、付款金额、商品描述)
$WIDout_trade_no = $shuju['order_number'];
$WIDsubject = $shuju['order_number'];
$WIDtotal_fee = $number_price['price'];
$fm = <<<eof
<form action="/Application/Common/Plugins/alipay/alipayapi.php"method="post">
<inputtype="hidden" name="WIDout_trade_no" value="$WIDout_trade_no" />
<inputtype="hidden" name="WIDsubject" value="$WIDsubject" />
<input type="hidden"name="WIDtotal_fee" value="$WIDtotal_fee" />
<inputtype="hidden" name="WIDbody" value="" />
</form>
<scripttype="text/javascript">
document.getElementsByTagName('form')[0].submit();
</script>
eof;
流程成功,跳转到用户支付页面(支付宝服务器提供)
在这个页面上,会自动每隔几秒进行一个ajax请求,如果用户成功支付,支付宝服务器会给我们发送两个请求,称为反向请求,反向请求地址我们可以进行提前配置好,具体配置根据自己框架系统中方的支付宝接口缩放的位置。我的在图示位置。
需要填写以及更改的内容:
// 服务器异步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问 $alipay_config['notify_url'] = "http://商户网址/create_direct_pay_by_user-PHP-UTF-8/notify_url.php"; // 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问 $alipay_config['return_url'] = "http://商户网址/create_direct_pay_by_user-PHP-UTF-8/return_url.php";
1、发送一个get请求,请求我们 return_url.php,我们可以将其更改,设置成自己的方法。返回的get信息。可以打印出来查看。我们可以根据信息得到用户支付的结果,判断支付的状态,我们进行页面的跳转,将页面跳转到用户支付成功的界面
2 、发送一个post请求,请求我们 notify_url.php,我们也可以将其进行查看信息。这种传递过来的信息肯定你的代码已经上线,只能通过将数据保存到文件进行查看。可以通过file_put_contents(‘./01.txr,$cont’)的方法将数据进行保存,然后进行查看,
也需要判断状态是否成功,修改用户的支付状态(将数据传递到我们的数据库中)
传递过来的数据类似这样的。
异步请求需要注意的地方: