PHP2020421 2020-09-11 17:39 采纳率: 0%
浏览 5
已结题

怎样在这个类里加连接数据并存数据

<?php

include 'Base.php';                  


 * 1.获取数据

 * 2.验证签名

 * 3.验证是否来自支付宝的请求

 * 4.验证交易状态

 * 5. 验证订单号和金额

 * 6.更改订单状态

 *  

 */


class Notify extends Base

{

  public function __construct() {

    // 1.获取数据

    $postData = $_POST;

     

    //2.验证签名MD5和RSA

    if($postData['sign_type'] == 'MD5'){

      if(!$this->checkSign($postData)){

        $this->logs('log.txt', 'MD5签名失败!');

        exit();

      }else{

        $this->logs('log.txt', 'MD5签名成功!');

      }

    }elseif($postData['sign_type'] == 'RSA'){

      if(!$this->rsaCheck($this->getStr($postData), self::ALIPUBKEY, $postData['sign']) ){

        $this->logs('log.txt', 'RSA签名失败!');

        exit();

      }else{

        $this->logs('log.txt', 'RSA签名成功!');

      }

    }elseif($postData['sign_type'] == 'RSA2'){

      if(!$this->rsaCheck($this->getStr($postData), self::NEW_ALIPUBKE, $postData['sign'],'RSA2') ){

        $this->logs('log.txt', 'RSA2签名失败!');

        exit();

      }else{

        $this->logs('log.txt', 'RSA2签名成功!');

      }

    }else{

      exit('签名方式有误');

    }

    //验证是否来自支付宝的请求

    if(!$this->isAlipay($postData)){

      $this->logs('log.txt', '不是来之支付宝的通知!');

      exit();

    }else{

      $this->logs('log.txt', '是来之支付宝的通知验证通过!');

    }

    // 4.验证交易状态

    if(!$this->checkOrderStatus($postData)){

       $this->logs('log.txt', '交易未完成!');

       exit();

    }else{

       $this->logs('log.txt', '交易成功!');

                       

    }

    //5. 验证订单号和金额

    //获取支付发送过来的订单号 在商户订单表中查询对应的金额 然后和支付宝发送过来的做对比

     $this->logs('log.txt', '订单号:' . $postData['out_trade_no'] . '订单金额:' . $postData['total_amount']);

   

      //更改订单状态

       echo 'success';  

  }


}


$obj = new Notify();

  • 写回答

65条回答 默认 最新

  • 简简单单OnlineZuozuo Java领域优质创作者 2020-09-11 19:56
    关注

    。。。

    评论

报告相同问题?

悬赏问题

  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计