1、什么是支付接口
2、实现在线支付接口的原理和流程
3、学习支付宝接口及时到账开发和配置
支付接口一般是第三方提供的代收款/付款的平台,可以通过支付接口帮助企业或个人利用一切可以使用的支付方式(手机、银行卡、会员卡等)产生交易。常见支付平台:支付宝、块钱、云网支付、贝宝、财付通(QQ)等
参考配置代码alipay.config.php
01 $aliapy_config[partner] = 您的合法者身份ID; 02 03 //安全检验码,以数字和字母组成的32位字符 04 $aliapy_config[key] = 安全吗; 05 06 //签约支付宝账号或卖家支付宝帐户 07 $aliapy_config[seller_email] = 您的支付宝账号; 08 09 //页面跳转同步通知页面路径,要用 http://格式的完整路径,不允许加?id=123这类自定义参数 10 //return_url的域名不能写成http://localhost/create_direct_pay_by_user_php_gb/return_url.php ,否则会导致return_url执行无效 11 $aliapy_config[return_url] = http://www.0917cc.com/aplay/return_url.php; 12 13 //服务器异步通知页面路径,要用 http://格式的完整路径,不允许加?id=123这类自定义参数 14 $aliapy_config[notify_url] = http://www.0917cc.com/aplay/notify_url.php; 15 16 //↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 17 18 19 //签名方式 不需修改 20 $aliapy_config[sign_type] = MD5; 21 22 //字符编码格式 目前支持 gbk 或 utf-8 23 $aliapy_config[input_charset]= gbk; 24 25 //访问模式,根据自己的服务器是否支持ssl访问,若支持请选择https;若不支持请选择http 26 $aliapy_config[transport] = http;
支付页面return_url.php
01 $alipayNotify = new AlipayNotify($aliapy_config); 02 $verify_result = $alipayNotify->verifyReturn(); 03 if($verify_result) {//验证成功 04 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 05 //请在这里加上商户的业务逻辑程序代码 06 07 //――请根据您的业务逻辑来编写程序(以下代码仅作参考)―― 08 //获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表 09 $out_trade_no = $_GET[out_trade_no]; //获取订单号 10 $trade_no = $_GET[trade_no]; //获取支付宝交易号 11 $total_fee = $_GET[total_fee]; //获取总价格 12 13 if($_GET[trade_status] == TRADE_FINISHED || $_GET[trade_status] == TRADE_SUCCESS) { 14 //判断该笔订单是否在商户网站中已经做过处理 15 //如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序 16 //如果有做过处理,不执行商户的业务程序 17 $sqldingdan="select 订单 from 数据库 where 订单字段=".$out_trade_no." "; 18 $num = mysql_num_rows(_query($sqldingdan)); 19 //判断有无此订单号 20 if($num==0){ 21 _query("INSERT INTO .....)");//插入订单平且更新订单为已付款 22 _query("UPDATE ......");更新数据库用户的金额 23 } 24 25 26 } 27 else { 28 echo "trade_status=".$_GET[trade_status]; 29 } 30 31 echo "验证成功<br />"; 32 echo "trade_no=".$trade_no; 33 34 //――请根据您的业务逻辑来编写程序(以上代码仅作参考)―― 35 36 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 37 } 38 else { 39 //验证失败 40 //如要调试,请看alipay_notify.php页面的verifyReturn函数,比对sign和mysign的值是否相等,或者检查$responseTxt有没有返回true 41 echo "验证失败"; 42 }