问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

php 后台怎么把多种支付方式集成在一起 可以先择性安装

发布网友 发布时间:2022-04-23 14:43

我来回答

1个回答

热心网友 时间:2022-04-06 08:46

  本文将介绍如何快速通过PHP类库来集成、整合支付宝来实现充值功能。如果你的系统想要扩充积分、账户余额等功能,那么就要选择一个第三方支付系统来充值。
  支付宝集成时,需要三大步:
  1、通过表单提交信息,系统整合信息,提交信息到支付宝;
  2、用户进行支付后,支付宝后台通知系统处理;
  3、支付宝后台通知完成后,支付宝前台跳转到系统返回地址;
  支付宝PHP类
  PHP 类alipay_notify,主要功能是付款过程中服务器通知处理。
  PHP 类alipay_service,根据支付宝外部服务接口生成支付宝地址。
  我把这2个类,集中到一个文件alipay.class.inc中,点击这里查看并下载PHP支付宝类源码。
  下面主要主要讲解通过支付宝的PHP类来实现整合。
  PHP支付宝集成
  第一步,建立提交充值的基本信息:
  fubao-chong PHP支付宝集成 建立提交充值的基本信息
  第二步,验证用户提交的金额正确,通过表单验证后,通过支付宝alipay_service类生成支付宝链接,然后跳转到支付宝链接。
  function index() {
  $total = intval($_POST['total']);
  if (!$total) {
  $total = 1;
  }
  $pay_bank = trim($_POST['pay_bank']);
  $account = $_POST['_account'];
  $base_path = ‘http://’.$_SERVER['HTTP_HOST'].base_path();
  $order_id = date(‘YmdHis’, time()); //时间值作为唯一的订单ID号
  $subject = $body = ‘LixiPHP充值’.$total.’元’;
  $out_trade_no = date(‘YmdHis’, time()).’-’.$account->student['sid'];
  //合作身份者ID,以2088开头的16位纯数字
  $partner = ’20887015**9*7**’;
  //安全检验码,以数字和字母组成的32位字符
  $security_code = ‘gc2qxh4**ab***3jp8*****2ptxewks4′;
  //签约支付宝账号或卖家支付宝帐户
  $seller_email = ‘seller@alipay.com’;
  $_input_charset = "UTF-8";
  $sign_type = "MD5"; //签名方式
  $transport = ‘https’;//字符编码格式
  $parameter = array(
  "service" => "create_direct_pay_by_user", //交易类型
  "partner" => $partner, //合作商户号
  "return_url" => $base_path.’alipay/return’, //同步返回
  "notify_url" => $base_path.’alipay/notify’, //异步返回
  "_input_charset" => ‘UTF-8′, //字符集,默认为GBK
  "subject" => $subject, //商品名称,必填
  "body" => $subject, //商品描述,必填
  "out_trade_no" => $out_trade_no, //商品外部交易号,必填(保证唯一性)
  "price" => $total, //商品单价,必填(价格不能为0)
  "payment_type" => "1", //默认为1,不需要修改
  "quantity" => "1", //商品数量,必填
  "paymethod" => ‘directPay’,
  "defaultbank" => $pay_bank,
  "logistics_fee" =>’0.00′, //物流配送费用
  "logistics_payment" =>’BUYER_PAY’, //物流费用付款方式:SELLER_PAY(卖家支付)、BUYER_PAY(买家支付)、BUYER_PAY_AFTER_RECEIVE(货到付款)
  "logistics_type" =>’EXPRESS’, //物流配送方式:POST(平邮)、EMS(EMS)、EXPRESS(其他快递)
  //"receive _mobile" => ”, //收货人手机
  "show_url" => $base_path, //商品相关网站
  "seller_email" => $seller_email, //卖家邮箱,必填
  );
  require("../libraries/payment/alipay.class.inc");
  $alipay = new alipay_service($parameter, $security_code, $sign_type);
  $link = $alipay->create_url();
  header("Location: ".$link);
  }
  用户跳转到支付宝支付界面后,默认的支付银行是在提交表单前选择的网上银行,选择支付宝的话就是使用支付宝余额支付。然后就是等待用户支付了。用户完成支付后,请会发生下面的几个步骤,当然如果用户放弃支付的话,就没有后面的处理了。
  第三步,用户进行支付后,支付宝后台通知系统处理。系统处理页面主要是根据生成支付宝链接是使用的notify_url来决定的。它处理完成后,成功返回success,失败返回fail,如果支付宝收到的是fail,那么支付宝还会在隔1小时,1天,1周等周期再次通知服务器处理,这里的周期需求向支付宝询问。如果支付宝收到的是success,注意支付宝好像在一个月后要发送一次TRADE_FINISHED表示交易完成,这个一定不要再给用户加一次充值了。
  function alipay_notify() {
  $out_trade_no = date(‘YmdHis’, time()).’-’.$account->student['sid'];
  //合作身份者ID,以2088开头的16位纯数字
  $partner = ’20887015**9*7**’;
  //安全检验码,以数字和字母组成的32位字符
  $security_code = ‘gc2qxh4**ab***3jp8*****2ptxewks4′;
  //签约支付宝账号或卖家支付宝帐户
  $seller_email = ‘seller@alipay.com’;
  $sign_type = "MD5";
  $_input_charset = ‘UTF-8′;
  $transport = ‘https’;
  require("../libraries/payment/alipay.class.inc");
  $alipay = new alipay_notify($partner,$security_code,$sign_type,$_input_charset,$transport);
  $verify_result = $alipay->notify_verify();
  //支付宝 Notice verify
  if($verify_result) {
  //认证合格
  //获取支付宝的反馈参数
  //获取支付宝传递过来的订单号
  $order_id = $_POST['out_trade_no'];
  //获取支付宝传递过来的总价格
  $total_fee = $_POST['total_fee'];
  //拆分订单号为订单和学员ID
  $txn_id = explode(‘-’, $order_id);
  $real_orderid = $txn_id[0]; //get the real order
  $sid = $txn_id[1];
  if($_POST['trade_status'] == ‘TRADE_SUCCESS’) {
  //这里放入你自定义代码,比如根据不同的trade_status进行不同操作
  mysql_query("UPDATE {student} set balance = balance+%d where sid = %d", (int) $total_fee, $sid);
  mysql_query("INSERT INTO {payment_receipts} (sid, order_id, amount, received) VALUES (%d, ‘%s’, %f, %d)", $sid, $real_orderid, (int) $total_fee, time());
  echo "success";
  }
  else {
  echo "fail";
  }
  }
  else {
  echo "fail";
  }
  }
  第四步,用户完成支付后,支付宝前台跳转到系统返回地址。这个页面其实可以只做一个非常简单页面,不用做任何验证。但是为了安全建议也做一下返回验证。但是最后不要在返回页面做数据库操作。
  function alipay_return() {
  $out_trade_no = date(‘YmdHis’, time()).’-’.$account->student['sid'];
  //合作身份者ID,以2088开头的16位纯数字
  $partner = ’20887015**9*7**’;
  //安全检验码,以数字和字母组成的32位字符
  $security_code = ‘gc2qxh4**ab***3jp8*****2ptxewks4′;
  //签约支付宝账号或卖家支付宝帐户
  $seller_email = ‘seller@alipay.com’;
  $sign_type = "MD5";
  $_input_charset = ‘UTF-8′;
  $transport = ‘https’;
  require("../libraries/payment/alipay.class.inc");
  $alipay = new alipay_notify($partner,$security_code,$sign_type,$_input_charset,$transport);
  $verify_result = $alipay->return_verify();
  $order_id = $_GET['out_trade_no']; //获取订单号
  $total_fee = (int) $_GET['total_fee']; //获取总价格
  $txn_id = explode(‘-’, $order_id);
  $real_orderid = $txn_id[0]; //get the real order
  $sid = $txn_id[1];
  //认证合格
  if($verify_result) {
  $output = ‘<h2>恭喜您,学员ID’.$sid.’充值’.$total_fee.’元成功!</h2>’;
  $student = mysql_query("SELECT uid, balance FROM {student} WHERE sid = %d", $sid);
  $output .= ‘<p>您目前的余额’.$student->balance.’元。</p>’;
  $output .= l(‘查看记录’, ‘user/’.$student->uid.’/depositlogs’);
  return $output;
  }
  else {
  $output = ‘<h2>你的订单支付过程出现故障!</h2>’;
  $output .= ‘<p>您的交易信息是无效的,如果你使用的是已有的返回信息的话,那么交易已经成立,你可以查看我的订单历史。<br>如果你是黑客的话,俺是守法的好公民,希望你能饶了我这个小店。’;
  $output .= ‘</p><p><a href="/">返回首页</a></p>’;
  return $output;
  }
  }
  如果用户是恶意修改网址参数,将会看到:
  callback return failed 如果用户是恶意修改网址参数
  如果用户正常通过支付宝自动跳转回来的,将会看到:
  callback return success 如果用户正常通过支付宝自动跳转回来的
  好的,赶快将以上方法和代码应用到你的积分、账户余额系统把!
