PHP 接入支付宝即时到账功能
前端之家收集整理的这篇文章主要介绍了
PHP 接入支付宝即时到账功能,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
首先请到支付宝那边申请一个及时到账的接口账户,需要提交相关材料申请。然后根据即时到账的API文档进行接入。API文档提供了各种语言版本的demo,我这里是下的PHP版demo,然后再进行相关修改操作。你也可以将demo版本的代码重新整合,我这里暂时为了走通充值及时到账流程,就不进行代码重构了。
API文档:
设置alipay.config.PHP配置文件,主要配置一下几个参数
$alipay_config['partner'] 设置签约账号ID
$alipay_config['key'] 设置MD5校验key
$alipay_config['notify_url'] 设置异步回调地址
$alipay_config['return_url'] 设置回调返回地址
$alipay_config['transport'] 设置协议类型,默认为http
PHP;">
$alipay_config['partner'] = 'xxxxxxxxxxxx';
//收款支付宝账号,以2088开头由16位纯数字组成的字符串,一般情况下收款账号就是签约账号
$alipay_config['seller_id'] = $alipay_config['partner'];
// MD5密钥,安全检验码,由数字和字母组成的32位字符串,查看地址:https://b.alipay.com/order/pidAndKey.htm
$alipay_config['key'] = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
// 服务器异步
通知页面路径 需http://格式的完整路径,不能加?id=123这类
自定义参数,必须外网可以正常访问
$alipay_config['notify_url'] = "http://xx.xx.xx.xx/pay/notify_url.
PHP";
//
页面跳转同步
通知页面路径 需http://格式的完整路径,不能加?id=123这类
自定义参数,必须外网可以正常访问
$alipay_config['return_url'] = "http://xx.xx.xx.xx/pay/return_url.
PHP";
//签名方式
$alipay_config['sign_type'] = strtoupper('MD5');
//字符编码格式 目前
支持 gbk 或 utf-8
$alipay_config['input_charset']= strtolower('utf-8');
//ca证书路径地址,用于curl中ssl校验
//请保证cacert.pem
文件在当前
文件夹目录中
$alipay_config['cacert'] = getcwd().'\\cacert.pem';
//访问模式,根据自己的服务器是否
支持ssl访问,若
支持请选择https;若
不支持请选择http
$alipay_config['transport'] = 'http';
// 支付类型 ,无需
修改
$alipay_config['payment_type'] = "1";
// 产品类型,无需
修改
$alipay_config['service'] = "create_direct_pay_by_user";
交易处理完成后会发送订单信息及交易状态到你指定好的回传return_url.PHP中,你可以通过回传给你的订单状态判断交易是否成功,成功则进入下一步逻辑(你自己的订单处理逻辑),否则返回失败。
PHP;">
<
Meta http-equiv="Content-Type" content="text/html; charset=utf-8">
verifyReturn();
if($verify_result) {//验证成功
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//请在这里
加上商户的业务逻辑程序
代码
//——请根据您的业务逻辑来编写程序(以下
代码仅作参考)——
//
获取支付宝的
通知返回参数,可参考技术文档中
页面跳转同步
通知参数列表
//商户订单号^M
$out_trade_no = $_GET['out_trade_no'];
//支付宝交易号^M
$trade_no = $_GET['trade_no'];
//交易状态
$trade_status = $_GET['trade_status'];
$total_fee = $_GET['total_fee'];
//
获取用户返回数据
$user_info = $_GET['extra_common_param'];
$user_arr = explode('.',$user_info);
$uid = $user_arr[0];
$code = $user_arr[1];
$tags = $user_arr[2];
if($_GET['trade_status'] == 'TRADE_FINISHED' || $_GET['trade_status'] == 'TRADE_SUCCESS') {
$types = "alipay";
$user_url = "/user_obj/do_orderinfo.
PHP";
die("");
//判断该笔订单是否在商户网站中已经做过处理
//如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序
//如果有做过处理,不执行商户的业务程序
}
else {
echo "trade_status=".$_GET['trade_status'];
}
var_dump($verify_result);
echo "验证成功
";
//——请根据您的业务逻辑来编写程序(以上
代码仅作参考)——
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}
else {
//验证失败
//如要调试,请看alipay_notify.
PHP页面的verifyReturn
函数
echo "验证失败";
}
?>
支付宝即时到账交易接口
以上所述是小编给大家介绍的PHP 接入支付宝即时到账功能。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。
原文链接:https://www.f2er.com/php/19018.html