0

0

php版新浪支付接口之回调接口笔记

php中文网

php中文网

发布时间:2016-06-08 17:19:33

|

1865人浏览过

|

来源于php中文网

原创

新浪支付接口开发与支付宝的差不多先是按官方的要求提交数据然后再把支付成功的信息反馈过来给用户,这样就实现了支付及成功的提示了。

所谓的新浪回调接口,就是当资金充值成功之后,新浪会通知本网站一个信息来告知已经充值成功,并返回一组成功的数组,我们根据这些数据再进行一个本地数据库的同步操作,比如更新本地数据库是否充值成功的状态,由未支付改为已支付,然后再网站上面进行显示,还有资金也会进行同步 update,好了,下面夏日博客把日志分享下来,接着上一篇新浪支付新建接口,一个简单的新浪支付回调接口,这个异步回调的信息是通过日志生成到ftp下面的,根据日志进行本地的更新。

一,先查看日志文件

说明:数据提交到新浪之后会生成新浪日志文件,如下:

{"ctl":"collocation","act":"response_sina","call":"registercreditor","notify_time":"20160317112508","sign_type":"RSA","notify_type":"trade_status_sync","gmt_payment":"20160317111255","trade_status":"PAY_FINISHED","version":"1.0","sign":"ULbWNFkn1DhF1z9M5daaJHKcvlyTCHS1SmH3o7AMwAQnYylMQATfpNXzdloFh5R43cm3MTaTuaAxEddSRckMBzemZ+XlqEcERsu8x6HA0OnIZW5YVOgQhPfnz4lbH3MC4yjxPzq9dQgE\/fVLJ+pWnaeVtXJMiyRygohCdX+mT28=","gmt_create":"20160317111254","_input_charset":"utf-8","outer_trade_no":"7L3No20160317111143","trade_amount":"100.00","inner_trade_no":"101145818437424877398","notify_id":"82170f9981b84c40b50a634ed37a2afd"} 

KesionEshop在线商城系统 X2.0 正式版(utf-8)
KesionEshop在线商城系统 X2.0 正式版(utf-8)

KesionEshop在线商城系统拥有十余个主系统模块,如:文章、图片、下载、问答、论坛、商城、团购、微博及上百个子系统模块如:站内调查、友情链接、广告系统、积分、评论、采集等;百分百开源,让网站二次开发无后顾之忧。功能模块化处理,灵活模板标签调用,轻松打造各种网站效果。集成多家主流支付接口:如支付宝,财付通,微信支付等,以及多家账号通:QQ登录,微信登录,新浪微博登录等,融合ucnenter接口

下载

二,打开 /app/lib/module/collocationModule.class.php,查找 response_sina 方法,方法如下:

立即学习PHP免费学习笔记(深入)”;

