整合支付宝即时交易+扫码支付
php语言2.46W
Thinkphp5技术小技巧,下面是由本站小编为大家整理的整合支付宝即时交易+扫码支付,喜欢的可以收藏一下!了解更多详情资讯,请关注应届毕业生考试网! 第一步:在配置文件添加配置文件 'ALIPAY_CONFIG' => [ 'partner' => '' // partner 从支付宝商户版个人中心获取 'seller_email' => '' // email 从支付宝商户版个人中心获取 'key' => '' // key 从支付宝商户版个人中心获取 'sign_type' => strtoupper(trim('MD5')) // 可选md5 和 RSA 'input_charset' => 'utf-8' // 编码 (固定值不用改) 'transport' => 'http' // 协议 (固定值不用改) 'cacert' => EXTEND_PATH.'Alipay/' // 存放的位置 (固定值不用改) 'notify_url' => '' // 异步接收支付状态通知的链接 'return_url' => '' // 页面跳转 同步通知 页面路径 支付宝处理完请求后当前页面自 动跳转到商户网站里指定页面的 http 路径。 (扫码支付专用) 'private_key_path' => '' //移动端生成的私有key文件存放于服务器的 绝对路径 如果为MD5加密方式;此项可为空 (移动支付专用) 'public_key_path' => '' //移动端生成的公共key文件存放于服务器的 绝对路径 如果为MD5加密方式;此项可为空 (移动支付专用) ] 第二步:在公共文件添加公共函数 function alipay($order){ import('aySubmit' EXTEND_PATH ''); // 获取配置 $config=config('ALIPAY_CONFIG'); $data=array( "_input_charset" => $config['input_charset'] // 编码格式 "logistics_fee" => "0.00" // 物流费用 "logistics_payment" => "SELLER_PAY" // 物流支付方式SELLER_PAY(卖家承担运费)、BUYER_PAY(买家承担运费) "logistics_type" => "EXPRESS" // 物流类型EXPRESS(快递)、POST(平邮)、EMS(EMS) "notify_url" => $config['notify_url'] // 异步接收支付状态通知的.链接 "out_trade_no" => $order['out_trade_no'] // 订单号 "partner" => $config['partner'] // partner 从支付宝商户版个人中心获取 "payment_type" => "1" // 支付类型对应请求时的 payment_type 参数原样返回。固定设置为1即可 "price" => $order['price'] // 订单价格单位为元 "quantity" => "1" // price、quantity 能代替 total_fee。 即存在 total_fee就不能存在 price 和 quantity;存在 price、quantity 就不能存在 total_fee。 (没绕明白;好吧;那无视这个参数即可) "receive_address" => '1' // 收货人地址 即时到账方式无视此参数即可 "receive_mobile" => '1' // 收货人手机号码 即时到账方式无视即可 "receive_name" => '1' // 收货人姓名 即时到账方式无视即可 "receive_zip" => '1' // 收货人邮编 即时到账方式无视即可 "return_url" => $config['return_url'] // 页面跳转 同步通知 页面路径 支付宝处理完请求后当前页面自 动跳转到商户网站里指定页面的 http 路径。 "seller_email" => $config['seller_email'] // email 从支付宝商户版个人中心获取 "service" => "create_direct_pay_by_user" // 接口名称 固定设置为create_direct_pay_by_user "show_url" => $order['show_url'] // 商品展示网址收银台页面上商品展示的超链接。 "subject" => $order['subject'] // 商品名称商品的标题/交易标题/订单标 题/订单关键字等 ); $alipay=new AlipaySubmit($config); $new=$alipay->buildRequestPara($data); $go_pay=$alipay->buildRequestForm($new 'get''支付'); echo $go_pay; } 第三步:在控制器创建如文件 public function alipay_return() { // 引入支付宝 import('ayNotify' EXTEND_PATH ''); $config = $config = config('ALIPAY_CONFIG'); $notify = new AlipayNotify($config); // 验证支付数据 $status = $notify->verifyReturn(); if($status){ // 下面写验证通过的逻辑 比如说更改订单状态等等 $_GET['out_trade_no'] 为订单号; $this->success('支付成功'); }else{ $this->success('支付失败'); } } public function alipay_notify() { // 引入支付宝 import('ayNotify' EXTEND_PATH ''); $config = $config = config('ALIPAY_CONFIG'); $alipayNotify = new AlipayNotify($config); // 验证支付数据 $verify_result = $alipayNotify->verifyNotify(); if($verify_result) { echo "success"; // 下面写验证通过的逻辑 比如说更改订单状态等等 $_POST['out_trade_no'] 为订单号; }else { echo "success"; } } public function alipay() { $data=array( 'out_trade_no'=>time() 'price'=>1 'subject'=>'测试' ); alipay($data); } 最后导入sdk文件(群文件下载)/extend/Alipay
-
PHP字符串函数大汇总
我们大家知道无论哪种编程语言,字符串操作都是一个重要的基础,往往是简单而重要。PHP给我们提供了大量的字符串操作函数,功能强大,使用也比较简单,在这里小编为大家总结九类字符串函数。1.查找字符位置函数strpos($str,search,[int]):查找search在$str中的第一次位...
-
PHP常用开发技巧
PHP开发常用技巧能使你在开发过程中快而有效.以下就是小编精心推荐PHP常用开发技巧,希望对大家有帮助!1使用dowhile避免多层if语句嵌套我们直接举例说明:实现方式①if($name=='hedong'){if($sex=='male'){if($major=='PHP'){$ret='...
-
PHP编程常用技巧四则
PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。下面就来和小编一起看看PHP编程常用技巧四则吧。1.配置PHP文件目录作为服务器端解释执行的脚本语言,PHP程序放置在某个服务器可以访问的目录下,一般可以通过修改Apache的进行配置,例如我们在该文件中的一句:Ali...
-
PHP时间和日期函数怎么操作
php函数的多样化和功能相近真是一大特点,同一个应用可以用多种函数实现,这恐怕也是开源的一个弊端了;通过对PHP时间函数的系统学习,充分理解了时间戳和时区的概念(这个真的很重要),有需要的小伙伴可以参考下。PHP中所有函数都是UNIX纪元的,即从1970年1月1日开始的。日...