PHP几种常见的支付功能实现
程序员文章站
2024-01-22 20:57:58
...
PHP几种常见的支付功能实现
1. PHP实现支付宝付款的功能支付宝的支付现在已经占领了大部分的市场,所以学习支付宝接口配置就显得非常重要了,首先我们需要下载支付宝的接口源码包,我的下载的源码包如下所示,使用方式如下:配置文件alipay.config.php的内容
创建一个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') 判断成功与否的。
最终根据结果作操作你的状态值。
到这儿的话基本上都完成了流程,具体代码见附件里面的内容!
点击链接可以下载: 支付宝源码包下载
上一篇: 99%的人都理解错了HTTP中GET与POST的区别(转载
下一篇: php cookie 设置问题
推荐阅读