php支付宝接口实例文档,支付宝接口实例php版-程序员宅基地

技术标签: php支付宝接口实例文档  

支付页面:

$payr['paymethod']=2;

if($payr['paymethod']==0)//双接口

{

$use_service='trade_create_by_buyer';

}

elseif($payr['paymethod']==2)//担保接口

{

$use_service='create_partner_trade_by_buyer';

}

else//即时到帐接口

{

$use_service='create_direct_pay_by_user';

}

//------------------ 参数开始 ------------------

$agent="";

$service=$use_service;

//商户号

$partner='151164684846';

//密钥

$paykey='jsdifjoisoefi454654';

//卖家支付宝帐户

$seller_email='sdofiueoifueiowfi';

//字符编码格式

$_input_charset="GBK";

//加密方式

$sign_type="MD5";

//返回地址

$notify_url="http://".$_SERVER['HTTP_HOST']."/untitled1.php";

$return_url="http://".$_SERVER['HTTP_HOST']."/untitled1.php";

//支付方式

$payment_type=1;

//默认支付方式

$paymethod="";

//银行类型

$defaultbank="";

//物流类型

$logistics_type="EXPRESS";

//物流费用

$logistics_fee="0";

//物流支付类型

$logistics_payment="BUYER_PAY";

//------------------ 参数结束 ------------------

if($payr['paymethod']==1)//即时到帐不需要物流

{

$logistics_type="";

$logistics_fee="";

$logistics_payment="";

}

//支付金额

$price=56;

$quantity=1;

$out_trade_no=time(); //订单号

setcookie("checkpaysession",$out_trade_no); //设置定单号

//产品信息

$subject='鞋子'; //商品名称

$body=$out_trade_no; //商品描述

//md5

$parameter=array(

'agent' => $agent,

'service' => $service,

'partner' => $partner,

'seller_email' => $seller_email,

'_input_charset' => $_input_charset,

'notify_url' => $notify_url,

'return_url' => $return_url,

'subject' => $subject,

'body' => $body,

'out_trade_no' => $out_trade_no,

'price' => $price,

'quantity' => $quantity,

'payment_type' => $payment_type,

'paymethod' => $paymethod,

'defaultbank' => $defaultbank,

'logistics_type' => $logistics_type,

'logistics_fee' => $logistics_fee,

'logistics_payment' => $logistics_payment

);

ksort($parameter);

reset($parameter);

$param='';

$sign='';

foreach($parameter AS $key => $val)

{

if(strlen($val)==0)

{

continue;

}

$param.="$key=".urlencode($val)."&";

$sign.="$key=$val&";

}

$param=substr($param,0,-1);

$sign=md5(substr($sign,0,-1).$paykey);

$gotopayurl='https://www.alipay.com/cooperate/gateway.do?'.$param.'&sign='.$sign.'&sign_type='.$sign_type;

?>

支付宝支付

self.location.href='=$gotopayurl?>';

支付完成页面:

//获取cookie

function getcvar($name){

$re='';

if(isset($_COOKIE[$name]) && $_COOKIE[$name]!=''){

$re=$_COOKIE[$name];

}

return $re;

}

//提示函数

function msg($msg='',$burl=''){

echo '';

exit();

}

//订单号

if(!getcvar('checkpaysession'))

{

msg('非法操作','/');

}

else

{

setcookie("checkpaysession","");

}

//操作事件例如 登陆判断 之行动做判断

$paytype='alipay';

$bargainor_id='151164684846';//商户号

$paykey='jsdifjoisoefi454654';//密钥

$seller_email='sdofiueoifueiowfi';//卖家支付宝帐户

//----------------------------------------------返回信息

if(!empty($_POST))

{

foreach($_POST as $key => $data)

{

$_GET[$key]=$data;

}

}

$get_seller_email=rawurldecode($_GET['seller_email']);

//支付验证

ksort($_GET);

reset($_GET);

$sign='';

foreach($_GET AS $key=>$val)

{

if($key!='sign'&&$key!='sign_type'&&$key!='code')

{

$sign.="$key=$val&";

}

}

$sign=md5(substr($sign,0,-1).$paykey);

if($sign!=$_GET['sign'])

{

msg('验证MD5签名失败.','/');

}

if(!($_GET['trade_status']=="TRADE_FINISHED"||$_GET['trade_status']=="WAIT_SELLER_SEND_GOODS"||$_GET['trade_status']=="TRADE_SUCCESS"))

{

msg('支付失败.','/');

}

//----------- 支付成功后处理 -----------

$orderid=$_GET['trade_no']; //支付订单

$ddno=$_GET['out_trade_no']; //网站的订单号

$money=$_GET['total_fee']; //支付金额

//处理返回业务逻辑

?>

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39798497/article/details/115150274

智能推荐

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 0: invalid continuation byte-程序员宅基地

文章浏览阅读1k次。import pandas as pdimport numpy as npfrom datetime import datetime df = pd.read_csv('E:/data.csv',)# 运行后报错UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 0: invalid co..._utf-8' codec can't decode byte 0xc8 in position 0: invalid continuation byt

php flush没效果,flush()不在PHP中显示输出?-程序员宅基地

文章浏览阅读264次。我有这个代码:set_time_limit(0);header("Cache-Control: no-cache, must-revalidate");header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");ob_flush();flush();$start = time();$secs = time() - $start;while ($secs <..._php使用flush不实时输出

