PHP几种常见的支付功能实现
1. PHP实现支付宝付款的功能
支付宝的支付现在已经占领了大部分的市场,所以学习支付宝接口配置就显得非常重要了,首先我们需要下载支付宝的接口源码包,我的下载的源码包如下所示,使用方式如下:配置文件alipay.config.php的内容
![](http://blog.chinaunix.net/data:image/png;base64,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)
创建一个test.php文件,文件的主要内容是一个表单,表单主要包含几个主要的信息,
一个是u_id,方便返回时做判断,一个是付款金额fee,还有一个是订单名称,作为支付宝标题或者是付款方标志信息,form表单提交方式是get,简单代码如下:
提交到页面alipayapi.php,组装内容如下所示,代码展示:
//支付类型
$payment_type = "1";
//必填,不能修改
//服务器异步通知页面路径
$notify_url = "http://news.gcpunion.org/apily/notify_url.php";
//需http://格式的完整路径,不能加?id=123这类自定义参数 //页面跳转同步通知页面路径
$return_url = "http://news.gcpunion.org/return_url.php";
//需http://格式的完整路径,不能加?id=123这类自定义参数,不能写成http://localhost/ //卖家支付宝帐户
$seller_email = "stiven0.cao@smo-china.com";
//必填
//商户订单号
$no=date("Ymdhis",time());
$out_trade_no = "Active_".$no."_".$_GET['u_id'];fa
//商户网站订单系统中唯一订单号,必填 //订单名称
$name=iconv("gb2312","utf-8",$_GET['name']);
$subject =$_GET['company'];
//必填 //付款金额
$total_fee = $_GET['fee'];
//必填 //订单描述 $body = "";
//商品展示地址
$show_url = "";
//需以http://开头的完整路径,例如:http://www.xxx.com/myorder.html //防钓鱼时间戳
$anti_phishing_key = "";
//若要使用请调用类文件submit中的query_timestamp函数 //客户端的IP地址
$exter_invoke_ip = "";
//非局域网的外网IP地址,如:221.0.0.1
/************************************************************/
//构造要请求的参数数组,无需改动
$parameter = array(
"service" => "create_direct_pay_by_user",
"partner" => trim($alipay_config['partner']),
"payment_type" => $payment_type,
"notify_url" => $notify_url,
"return_url" => $return_url,
"seller_email" => $seller_email,
"out_trade_no" => $out_trade_no,
"subject" => $subject,
"total_fee" => $total_fee,
"tel" => $_GET['tel'],
"mobile" => $_GET['mobile'],
"email" => $_GET['email'],
"name" => $_GET['name'],
"company" => $_GET['company'],
"body" => $body,
"show_url" => $show_url,
"anti_phishing_key" => $anti_phishing_key,
"exter_invoke_ip" => $exter_invoke_ip,
"_input_charset" => trim(strtolower($alipay_config['input_charset']))
);
里面主要封装了传值的主要内容,以及如何处理传来的值。
最后提交成功,付款成功后会返回到我们设置的返回页面,http://news.gcpunion.org/apily/notify_url.php,内容的话,基本上根据付款情况修改我们需要鉴别的状态值,主要代码是,if($_GET['trade_status'] == 'TRADE_SUCCESS'&&$_GET['is_success'] == 'T') 判断成功与否的。
最终根据结果作操作你的状态值。
到这儿的话基本上都完成了流程,具体代码见附件里面的内容!
点击链接可以下载:
支付宝源码包下载
http://www.bkjia.com/PHPjc/994054.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/994054.htmlTechArticlePHP几种常见的支付功能实现 1. PHP实现支付宝付款的功能 支付宝的支付现在已经占领了大部分的市场,所以学习支付宝接口配置就显得非常...