<?php//由此才可以正常使用db类require_once('../../include/db.class.php');//这里是微信小程序的支付参数生成页面//引进简单的安全输入过滤require_once'../safy_input/safy_input.php';//前端发来的code//一块钱一个$code=safyInput($_GET['code'])?:0;//支付金额$fee=safyInput($_GET['fee'])?:0;//充值来源$from='微信小程序充值';//充值用户$userId=safyInput($_GET['user_id'])?:0;//ip$ip=safyInput($_GET['ip'])?:'0';//uid$row=$db->getRow('select id from spt_member where userid = "'.$userId.'"');$uid=$row[id];//获取openid$appid="你的id";$appsecret="你的app密钥";$url="https://api.weixin.qq.com/sns/jscode2session?appid={
$appid}&secret={
$appsecret}&js_code={
$code}&grant_type=authorization_code";//curl获取openid$openid=getKey($url);$openid=json_decode($openid,true)['openid']?:0;//测试金额//$fee=0.01;$body='金币充值';$mch_id='商家的支付账号';//随机字符串生成$nonce_str=createStr();//支付结果回调地址,暂时空$notify_url='你的回调地址';//商户订单号生成$out_trade_no=createTradeNo();//当前服务器的ip地址,暂时是空$spbill_create_ip='服务器的ip地址';//微信支付的单位默认是分,因此需要乘以100来变分$total_fee=$fee*100;//交易类型//PC来源$from=safyInput($_GET['from'])?:'wechat';if($from=='PC'||$from=='pc'){
$trade_type='NATIVE';}else{
$trade_type='JSAPI';}//赋值签名数组,顺序不可以变化,否则签名错误,也可以使用ksort对数组进行按照键名asii码从小到大排序$post=array();$post['appid']=$appid;$post['body']=$body;$post['mch_id']=$mch_id;$post['nonce_str']=$nonce_str;$post['notify_url']=$notify_url;//PC来源if($from=='PC'||$from=='pc'){
//无操作}else{
$post['openid']=$openid;}$post['out_trade_no'