tpshop使用中遇到的问题

1.短信配置里:商家发货时是否给客户发短信  配置了 开启   如果购买者个人资料里的电话没填写,商家点击发货时, 程序会挂掉

解决方法:修改application\common\logic\SmsLogic.php

//modify by houdianjing at 2017-07-03 desc:修复如果客户没填写电话号码 报错的bug
        if($sender<>‘‘ && strlen($sender)==11){
            $resp = $this->realSendSms($sender, $smsTemp[‘sms_sign‘], $smsParam, $smsTemp[‘sms_tpl_code‘]);
            if ($resp[‘status‘] == 1) {
                M(‘sms_log‘)->where(array(‘id‘ => $log_id))->save(array(‘status‘ => 1)); //修改发送状态为成功
            }else{
                M(‘sms_log‘)->where(array(‘id‘ => $log_id))->update(array(‘error_msg‘=>$resp[‘msg‘])); //发送失败, 将发送失败信息保存数据库
            }
        }else{
            M(‘sms_log‘)->where(array(‘id‘ => $log_id))->update(array(‘error_msg‘=>‘用户电话号码错误‘)); //发送失败, 将发送失败信息保存数据库
        }
        //modify end

2、订单原路退款无法退回

1.payment_refund方法中的WxPayRefund::MCHID改成了WxPayConfig::$mchid

2.微信证书路径改成绝对路径(我是linux系统,相对路径提示curl错误58)

3.微信退款金额单位改为分,现在没有转换成分

4.退款成功,修改状态有误,退款方法如下

public function refund(){
        $return_id = I(‘id‘);
        $return_goods = M(‘return_goods‘)->where("id= $return_id")->find();
        $rec_goods = M(‘order_goods‘)->where(array(‘order_id‘=>$return_goods[‘order_id‘],‘goods_id‘=>$return_goods[‘goods_id‘]))->find();
        $order = M(‘order‘)->where(array(‘order_id‘=>$rec_goods[‘order_id‘]))->find();
        if($order[‘pay_code‘] == ‘weixin‘ || $order[‘pay_code‘] == ‘alipay‘ || $order[‘pay_code‘] == ‘alipayMobile‘){
            $return_money = $rec_goods[‘goods_price‘]*$rec_goods[‘goods_num‘];
            $prom_amount = $order[‘coupon_price‘] + $order[‘order_prom_amount‘];
            if($prom_amount>0){
                $return_money = $return_money - round($prom_amount*$return_money/$order[‘order_amount‘],2);
            }
            if($order[‘pay_code‘] == ‘weixin‘){
                include_once  PLUGIN_PATH."payment/weixin/weixin.class.php";
                $payment_obj =  new \weixin();
                $data = array(‘transaction_id‘=>$order[‘transaction_id‘],‘total_fee‘=>$order[‘order_amount‘],‘refund_fee‘=>$return_money);
                $result = $payment_obj->payment_refund($data);
                if($result[‘return_code‘] == ‘SUCCESS‘){
                    //modify by houdianjing at 2017-07-03 desc:改变订单状态,status->is_send
                    M(‘order_goods‘)->where(array(‘rec_id‘=>$rec_goods[‘rec_id‘]))->save(array(‘is_send‘=>3));
                    //modify end
                    //add by houdianjing at 2017-07-03 desc:退款成功后,改变退款状态,订单表状态
                    M(‘return_goods‘)->where(array(‘order_id‘=>$rec_goods[‘order_id‘]))->save(array(‘status‘=>3));
                    M(‘order‘)->where(array(‘order_id‘=>$rec_goods[‘order_id‘]))->save(array(‘order_status‘=>4));
                    //add end
                    $this->success(‘退款成功‘);
                }else{
                    $this->error($result[‘return_msg‘]);
                }
            }else{
                include_once  PLUGIN_PATH."payment/alipay/alipay.class.php";
                $payment_obj = new \alipay();
                $detail_data = $order[‘transaction_id‘].‘^‘.$return_money.‘^‘.‘用户申请订单退款‘;
                $data = array(‘batch_no‘=>date(‘YmdHi‘).$rec_goods[‘rec_id‘],‘batch_num‘=>1,‘detail_data‘=>$detail_data);
                $payment_obj->payment_refund($data);
            }
        }else{
            $this->error(‘该订单支付方式不支持在线退回‘);
        }
    }

时间: 2024-11-06 03:38:35

