支付宝接口 PHP接入网页支付

项目需要用到支付功能,于是开始尝试了支付宝接口的接入

首先要在支付宝的开发者中心注册应用并签约相应功能:

签约成功后,下载官方的支付demo开始学习:https://docs.open.alipay.com/270/106291/

 

填写config.php文件

应用ID(app_id)、APPID(app_id)、商户私钥(merchant_private_key)、支付宝公钥(alipay_public_key)可在开发中心根据应用信息填入

而异步通知地址(notify_url)、同步跳转(return_url)则根据网站域名及文件结构改写,保证最终路径能到达notify_url.php和return_url.php即可

 

简单看下demo中的index.php可知,付款模块主要是将商户订单号WIDout_trade_no、订单名称WIDsubject、付款金额WIDtotal_amount(商品描述WIDbody可不用)在表单中提交给pagepay/pagepay.php处理:

支付宝接口 PHP接入网页支付_第1张图片

因此只需在我们自己的付款页面中,加入一个隐藏的表单,自动地把这几个表单数据填入,用户点击付款即把表单提交给pagepay.php即可

订单名称和付款金额都是我们自己给定的,而商户订单号可参考demo中的GetDateNow()生成方法

如果不想添加商品描述,还需在pagepay.php中把相应的变量注释掉:

支付宝接口 PHP接入网页支付_第2张图片

如此便能实现用户付款前,点击付款跳转到支付宝页面进行支付的操作了。

 

而用户付款后的操作则与刚刚config.php中设置的notify_url.php和同步跳转return_url.php有关。

关于这两个文件的区别可简单理解为,return_url是付款完后用户会看到的返回页面,而notify_url则是用户看不到的后台处理页面,因此我们可以在return_url中实现用户付款后跳转回网页的订单中心,在notify_url中处理付款后服务器中数据库的付款状态更改。

例如我在付款成功后需要修改orderlist数据库中相应订单的付款状态state:

支付宝接口 PHP接入网页支付_第3张图片

而return_rul中直接header跳转到订单中心:

 

如此支付宝付款便接入完成啦~

你可能感兴趣的:(网页)