如何用PHP实现POS机支付功能

供一个商城给第三方支付公司以通过审核。三:上传网络 POS 机代码程序到空间 这个时候就需要你上传网络 POS 机程序代码到你指定的空间位置了 四:程序环境配置成功后我们打开你申请域名设置绑定的这个目录网址后台。例如pos.XXX.com其中XXX.COM是你的根域名,你可以根据这个根域名建 刷卡机怎么做?1、第...

跨境电商自建独立站用什么好

NO.6OpenCartOpenCart是一个易于使用,功能强大的开源在线建站工具,它可以从一个后端管理多个在线店铺,有许多专业编写的扩展程序也可以帮助用户定制设计,用户需要做的就是从许多免费或低成本的模板站点中选择一个模板,加入产品描述和照片,就可以准备接受订单。工具亮点:多店铺运营:OpenCart支持在一个管理...

本地文件导入到svn服务器中是怎么存在的,可以在服务器中查到源文件...

web服务器可以既跑程序又当内存缓存,数据库服务器则只跑主数据库(假如是MySQL的话),备份服务器所承担就相对多一些,web配置、缓存配置、数据库配置都要跟前两台一致,这样WEB和数据库任意一台出问题,很容易就可以将备份服务器切换过去临时顶替,直到解决完问题。要注意,硬件是随时可能坏掉的,特别是硬盘,所以宁可WEB服...

