合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
## 先下载我们的SDK插件放到根目录tp框架放到public目录下,[下载SDK](插件目录.md) [TOC] ``` 下载后需要修改fastpay文件夹里面Fast_Cofig.php里面替换成你的秘钥!如果需要汇款接口!请联系客服获取汇款接口请求地址!然后替换到Fast_Cofig.php里面 ``` ## 怎么从数据库加载我们的appkey跟秘钥等 ``` $sysconfig = M('sys_config')->find();//数据库查询 define("FAST_APPKEY", $sysconfig['你的appkey']);//你的appkey define("SECRET_KEY", $sysconfig['你的秘钥']);//你的秘钥 //定义后在加载fastpay支付插件 if (!function_exists('get_openid')) { require $_SERVER['DOCUMENT_ROOT'].'/fastpay/Fast_Cofig.php'; } ``` > //先定义后加载我们的SDK,这个时候我们SDK里面的appkey跟秘钥就会失效!填不填写都无所谓,以上只是示例!具体需要根据自己的逻辑写 ## 发起支付(默认参数是http,可选择https) 调用以下接口!请确定已经上传收款码跟店员码(重要) ``` //加载fastpay支付插件 if (!function_exists('get_openid')) { require $_SERVER['DOCUMENT_ROOT'].'/fastpay/Fast_Cofig.php'; } $paydata=array(); $paydata['pay_way']="wechat";//wechat为微信支付,alipay为支付宝 $paydata['uid']="";//付款用户uid,【如果没有可以填写ip,(无需注册的用户填写ip即可!!非常重要,不然会造成漏单) $paydata['pay_title']="微信支付";//支付标题,可无 $paydata['order_no']="";//订单号,必填 $paydata['total_fee']="2.00";//金额必填,带2位小数点 $paydata['param']="";//其他参数,回调里面使用$_POST['me_param'];获取值 $paydata['me_back_url']="http://".$_SERVER['HTTP_HOST'];//支付成功后跳转 $paydata['notify_url']="http://www.baidu.com";//支付成功后异步回调 $geturl=fastpay_order($paydata,"http");//获取支付链接,可以传入https exit("<meta http-equiv='Refresh' content='0;URL={$geturl}'>"); ``` > 关于回调地址优先顺序:下单时候填写的优先->Fast_Cofig.php->会员中心里面的回调 ## 异步回调 ``` //加载fastpay支付插件 if (!function_exists('get_openid')) { require $_SERVER['DOCUMENT_ROOT'].'/fastpay/Fast_Cofig.php'; } $sign=$_POST['sign_notify'];//获取签名2.07版,2.07以下请使用$sign=$_POST['sign']; $check_sign=notify_sign($_POST); if($sign!=$check_sign){ exit("签名失效"); //签名计算请查看怎么计算签名,或者下载我们的SDK查看 } $uid = $_POST['uid'];//支付用户 $total_fee = $_POST['total_fee'];//实际支付金额(可能会带增加0.01等),如果要验证金额请使用下面的me_pri $pay_title = $_POST['pay_title'];//标题 $sign = $_POST['sign'];//签名 $order_no = $_POST['order_no'];//订单号 $me_pri = $_POST['me_pri'];//平台订单的金额, $me_param = $_POST['me_param'];//其他参数 $pay_way = $_POST['pay_way'];//支付方式wechat为微信,alipay为支付宝 //更新数据库 echo "SUCCESS"; ``` ## 获取微信用户信息(用我们接口就不需要公众号了,收费项目,请联系客服测试) ``` //fastpay获取用户信息 //此接口需要联系客服开通 //加载fastpay支付插件 if (!function_exists('get_openid')) { require $_SERVER['DOCUMENT_ROOT'].'/fastpay/Fast_Cofig.php'; } $userinfo=get_openid_info($_GET);//参数为必须为get数组 if(!is_array($userinfo)){ $userinfo=json_decode($userinfo,true); } $openid =$userinfo['openid'];//用户的openid $nickname =$userinfo['nickname'];//用户昵称 $headimgurl = $userinfo['headimgurl'];//用户头像 $sex = $userinfo['sex'];//性别 $province = $userinfo['province'];//省份 $city = $userinfo['city'];//城市 $country = $userinfo['country'];//国家,如中国为CN $privilege = $userinfo['privilege'];//用户特权信息,json 数组,如微信沃卡用户为 ``` ``` ## 备注详解 $_GET 为数组参数分别为$_GET['back_url']跟$_GET['fast_weixin_token'] $_GET['back_url']为需要返回的跳转的URL $_GET['fast_weixin_token']根据返回的fast_weixin_token参数curl获取用户信息 第一步 :http://xxx.com/code_user.php?appkey=你的appkey&sign=你的签名&back_url=返回地址 第二部:我们会跳转到你的back_url并且在后面添加?fast_weixin_token=xxxxxxx 第三部:根据我们返回的fast_weixin_token,你curl提交post到http://xxx.com/code_user.php即可获取用户信息 xxx.com为示例具体域名请跟客户索取 ``` ## 下单签名计算 ``` $str_sign="appkey=你的appkey&order_no=你的订单号&secretkey=你的秘钥&total_fee=下单金额&uid=用户id&"; $sign=md5($str_sign); return $sign; ``` 备注:金额带两位小数点,比如:2.00 ## 回调验证签名(与下单签名不一样下单的是total_fee回调参与签名的是me_pri) ``` $str_sign="appkey=你的appkey&order_no=你的订单号&secretkey=你的秘钥&me_pri=我们返回的me_pri&uid=用户id&"; $sign=md5($str_sign); if($sign!=$_POST['sign_notify']){ exit("签名失效"); //签名计算请查看怎么计算签名,或者下载我们的SDK查看 } //以上参与签名的参数我们都会发送到你的回调地址,你直接POST接收,计算签名就行(除过秘钥) ``` ## 汇款计算签名 ``` $str_sign="appkey=你的appkey&openid=第一获取的openid&amount=金额&billno=订单号&secretkey=你的秘钥&"; $sign=md5($str_sign); ```