美文网首页
网页支付宝支付

网页支付宝支付

作者: stutterr | 来源:发表于2017-03-18 17:06 被阅读174次

    流程

    支付功能

    1. RSA私钥以及公钥的生成
      具体可以看支付宝开发文档

    2. 支付宝商家后台上传rsa_public_key.pem,生成alipay_public_key.pem
      确保格式要一致

    3. 替换Demo中的配置文件参数和pem文件,注意config文件中key也要加上路径
      不然Laravel无法找到该文件

    4. 将Demo中的index.php放到blade模板中。

    5. 将Demo中的alipayapl.php 中的代码增加到新增的payController中.

        laravel中,对于原生php引用的写法(require_once)
       可以将直接该原生应用直接放入到方法中然后拼接路径,比如
      

      require_once("alipay.config.php")可以改为 require_once(app_path()."/Tool/alipay/alipay.config.php")

      Paste_Image.png

    ps:在引用类的前面也要加上 \ ,应为这个为外类

    1. 配置路由,修改action路径。完成支付功能的实现

    支付成功通知服务器支付成功

    需要异步通知的原因

    避免应支付时服务器中断而导致的支付成功信息 不能够传达。
    并且异步通知会通知多次,知道你的服务器给支付宝服务器返回success。
    所以判断是否支付成功一定要用notify方法而不是同步。
    call_back_url 支付成跳转的界面
    notify_url 异步通知服务的路径
    merchart_url 操作中断返回地址

    1. 将Demo中的notify.url修改添加到payController中。
      laravel 中会有对传来的信息进行CSRF验证,所以直接使用不能够接收支付宝传来的信息。
      针对这个问题,laravel的中间件中提供了VerifyCsrfToken.php这个类。我们可以将不用验证的请求放到这个类中的protected $expect

    2. 在notify方法中的交易成功判断中 修改用户的订单状态

    3. 为了直观的看到支付宝返回的结果,我们可以只用use Log;

    4. 上传到服务器中调试,并且修改


      Paste_Image.png

      获取当前的域名以及地址信息

    1. 确认回调(post)
    2. 确认同步跳转页面(get)
    3. 确认支付中断页面(get )

    相关文章

      网友评论

          本文标题:网页支付宝支付

          本文链接:https://www.haomeiwen.com/subject/mwpenttx.html