tpshop使用中遇到的问题的相关文章

简单介绍TPshop商城使用,TPshop商城使用的安装--windows环境

本文针对初学者,大神请忽略. 我用的是 wampserver 做演示,怎么下载,安装环境.百度一大堆 ,这里不多说.自己动手 丰衣足食. TPshop下载地址:tp-shop.cn/Index/Index/download 也可以搜索搜豹公司,TPshop商城 安装要求: 1.PHP5.4以上,MYsql5.5以上. 2.需要Phpcurl,gd库.php_mysqli,php_openssl,php_pdo_mysql,php_zip扩展. 3.php.ini里面将scandir打开, 4.注

(转)Caffe搭建:常见问题解决办法和ubuntu使用中遇到问题(持续更新)

参考网址:http://www.cnblogs.com/empty16/p/4828476.html 严正声明: 在linux下面使用命令行操作时,一定要懂得命令行的意思,然后再执行,要不然在不知道接下来会发生什么的情况下输入一通命令,linux很有可能崩掉. 因为在linux下面,使用sudo以及root权限时,是可以对任意一个文件进行操作处理的,即使是正在使用的系统文件. caffe中出现下面这些问题说明在安装过程中有一些步骤没有按照官网说明来,如果按照官网说明一步步安装,一般会一次性通过.

Rsync使用中常见参数的说明

5.Rsync使用中常见参数的说明.md 常见参数说明 motd file:定义当客户端访问时看到的信息,默认为空. pid fle:定义rsync daemon将其PID写入的文件,如果此文件存在rsync,daemon会终止而不是覆盖. port:定义daemon监听的端口,默认为873. address:覆盖daemon默认监听的IP地址.如果daemon是被inetd启动,并且有 --address参数时,会被忽略. socket options:用来防止被人不停的连接.可以设置为所有s

SSH框架使用中存在的诡异异常

背景 相信大多数人目前都在使用Spring + Struts2/SpringMVC + Hibernate来构建项目的整体架构,但是在使用中经藏会遇到一些诡异的问题,不知道如果解决,今天我遇到了一个非常奇怪的问题,那就是连接数据库提示java.sql.SQLException: ORA-01017: invalid username/password; logon denied,这句话的中文意思就是说我的密码或者用户名有问题,但是我单独用sqlplus登陆,还是使用配置文件里面的密码,此时又能够

GIT的使用中的问题处理

GIT 的常规操作 常规操作也是我自己平时常用的几个命令, 学自于 pro git 这本书中 git 配置文件 git的配置文件位置针对所有用户:/etc/gitconfig针对当前用户: -/.gitconfig 查看配置的方法 git config --list 修改配置的方法 git config --global user.name "wangyubin" (修改的是-/.gitconfig) git config --system user.name "wangyu

Hive使用中遇到的几个小问题

1. 在Hive中使用show tables;等命令报错:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes 解决办法: 到mysql中的hive数据库里执行 alter database hive character set latin1; 改变hive元数据库的字符集,问题就可以解决! 但是这时你如果建一个表里有中文

scanner使用中遇见的问题

最近在学习的过程中遇见一个问题,问题不难但还是需要去认真对待. 先看看我写的源代码 public static void main(String[] args){ for(;;){ Scanner in = new Scanner(System.in); System.out.println("-----"); int age = in.nextInt(); System.out.println("------"); in.close(); System.out.p

tpshop视频下载链接

正在学习: http://www.tp-shop.cn/index.php/doc/indexbbc/video 因为下载一个视频,就要,分享到一个群里. 下面,我把已经下载的存在自己的云盘里,大家可以转存. TPshop Api万能签名原理机制第一讲 http://pan.baidu.com/s/1qYlDDBA -----------  招募未来大神 ----------------如果您有利他之心,乐于帮助他人,乐于分享如果您遇到php问题,百度且问了其他群之后仍没得到解答欢迎加入,PHP

ECSHOP安装或使用中提示Strict Standards: Non-static method cls_image:

随着ECSHOP的不断发展,越来越多的人成为了ECSHOP的忠实粉丝.由于每个人的服务器环境和配置都不完全相同,所以ECSHOP也接二连三的爆出了各种各样的错误信息.相信不少新手朋友在ECSHOP安装过程中都碰到过类似下面这样的错误提示吧.Strict Standards: Non-static method cls_image::gd_version() should not be called statically in /....../install/includes/lib_instal