怎么在电脑上建立一个简单的资料库

1、点击电脑上的开始”菜单“-打开控制面板-所有控制面板。2、找到ODBC,双击打开,系统自动弹出“ODBC数据源管理器”,3、ODBC数据源管理器:可以查看已有和数据源和新建空白的数据源。4、打开ODBC数据源管理器后,双击添加按钮,系统会弹出创建新数据源对话框,先择Microsft Access Driver(*.mdb),选择...

淘宝商城和ShopEx有哪些不同?

商品可捆绑销售(如将洗面奶和洗发水这2种商品捆绑在一起销售) 国际化功能 支持多种货币和语言(包括前台和后台语言) UTF-8国际化编码,可以扩展支持任意一种语言 整合功能 无缝整合各类第三方系统,可于论坛共享会员 无缝整合ShopEx客服通,在线和访客聊天 整合QQ、MSN、淘宝旺旺、阿里巴巴贸易通和Skype五种即时通讯软件...

python是个什么东西

Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。Python的创始人为荷兰人吉多·范罗苏姆(GuidovanRossum)。1989年圣诞节...

如何重新安装系统?

重新安装系统的具体步骤如下:我们需要准备的材料分别是:电脑、电脑管家。1、首先我们打开电脑管家,点击打开右下角工具箱中的“软件管理”。2、然后我们在弹出来的窗口中点击搜索“重装系统”,之后点击下载小白一键重装。3、然后我们等安装完成后,小白一键重装自动检测系统,之后就会重装系统了。

电脑启动太慢怎么办?

一、bios的优化设置 在bios设置的首页我们进入“advanced bios features”选项,将光标移到“frist boot device”选项,按“pageup”和“pagedown”进行选择,默认值为“floppy”,这表示启动时系统会先从软驱里读取启动信息,这样做会加长机器的启动时间,减短软驱的寿命。所以我们要选“hdd-0”直接从硬盘启动,这样启动就...

