//重新支付参数
            if (stristr($pageData['updateapi'], "?")) {
                $pageData['updateapi'] = $pageData['updateapi'] . '&';
            } else {
                $pageData['updateapi'] = $pageData['updateapi'] . '?';
            }
            $pageData['updateapi'] = $pageData['updateapi'] . 'repay=1';
        }
        //添加随机数
        $pageData['orderid'] = $pageData['orderid'] . 'rp' . rand(1, 1000);
        //微信支付商户订单号
    }
}
//从商户订单号中获取网站ID
$pageData['oid'] = $_SESSION['oid'];
$sid = IdeaUtil::getSidFromOut_trade_no($_SESSION['oid']);
// 读取签名密钥 网址名
$privateKey = WxPayConf_pub::privateKey;
$sitename = WxPayConf_pub::sitename;
/**
 * JS_API支付demo
 * ====================================================
 * 在微信浏览器里面打开H5网页中执行JS调起支付。接口输入输出数据格式为JSON。
 * 成功调起支付需要三个步骤:
 * 步骤1:网页授权获取用户openid
 * 步骤2:使用统一支付接口,获取prepay_id
 * 步骤3:使用jsapi调起支付
*/
//使用jsapi接口
$jsApi = new JsApi_pub();
//=========步骤1:网页授权获取用户openid============
        } else {
            $pageData['backurl'] = $pageData['backurl'] . '?';
        }
        $pageData['prouct_pic'] = $datas['prouct_pic'];
        $pageData['prouct_title'] = $datas['prouct_title'];
        $pageData['prouct_introduction'] = $datas['prouct_introduction'];
        $pageData['prouct_price'] = $datas['prouct_price'];
        $pageData['prouct_pay'] = $datas['prouct_pay'];
        $pageData['siteid'] = $datas['siteid'];
        $pageData['updateapi'] = $datas['updateapi'];
        $pageData['oid'] = $datas['orderid'];
        //原始订单号
    }
}
//从商户订单号中获取网站ID,从而获取该网站的动态密钥
$sid = IdeaUtil::getSidFromOut_trade_no($pageData['oid']);
// 读取签名密钥 网址名
$privateKey = WxPayConf_pub::privateKey;
$sitename = WxPayConf_pub::sitename;
//支付处理
$action = isset($_REQUEST['aciton']) ? $_REQUEST['aciton'] : '';
$orderid = isset($_REQUEST['orderid']) ? $_REQUEST['orderid'] : 'test';
$openid = isset($_REQUEST['openid']) ? $_REQUEST['openid'] : '';
$backUrl = "{$pageData['backurl']}oid={$pageData['oid']}&wxorderid={$orderid}&openid={$openid}&paystatus=";
$paystatus = 'get_brand_wcpay_request:fail';
if ($action == 'wxpayzero') {
    $timestamp = isset($_REQUEST['timestamp']) ? $_REQUEST['timestamp'] : '';
    $sign = isset($_REQUEST['sign']) ? $_REQUEST['sign'] : 'ok';
    $oid = isset($_REQUEST['oid']) ? $_REQUEST['oid'] : '';
    $apiurl = isset($_REQUEST['apiurl']) ? $_REQUEST['apiurl'] : '';
    //检测参数是否合法
Beispiel #3
0
 $up_url = isset($notifydata['attach']) ? urldecode($notifydata['attach']) : '';
 //数据更新地址
 $up_openid = isset($notifydata['openid']) ? $notifydata['openid'] : '';
 //支付者openid
 $up_out_trade_no = isset($notifydata['out_trade_no']) ? $notifydata['out_trade_no'] : '';
 //商户订单号
 $up_total_fee = isset($notifydata['total_fee']) ? $notifydata['total_fee'] : '';
 //微信支付金额
 $up_transaction_id = isset($notifydata['transaction_id']) ? $notifydata['transaction_id'] : '';
 //微信支付订单号
 $up_return_code = isset($notifydata['return_code']) ? $notifydata['return_code'] : '';
 //微信支付返回状态
 $up_result_code = isset($notifydata['result_code']) ? $notifydata['result_code'] : '';
 //微信支付业务状态
 //从商户订单号中获取网站ID,从而获取该网站的动态密钥
 $sid = IdeaUtil::getSidFromOut_trade_no($up_out_trade_no);
 $privateKey = WxPayConf_pub::privateKey;
 $sitename = WxPayConf_pub::sitename;
 if ($paystatus == 'get_brand_wcpay_request:ok' && !empty($up_url)) {
     //支付成功
     //加入订单号包涵 "rp"分割字符串得到原始商户订单号用于api订单更新
     if (strpos($up_out_trade_no, 'rp')) {
         $arr_out_trade_no = explode('rp', $up_out_trade_no);
         $up_out_trade_no = $arr_out_trade_no[0];
     }
     //生成签名
     $privateKey = isset($privateKey) ? $privateKey : '515xinyuemin';
     //获取不到密钥,就用默认密钥
     $timestamp = time();
     $nonce = md5(base64_encode($up_openid . $up_out_trade_no . $up_total_fee . 'xym'));
     $signature = IdeaUtil::generateSignature($timestamp, $nonce, $privateKey);