public function response_sina() 
{  
     $content=  $_REQUEST; 
    error_log( date ( "[YmdHis]" ) ."\t" . json_encode($content) . "\r\n", 3, '../'. date ( "Y-m-d" ) . '.log1' ); 
      
    $class_name = getCollName(); 
    require_once APP_ROOT_PATH."system/collocation/".$class_name."_collocation.php"; 
    $collocation_class = $class_name."_collocation"; 
    $collocation_object = new $collocation_class(); 
    $collocation_code = $collocation_object->SinaNotify($_POST,$_REQUEST);  

三,打开 system/collocation/Sina_collocation.php 文件,查找 SinaNotify 方法,如下:

function SinaNotify($map,$data){ 
       // $weibopay->write_log("获取到refund_status_sync结果通知:单号:".json_encode($map).json_encode($data)); 
        ksort ($map);  
        $weibopay = new Weibopay (); 
        error_log( date ( "[YmdHis]" ) ."\t" . json_encode($map).  json_encode($data). "\r\n", 3, '../'. date ( "Y-m-d" ) . '.log10' ); 
        if ($weibopay->checkSignMsg ($map,@$map ["sign_type"] )) { 
            switch ($map["notify_type"]) 
            {     
                //交易结果通知 
                case "trade_status_sync": 
                    //投标代收 
                    
                    if($data['call']=='registercreditor'){ 
                       
                        require_once(APP_ROOT_PATH.'system/collocation/sina/SinaNotify.php'); 
                          
                         registercreditor_status_sync($map); 
                         
                         
                         
                    }  
                    if($data['call']=='dotrtrade'){ 
                      
                        error_log( date ( "[YmdHis]" ) ."\t" . json_encode($map). "\r\n",4, '../'. date ( "Y-m-d" ) . '.log4' ); 
                        require_once(APP_ROOT_PATH.'system/collocation/sina/SinaNotify.php'); 
                     
                         dotrtrade_status_sync($map); 
                          
                          
                          
                    } 
                    if($data['call']=='dohktrade'){ 
                     
                        error_log( date ( "[YmdHis]" ) ."\t" . json_encode($map). "\r\n", 5, '../'. date ( "Y-m-d" ) . '.log41' ); 
                        require_once(APP_ROOT_PATH.'system/collocation/sina/SinaNotify.php'); 
                          
                         dohktrade_status_sync($map); 
                     
                     
                     
                    } 
                     
                     
                    //按照自己的业务需求获取对应参数进行保存 
                  //  $weibopay->write_log("获取到trade_status_sync结果通知:时间:".date("YmdHis")); 
                   // $weibopay->write_log("获取到trade_status_sync结果通知:单号:".json_encode($_REQUEST)); 
                    break; 
                    //交易退款结果通知 
                case "refund_status_sync": 
                    //按照自己的业务需求获取对应参数进行保存 
                    $weibopay->write_log("获取到refund_status_sync结果通知:时间:".date("YmdHis")); 
                    $weibopay->write_log("获取到refund_status_sync结果通知:单号:".json_encode($_REQUEST)); 
                    break; 
                    //充值结果通知 
                case "deposit_status_sync": 
                    //done 
                    require_once(APP_ROOT_PATH.'system/collocation/sina/SinaNotify.php'); 
                     
                     deposit_status_sync($map); 
             
                    break; 
                    //提现结果通知 
                case "withdraw_status_sync": 
                    $weibopay->write_log("获取到batch_trade_status_sync结果通知:时间:".date("YmdHis")); 
                    $weibopay->write_log("获取到batch_trade_status_sync结果通知:单号:".json_encode($_REQUEST)); 
                    require_once(APP_ROOT_PATH.'system/collocation/sina/SinaNotify.php'); 
                      
                     withdraw_status_sync($map); 
                 
                    break; 
                    //批量代付结果通知 
                case "batch_trade_status_sync": 
                    //按照自己的业务需求获取对应参数进行保存 
                    $weibopay->write_log("获取到batch_trade_status_sync结果通知:时间:".date("YmdHis")); 
                    $weibopay->write_log("获取到batch_trade_status_sync结果通知:单号:".json_encode($_REQUEST)); 
                    break; 
                    //审核结果通知 
                case "audit_status_sync": 
                    require_once(APP_ROOT_PATH.'system/collocation/sina/SinaNotify.php'); 
                     
                    audit_status_sync($map); 
                    //按照自己的业务需求获取对应参数进行保存 
                    $weibopay->write_log("获取到audit_status_sync结果通知:时间:".date("YmdHis")); 
                    $weibopay->write_log("获取到audit_status_sync结果通知:单号:".json_encode($_REQUEST)); 
                    break; 
                default: 
                    $weibopay->write_log("获取到未知结果通知:时间:".date("YmdHis")); 
                    $weibopay->write_log("获取到未知结果通知:单号:".json_encode($_REQUEST)); 
                    echo "通知类型错误!"; 
            } 
            // 如果回调成功,需要输出SUCCESS告知新浪回调服务器,已经收到异步通知。 
            echo 'success'; 
        } else { 
            $msg="签名错误 or 非法请求"; 
            $weibopay->write_log($msg); 
            die ( "sign error" ); 
        } 
    } 
    //资质提价 
四,打开 system/collocation/sina/SinaNotify.php 文件,充值回调。
if($map['trade_status']=='PAY_FINISHED'){ 
            $pErrCode = 'MG00000F'; 
            $data['pErrCode'] ='MG00000F'; 
            $data['pErrMsg'] = 'MG00000F';; 
        } 
五,成功之后进行下面的操作。

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
java连接字符串方法汇总
java连接字符串方法汇总

本专题整合了java连接字符串教程合集,阅读专题下面的文章了解更多详细操作。

7

2026.02.05

java中fail含义
java中fail含义

本专题整合了java中fail的含义、作用相关内容,阅读专题下面的文章了解更多详细内容。

8

2026.02.05

控制反转和依赖注入区别
控制反转和依赖注入区别

本专题整合了控制反转和依赖注入区别、解释、实现方法相关内容。阅读专题下面的文章了解更多详细教程。

11

2026.02.05

钉钉脑图插图教程合集
钉钉脑图插图教程合集

本专题整合了钉钉脑图怎么插入图片、钉钉脑图怎么用相关教程,阅读专题下面的文章了解更多详细内容。

24

2026.02.05

python截取字符串方法汇总
python截取字符串方法汇总

本专题整合了python截取字符串方法相关合集,阅读专题下面的文章了解更多详细内容。

2

2026.02.05

Java截取字符串方法合集
Java截取字符串方法合集

本专题整合了Java截取字符串方法汇总,阅读专题下面的文章了解更多详细操作教程。

1

2026.02.05

java 抽象方法
java 抽象方法

本专题整合了java抽象方法定义、作用教程等内容,阅读专题下面的文章了解更多详细内容。

2

2026.02.05

Eclipse创建jsp文件教程合集
Eclipse创建jsp文件教程合集

本专题整合了Eclipse创建jsp文件、创建jsp项目等等内容,阅读专题下面的文章了解更多详细教程。

26

2026.02.05

java 字符串转数字
java 字符串转数字

本专题整合了java如何字符串转数字相关内容,阅读专题下面的文章了解更多详细教程。

4

2026.02.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 15.7万人学习

Pandas 教程
Pandas 教程

共15课时 | 1万人学习

C# 教程
C# 教程

共94课时 | 8.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号