YunCart电商网站支付宝接口出现500错误

yuncart 是一套易与集成的php开源商城系统,方便多人同时经行二次开发,Yuncart 可以以非常方便的方式切换到sql server,oracle等数据库,大小1.9MB,感兴趣的朋友,可以去官网下载。

最近帮朋友用php做了一个电商网站,化妆品方面的。上网看了相关方面的程序源码,最后选择了yuncart,它轻量、简单、功能丰富等特点,闲暇时,做了些修改。下面就今天出现的问题,简单的说下,希望能帮助到有类似问题的童鞋。

下图为我朋友的网站:

 问题描述:

      在网站上购买支付成功后,返回网站时,出现500内部服务器错误。

       排除:出现500后,发现支付宝上交易已成功,钱也少了,说明支付的时候是没有问题的,在回调的过程中发生了错我。

然后,开启网站上的日志,进行线上调试:

    

    最后发现错误的根源出现在:/include/front/third/payment/alipay/alipay_core.function.php中

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

 function getHttpResponse($url$input_charset ‘‘$time_out "60") {

    $urlarr     parse_url($url);

    $errno      "";

    $errstr     "";

    $transports "";

    $responseText "";

    if($urlarr["scheme"] == "https") {

        $transports "ssl://";

        $urlarr["port"] = "443";

    else {

        $transports "tcp://";//LCQ修改

        $urlarr["port"] = "80";

    }

    

    

    $fp[email protected]fsockopen($transports."".$urlarr[‘host‘],$urlarr[‘port‘],$errno,$errstr,$time_out);

    

    if(!$fp)

     {

        die("ERROR: $errno - $errstr<br />\n");

    }

     else {

        if (trim($input_charset) == ‘‘) {

            fputs($fp"POST ".$urlarr["path"]." HTTP/1.1\r\n");

        }

        else {

            fputs($fp"POST ".$urlarr["path"].‘?_input_charset=‘.$input_charset." HTTP/1.1\r\n");

        }

        

        fputs($fp"Host: ".$urlarr["host"]."\r\n");

        fputs($fp"Content-type: application/x-www-form-urlencoded\r\n");

        fputs($fp"Content-length: ".strlen($urlarr["query"])."\r\n");

        fputs($fp"Connection: close\r\n\r\n");

        fputs($fp$urlarr["query"] . "\r\n\r\n");

        while(!feof($fp))

        {

            $responseText .= @fgets($fp, 1024);

        }

        fclose($fp);

        $responseText = trim(stristr($responseText,"\r\n\r\n"),"\r\n");

        return $responseText;

    }

这个函数中使用了

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

fsockopen这个函数,由于某些服务器或虚拟空间上,不支持php的fsockopen方法,网上也有说:在url中,去掉http://

如:http://www.xxx.com改成www.xxx.com。但这仍不是问题的核心。换来,改用curl来取代fsockopen。于是

getHttpResponse方法就改写成:

/**

 * 作  者:郑州北鲨* 远程获取数据

 * 注意:该函数的功能可以用curl来实现和代替。curl需自行编写。

 * $url 指定URL完整路径地址

 * @param $input_charset 编码格式。默认值:空值

 * @param $time_out 超时时间。默认值:60

 * return 远程输出的数据

 */

//curl改写fsockopen

function getHttpResponse($url,$requestdata,$time_out "60"

{

    $ci = curl_init();

    curl_setopt($ci,CURLOPT_USERAGENT,"Yuncart");

    curl_setopt($ci,CURLOPT_CONNECTTIMEOUT,$time_out);

    curl_setopt($ci,CURLOPT_TIMEOUT,$time_out);

    curl_setopt($ci,CURLOPT_RETURNTRANSFER,true);

    curl_setopt($ci,CURLOPT_SSL_VERIFYPEER,false);

    curl_setopt($ci, CURLOPT_HEADER, false);

    curl_setopt($ci,CURLOPT_POST,true);

    curl_setopt($ci, CURLOPT_POSTFIELDS,$requestdata);

    curl_setopt($ci, CURLINFO_HEADER_OUT, TRUE );

    curl_setopt($ci, CURLOPT_URL, trim($url,"?"));

    $response = curl_exec($ci);

    $http_code = curl_getinfo($ci, CURLINFO_HTTP_CODE);

    $http_info = curl_getinfo($ci);

    curl_close ($ci);

   return $response;

}

这样以来,我们再次测试,OK!交易成功,问题由此解决!

YunCart电商网站支付宝接口出现500错误,布布扣,bubuko.com

时间: 2024-12-25 19:00:02

YunCart电商网站支付宝接口出现500错误的相关文章

电商网站物流快递单号查询api接口申请案例

[场景需求描述] 电商平台及ISV商家对物流api接口的需求有很多,今天我们主要分享的就是快递鸟快递单号查询接口的对接指南,快递单号查询接口对接的应用场景有很多,很多场景会遇到,最主要的就是电商网站用户打开"我的订单"时调用此API显示物流信息详情,电商管理后台的物流系统,客服在对账前查询所有运单的签收状态,并追踪问题,电商平台对商家物流管控,要求必须在多久快递必须发出要看到揽件状态,多久必须收到货物看到签收状态,根据这些状态对商家管控从而提升用户的整体满意度.[对接使用流程] 1.注

从0开始 独立完成企业级Java电商网站开发

第1章 课程介绍(提供4900+问题与答案库)(提供4900+问题与答案库,你遇到的坑,别人已经出坑了)本章详细介绍Java服务端课程内容,项目演示课程安排,高大上的架构从一台服务器演变到高性能.高并发.高可用架构的过程,大型架构演进思想以及代码演进细节.(特别说明:本课程是项目实战中级课程,不会讲语法层面的内容,实战前需具备Java,SSM,Linux等基础)...1-1 课程导学1-2 课程学习与解决问题指南(最重要的一节课)1-3 大型Java项目架构演进解析 第2章 开发环境安装与配置讲

(转)大型网站架构系列:电商网站架构案例(1)

大型网站架构是一个系列文档,欢迎大家关注.本次分享主题:电商网站架构案例.从电商网站的需求,到单机架构,逐步演变为常用的,可供参考的分布式架构的原型.除具备功能需求外,还具备一定的高性能,高可用,可伸缩,可扩展等非功能质量需求(架构目标). 根据实际需要,进行改造,扩展,支持千万PV,是没问题的. 本次分享大纲 电商案例的原因 电商网站需求 网站初级架构 系统容量估算 网站架构分析 网站架构优化 架构总结 电商网站案例,一共有三篇本篇主要说明网站的需求,网站初始架构,系统容量估算方法. 一.电商

互联网安全锁现大漏洞 网友建议:不要登录一切网银电商网站

2014.04.11 22:19:51 来源:南方日报作者:南方日报 ( 2 条评论 )  http://www.techweb.com.cn/internet/2014-04-11/2027049.shtml 昨日,被称为"心脏出血"的OpenSSL协议安全漏洞引发了人们对网上支付的担忧.传言称,这个漏洞"波及几乎所有网站",用户"不登录还好,一登录网站就有可能导致用户名和密码失窃".截至昨日18时12分,百度搜索关键词"OpenSS

电商总结(八)如何打造一个小而精的电商网站架构

前面写过一些电商网站相关的文章,这几天有时间,就把之前写得网站架构相关的文章,总结整理一下.把以前的一些内容就连贯起来,这样也能系统的知道,一个最小的电商平台是怎么一步步搭建起来的.对以前的文章感兴趣的朋友可以看这个,http://www.cnblogs.com/zhangweizhong/category/879056.html 本文大纲: 1. 小型电商网站的架构 2. 日志与监控系统的解决方案 3. 构建数据库的主从架构 4. 基于共享存储的图片服务器架构 5. 移动M站建设 6. 系统容

DDD设计一个电商网站

DDD设计一个电商网站(十一)-- 最后的准备  阅读目录 前言 准备 实现 结语 一.前言 最近实在太忙,上周停更了一周.按流程一步一步走到现在,到达了整个下单流程的最后一公里--结算页的处理.从整个流程来看,这里需要用户填写的信息是最多的,那么在后端的设计中如何考虑到业务边界的划分,和相互之间的交互复杂度,又是我们需要考虑的地方.总体来说本篇讲述的内容在前几篇都有涉及,所以这次一次性处理的业务比较多,已经比较熟练的看官可以跳过本篇. 二.准备 主流的电商设计中结算页包含以下5个概念:选择收货

大型网站架构系列:电商网站架构案例分析

上节课我们小组对淘宝网进行了简要的架构分析,这周我在课余时间对这类大型电商网站的某些具体架构技术进行了梳理和概括,并对一些架构方法进行更深层次的介绍,并且结合软件工程进行典型电商的需求分析. 一.典型电商案例 电商网站:比如阿里巴巴,京东商城,国美在线,汽车之家等.大型门户一般是新闻类信息,可以使用CDN,静态化等方式优化,一些交互性比较多的网站,可能会引入更多的NOSQL,分布式缓存,使用高性能的通信框架等.电商网站具备以上两类的特点,比如产品详情可以采用CDN,静态化,交互性高的需要采用NO

【项目总结】扯一扯电商网站前端css的整体架构设计(1)

最近半忙不忙的写了一个外包网站,网站主要功能是艺术品竞拍和艺术衍生品的销售.工程已经完成了80%左右,现在前后端代码量已经50W行左右,我主要负责的是前端设计和前端布局.下面就先放一个网站的设计图吧,因为涉及到甲方的"商业机密",所以打一下马赛克: 这篇文章主要算是我对于这个项目的总结或者说是对于这阶段自己看的一些前端书或者经验的一个总结吧,所以设计图就不贴那么多了.整个项目的设计图由最开始的ui定了个首页稿基调,剩下的界面大部分都是我在首页稿基础上做出来的,以后有机会再唠.PS:不过

大型网站架构系列:电商网站架构案例(1)

大型网站架构是一个系列文档,欢迎大家关注.本次分享主题:电商网站架构案例.从电商网站的需求,到单机架构,逐步演变为常用的,可供参考的分布式架构的原型.除具备功能需求外,还具备一定的高性能,高可用,可伸缩,可扩展等非功能质量需求(架构目标). 根据实际需要,进行改造,扩展,支持千万PV,是没问题的. 本次分享大纲 电商案例的原因 电商网站需求 网站初级架构 系统容量估算 网站架构分析 网站架构优化 架构总结 电商网站案例,一共有三篇本篇主要说明网站的需求,网站初始架构,系统容量估算方法. 一.电商