Пример #1
0
 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
 * 版本:3.3
 * 日期: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') {
        //判断该笔订单是否在商户网站中已经做过处理
Пример #3
0
$subject = $_POST['WIDsubject'];
//必填
//付款金额
$total_fee = $_POST['WIDtotal_fee'];
//必填
//订单描述
$body = $_POST['WIDbody'];
//商品展示地址
$show_url = $_POST['WIDshow_url'];
//需以http://开头的完整路径,例如:http://www.xxx.com/myorder.html
//防钓鱼时间戳
$anti_phishing_key = "";
//若要使用请调用类文件submit中的query_timestamp函数
//客户端的IP地址
$exter_invoke_ip = "";
//非局域网的外网IP地址,如:221.0.0.1
/************************************************************/
$detector = new Detection\MobileDetect();
$is_mobile = $detector->isMobile();
//建立请求
$alipay = new mytharcher\sdk\alipay\Alipay($alipay_config, $is_mobile);
if ($is_mobile) {
    $params = $alipay->prepareMobileTradeData(array('out_trade_no' => $out_trade_no, 'subject' => $subject, 'body' => $body, 'total_fee' => $total_fee, 'merchant_url' => 'http://' . $_SERVER['HTTP_HOST'], 'req_id' => date('Ymdhis-')));
    echo $alipay->buildRequestFormHTML($params, 'get');
} else {
    echo $alipay->buildRequestFormHTML(array("service" => "create_direct_pay_by_user", "partner" => trim($alipay_config['partner']), "payment_type" => $alipay_config['payment_type'], "notify_url" => $alipay_config['notify_url'], "return_url" => $alipay_config['return_url'], "seller_id" => $alipay_config['partner'], "out_trade_no" => $out_trade_no, "subject" => $subject, "total_fee" => $total_fee, "body" => $body, "show_url" => $show_url, "anti_phishing_key" => $anti_phishing_key, "exter_invoke_ip" => $exter_invoke_ip, "_input_charset" => trim(strtolower($alipay_config['input_charset']))), "post");
}
?>
</body>
</html>