예제 #1
0
파일: Pay.php 프로젝트: lwl1989/paintmore
 function return_url($payfunc)
 {
     if ($payfunc == 'alipay') {
         $this->load->config('pay');
         $pay_config = $this->config->item('alipay');
         $alipay = new \mytharcher\sdk\alipay\Alipay($pay_config);
         $result = $alipay->verifyCallback();
         $input = $this->input->get();
         if ($result && ($input['trade_status'] == 'TRADE_FINISHED' || $input['trade_status'] == 'TRADE_SUCCESS')) {
             $order_id = $input['out_trade_no'];
             //订单号
             $serial = $input['trade_no'];
             //支付宝交易流水
             $this->load->model('order/Orders_model');
             if ($this->Orders_model->get_status($order_id) === NULL) {
                 $this->Orders_model->order_payed($order_id, $serial);
                 log_message('info', date('Y-m-d H:i:s', time()) . ':' . $order_id . '支付成功');
             }
             //todo:跳转到支付成功的页面
             redirect(site_url());
         } else {
             //todo:跳转到支付成功的页面
             redirect(site_url());
         }
     }
 }
예제 #2
0
 * 日期:2012-07-23
 * 说明:
 * 以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
 * 该代码仅供学习和研究支付宝接口使用,只是提供一个参考。
 *************************页面功能说明*************************
 * 创建该页面文件时,请留心该页面文件中无任何HTML代码及空格。
 * 该页面不能在本机电脑测试,请到服务器上做测试。请确保外部可以访问该页面。
 * 该页面调试工具请使用写文本函数logResult,该函数已被默认关闭,见alipay_notify_class.php中的函数verifyNotify
 * 如果没有收到该页面返回的 success 信息,支付宝会在24小时内按一定的时间策略重发通知
 */
require __DIR__ . '/vendor/autoload.php';
require_once "config.php";
// require_once("lib/Alipay.class.php");
//计算得出通知验证结果
$alipay = new mytharcher\sdk\alipay\Alipay($alipay_config);
$verify_result = $alipay->verifyCallback(TRUE);
if ($verify_result) {
    //验证成功
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //请在这里加上商户的业务逻辑程序代
    //——请根据您的业务逻辑来编写程序(以下代码仅作参考)——
    //获取支付宝的通知返回参数,可参考技术文档中服务器异步通知参数列表
    //商户订单号
    $out_trade_no = $_POST['out_trade_no'];
    //支付宝交易号
    $trade_no = $_POST['trade_no'];
    //交易状态
    $trade_status = $_POST['trade_status'];
    if ($_POST['trade_status'] == 'TRADE_FINISHED') {
        //判断该笔订单是否在商户网站中已经做过处理
        //如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序