怎样制作网页,要下载什么程序

网站上传以后,你要在浏览器中打开自己的网站,逐页逐个链接的进行测试,发现问题,及时修改,然后再上传测试。全部测试完毕就可以把你的网址告诉给朋友,让他们来浏览。 七、推广宣传 网页做好之后,还要不断地进行宣传,这样才能让更多的朋友认识它,提高网站的访问率和知名度。推广的方法有很多,例如到搜索引擎上注册、与...

请问那有红旗 Linux 桌面5.0 的驱动软件下载?下载后怎么安装呢?

成CD-R,或者拷贝到硬盘上安装。由于安装时的文件名大小写问题,我们一般建议将下 载的文件放到你的本地服务器上,通过ftp安装,然而这要求你首先有一台基本的linux 服务器。否则,你就需要烧制CD-R了。 如果有国际流量问题,可以考虑到教育网内的某个站点下载。另外,Turbo Linux公司 设有国内分公司,可以到www.turbo...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
自动回复软件(自动回复软件下载) 庐山的原名叫什么 庐山的命名由来和文化传说有哪些? 怎样轻松运营本地资讯网站 微信发图片怎么突然模糊了 怎么将excel表格中的数字去掉怎么将excel表格中的数字去掉一个_百度... ...由于没有工作经验,求职会计和出纳都是石沉大海,怎么办? 我想找一种测试工具。工作范围:软件测试,产品功能测试,电子相关器件... 有一个小米手机推荐游戏,我想不起来名字是英文的 音乐超级带感 好像... 怎么样吃石榴最爽? “当面付”是一个二维码支持多种支付方式吗? 现在支付方式有很多种,你更加倾向哪一种方式支付? 象过河软件免费版的多支付方式怎么操作? 支持多种费用支付方式 简述企业电子商务网站需要提供多种支付方式的原因 以前糯米有很多支付方式选项现在只有百度钱包 五谷杂粮分别有什么? 云支付收款码有什么优势?为什么支付宝收款码很多,为什么还推出云支付收款呢?_百度问一问 你现在用的最多的支付方式是哪种? 给付款方多付多了款怎么办? 请列出超市专卖的五谷杂粮所有名称,答好奖高分!! 面对市场的多种支付方式,中付支付pos机可靠吗? 苹果手机绑定了多种支付方式,支付时可供多种选择吗? 淘宝网怎么弄多种支付方式 wordpress如何设置多种支付方式 有没有哪个商城系统可以支持多途径的支付方式 晒干的没剥壳的莲蓬怎么吃 莲蓬煮水有什么用 鲜莲房泡水喝拉肚子是真的吗 莲蓬可以泡茶喝吗 什么叫第四方支付?我怎么使用第四方支付? ps里怎么将图层导成png photoshop中没有快速导出png这个功能怎么解决? 请问大家ps怎么图层批量导出序列png啊? PS怎么把一个文件夹里的PSD导出成PNG图片格式? 如何使用PS导出32位的PNG图片? PS图层右击批量导出png,是怎么做到的??? photoshop混合模式的图层怎么样保存出png背景透明的图片 清明节的来历和习俗有哪些? 清明节的时间和习俗? 我买了一个福克斯特solo声卡但是驱动的Clock status显示locked连接不到电脑,求解 福克斯特solo二代驱动安装失败 福克斯特solo三代和二代的区别有哪些? 福克斯特solo声卡插入后灯一闪一闪的,电脑上也有蹬蹬蹬蹬的声音,驱动上说好不到声卡是为什么T^ 福克斯特SOLO3RD声卡怎么调试,小白真心求教。只是想微调一下声音而已,不会很复杂? 福克斯特声卡驱动装不上 福克斯特solo三代能推动舒尔sm57吗? 福克斯特solo三代声卡怎么样? 福克斯特solo三代对电脑的要求 福克斯特solo的声卡和舒伯乐s241还有48v幻象电源怎么装啊?
  • 焦点

最新推荐

猜你喜欢

热门推荐