python读取excel在web中显示_在网页中预览excel表格文件-程序员宅基地

文章浏览阅读2.6k次。项目需求在前端页面中实现预览excel表格的功能,上网了解之后大致总结为一下几种方法。1.office文档转换为pdf,再转swf,然后通过网页加载flash进行预览2.通过 xlsx.js,jszip.js插件3.django xlrd读取excel内容,循环写入到前端页面table中4.office转html,网页加载html文件进行预览第一种方法:首先你的电脑上需要安装office软件,其次..._python读取excel展现在网页上

KindEditor 完全复制word内容_kindeditor 粘贴纯文本-程序员宅基地

文章浏览阅读809次,点赞14次,收藏10次。KindEditor 完全复制word内容,KindEditor 完全复制word图文内容,KindEditor粘贴word内容,KindEditor粘贴word图文,KindEditor一键粘贴word内容,KindEditor一键粘贴word图文,KindEditor粘贴word图文内容,KindEditor粘贴word,KindEditor一键粘贴word,KindEditor 完全复制word,返回图片地址HTML,用户使用操作起来更方便一些,一般发新闻,或者发文章用的比较多,可以说是高频使用,_kindeditor 粘贴纯文本

一个好看的Hexo主题,BFHUI_hexo beautiful-程序员宅基地

文章浏览阅读378次。CN Posthttps://blog.bfh.ink/?p=78AnnouncementThis theme is based on the enhanced version of the Argon theme, there is no plagiarism, the copyright belongs to both parties!Declaration (bug)Currently does not support Markdown’s code insertion metho_hexo beautiful

Springboot使用Gradle打war包_springboot gradle war 完整配置-程序员宅基地

文章浏览阅读964次。1、添加 apply plugin: ‘war’2、 添加依赖providedRuntime(‘org.springframework.boot:spring-boot-starter-tomcat’)3、修改启动类:继承SpringBootServletInitializer@SpringBootApplication@ImportAutoConfiguration({ AppAutoConfiguration.class, AppRestSwaggerConfiguration.clas_springboot gradle war 完整配置

随便推点

泰安市徂徕镇多举措开展今冬明春防范一氧化碳中毒工作_徂徕镇中心社区 燃气-程序员宅基地

文章浏览阅读60次。结合我镇实际,召开防范一氧化碳中毒安全工作会议,对防范一氧化碳中毒工作进行安排部署调度,第一时间制定《徂徕镇2022年度预防一氧化碳中毒工作方案》,成立徂徕镇预防一氧化碳中毒工作领导小组,对防范一氧化碳中毒工作进行再强调、再安排、再部署,进一步分解任务、明确要点、压实责任。为切实做好今冬明春一氧化碳中毒防范工作,有效减少一氧化碳中毒事故发生,徂徕镇立足防早、防小、防患于未然,多措并举,筑牢安全防线,确保群众安全过冬、温暖过冬。_徂徕镇中心社区 燃气

Mybatis-plus介绍及使用_mybatis-plus.globalconfig.dbconfig.idtype=id_worke-程序员宅基地

文章浏览阅读2.6k次。spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8spring.datasource.username=rootspring.datasource.password=root[](()3.5、编写代码[](()3.5.1、实体类:@Datapublic_mybatis-plus.globalconfig.dbconfig.idtype=id_worker

基于Dubbo设计的智能公交查询系统_javahbb公交车-程序员宅基地

文章浏览阅读722次。本系统通过运用JAVA语言,使用SSM框架和Dubbo分布式来搭建。将智能公交查询系统信息存入Mysql数据库当中,通过系统来对数据库中的站点信息、公交信息、用户信息、公交信息、用户留言信息及新闻发布信息管理等事务。_javahbb公交车

计算机组成原理唐朔飞期末考知识点总结,统考计算机组成原理重难点复习指导...-程序员宅基地

文章浏览阅读672次。在计算机考研专业基础课统考科目中,计算机组成原理占45分,所占分值较大。自2009年计算机专业考研专业基础课首次实行全国统考以来,这已经是第三个年头。所以考研的学子一定要一如既往的重视。一、考查目标1、理解单处理器计算机系统中各部件的内部工作原理、组成结构以及相互连接方式,具有完整的计算机系统的整机概念。2、理解计算机系统层次化结构概念,熟悉硬件与软件之间的界面,掌握指令集体系结构的基本知识和基本..._计算机组成原理唐朔飞学习指导

基于k8s+docker的高可用集群_xlirh-程序员宅基地

文章浏览阅读2.1k次。它允许你在同一个集群中托管多个应用程序, 并使用统一的入口(域名)来访问它们,而不需要为每个应用程序创建单独的域名和负载均衡器。这可以简化整体的架构和管理,并提高灵活性。模拟k8s在生产中的使用,通过k8s管理web集群,nfs保持前端页面一致性,并且搭建harbor仓库满足自身需求,使用Prometheus监控集群性能,让集群保持高可用。Ansible 的主要意义在于简化和自动化系统管理、配置管理和应用程序部署,从而提高效率、降低风险,并允许基础设施即代码的实践,有助于现代化的运维管理。_xlirh

设置QListView中的QScrollBar样式表_qllistview 滚动条样式-程序员宅基地

文章浏览阅读4k次。刚开始我只是用简单的qss语句设置QScrollBar,居然完全不起作用!_qllistview 滚动条样式