Beispiel #1
0
 public function index($memberId)
 {
     //必填,不需要修改
     $payType = $_GET['payType'];
     $wxPayHelper = new WxPayHelper($memberId, $payType);
     //判断memberId有效性以及调用支付配置
     if ($payType == 'shop' || $payType == 'tuan' || $payType == 'hotel' || $payType == 'dc') {
         //服务器异步通知页面路径
         $notify_url = 'http://' . $_SERVER['SERVER_NAME'] . "/pay/wxpay/notifywx/" . $memberId . "/" . $payType;
         //页面跳转同步通知页面路径
         $call_back_url = 'http://' . $_SERVER['SERVER_NAME'] . "/3G/" . $payType . "/order/" . $memberId . "/";
         //操作中断返回地址
         $merchant_url = 'http://' . $_SERVER['SERVER_NAME'] . "/3G/" . $payType . "/order/" . $memberId . "/";
     }
     //付款金额
     $total_fee = $_GET['total'] * 100;
     //订单名称
     $subject = str_replace("X", "", $_GET['subject']);
     $subject = str_replace(" ", "", $subject);
     $subject = "测试订单";
     //获取订单编号
     $out_trade_no = $_GET['OrderId'];
     //获取银行通道类型
     $wxPayHelper->setParameter("bank_type", "WX");
     //商品描述
     $wxPayHelper->setParameter("body", $subject);
     //商户号
     $wxPayHelper->setParameter("partner", $wxPayHelper->getPartnerId());
     //商户订单号
     $wxPayHelper->setParameter("out_trade_no", $out_trade_no);
     //订单总金额
     $wxPayHelper->setParameter("total_fee", $total_fee);
     //支付币种
     $wxPayHelper->setParameter("fee_type", "1");
     //通知url
     $wxPayHelper->setParameter("notify_url", $notify_url);
     //订单生成的机器IP
     $wxPayHelper->setParameter("spbill_create_ip", $_SERVER['REMOTE_ADDR']);
     //字符编码
     $wxPayHelper->setParameter("input_charset", "UTF-8");
     //生成jsapi支付请求json
     $data['msg'] = $wxPayHelper->create_biz_package();
     $data['total'] = $_GET['total'];
     $data['subject'] = $_GET['subject'];
     $data['call_back_url'] = $call_back_url;
     $data['merchant_url'] = $merchant_url;
     $this->load->view("/member/weipay/weixinpay", $data);
 }
 public function weixinpay()
 {
     $commonUtil = new CommonUtil();
     $wxPayHelper = new WxPayHelper();
     $source = Input::safeHtml($_POST['source']);
     //接收来源属性
     $custom_id = intval($_POST['custom_id']);
     //接收客户id
     $order_id = intval($_POST['trade_no']);
     //接收订单id
     $merchant_url = Input::safeHtml($_POST['merchant_url']);
     //操作中断返回地址
     //获取商城id
     $shop_id = $_GET['shop_id'];
     //获取商品名称
     $shop_name = M(C('DB_WECHAT_NAME') . '.wxh_order_detail')->where("is_del = 0 and order_id = '" . $order_id . "' and source = '" . $source . "'")->getField('commodity_name');
     //echo M()->getLastSql();
     //dump($shop_name);
     // echo '<br >access_token为:'.$wxPayHelper->access_token(false);
     //获取订单信息
     $order_info = M(C('DB_WECHAT_NAME') . '.wxh_order')->where('is_del = 0 and status = 5 and id = ' . $order_id . ' and user_id = ' . $_SESSION['U_IF']['member_id'])->field('from_id, price, add_time')->find();
     //$price = $order_info['price'];
     //验证post参数,非法返回
     if ($source == '' || $custom_id <= 0 || $order_id <= 0 || $merchant_url == '') {
         die(jump(array('jumpmsg' => '参数非法')));
     }
     //获取订单编号 :来源+订单ID+客户ID+用户ID
     $order_no = $source . '_' . $order_id . '_' . $custom_id . '_' . $_SESSION['U_IF']['member_id'];
     //echo $order_no;
     //$wxpay_config = C('WX_PAY_CONFIG');
     //dump($wxpay_config);
     //echo $total_fee = round($price,2);   //付款金额
     //获取银行通道类型
     $wxPayHelper->setParameter("bank_type", "WX");
     //商品描述
     $wxPayHelper->setParameter("body", $shop_name);
     //商户号
     $wxPayHelper->setParameter("partner", $wxPayHelper->getPartnerId());
     //商户订单号
     $wxPayHelper->setParameter("out_trade_no", $order_no);
     //订单总金额
     $wxPayHelper->setParameter("total_fee", '1');
     //支付币种
     $wxPayHelper->setParameter("fee_type", "1");
     //通知url
     $wxPayHelper->setParameter("notify_url", "http://test.weixinhai.net/shop.php/Wxpay/payNotifyUrl/shop_id/" . $shop_id);
     //订单生成的机器IP
     $wxPayHelper->setParameter("spbill_create_ip", get_client_ip());
     //字符编码
     $wxPayHelper->setParameter("input_charset", "UTF-8");
     //生成jsapi支付请求json
     //dump($wxPayHelper->parameters);
     $data = array('merchant_url' => $merchant_url, 'custom_id' => $custom_id, 'shop_name' => $shop_name, 'order_info' => $order_info);
     $msg = $wxPayHelper->create_biz_package();
     $this->assign('merchant_url', $merchant_url);
     $this->assign('custom_id', $custom_id);
     $this->assign('data', $data);
     $this->assign('msg', $msg);
     $this->display('./shop/Tpl/Index/weixinpay.html');
     //dump($msg);
 }
Beispiel #3
0
    $call_back_url = 'http://' . $_SERVER['SERVER_NAME'] . "/3G/" . $payType . "/order/" . $memberid . "/";
    //操作中断返回地址
    $merchant_url = "http://www.wei3g.cn/3G/" . $payType . "/order/" . $memberid . "/";
}
//付款金额
$total_fee = $_GET['total'] * 100;
//订单名称
$subject = $_GET['subject'];
//获取订单编号
$out_trade_no = $_GET['OrderId'];
//获取银行通道类型
$wxPayHelper->setParameter("bank_type", "WX");
//商品描述
$wxPayHelper->setParameter("body", $subject);
//商户号
$wxPayHelper->setParameter("partner", $wxPayHelper->getPartnerId());
//商户订单号
$wxPayHelper->setParameter("out_trade_no", $out_trade_no);
//订单总金额
$wxPayHelper->setParameter("total_fee", $total_fee);
//支付币种
$wxPayHelper->setParameter("fee_type", "1");
//通知url
$wxPayHelper->setParameter("notify_url", 'http://demo.weixinhai.com.cn/mobile/wxpay/weixinpay.php');
//订单生成的机器IP
$wxPayHelper->setParameter("spbill_create_ip", $_SERVER['REMOTE_ADDR']);
//字符编码
$wxPayHelper->setParameter("input_charset", "UTF-8");
//生成jsapi支付请求json
$msg = $wxPayHelper->create_biz_package();
?>