博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ecshop 支付
阅读量:6544 次
发布时间:2019-06-24

本文共 1777 字,大约阅读时间需要 5 分钟。

支付分成两部分

1.订单信息

2.支付日志ID

3.生成支付代码

 

一次性支付完成

// 支付信息include_once('includes/lib_payment.php');$order['log_id'] = insert_pay_log($order['order_id'], $order['order_amount'], PAY_ORDER);            /* 取得支付信息,生成支付代码 */    if ($order['order_amount'] > 0)    {        $payment = payment_info($order['pay_id']);                include_once('includes/modules/payment/' . $payment['pay_code'] . '.php');        $pay_obj    = new $payment['pay_code'];        $pay_online = $pay_obj->get_code($order, unserialize_config($payment['pay_config']));        $order['pay_desc'] = $payment['pay_desc'];        $smarty->assign('pay_online', $pay_online);    }

 

隔断时间支付

// 支付信息    include_once('includes/lib_payment.php');        //print_r($order['order_sn']);    $log = $db->getRow("select p.log_id from ".$ecs->table('depot_order')." AS o,".$ecs->table('pay_log')." AS p where o.order_id = p.order_id and o.order_sn = ".$order['order_sn']);    $order['log_id'] = $log['log_id'];    /* 取得支付信息,生成支付代码 */    if ($order['pay_status'] == 0)    {        $payment = payment_info($order['pay_id']);        //print_r($payment);                include_once('includes/modules/payment/' . $payment['pay_code'] . '.php');        $pay_obj    = new $payment['pay_code'];        $pay_online = $pay_obj->get_code($order, unserialize_config($payment['pay_config']));     //  print_r($order);         $smarty->assign('pay_online', $pay_online);    }    // 支付信息 End

 

两种支付的区别在$order['log_id'] 的生成方式,第一种是生成支付日志,然后返回生成的ID;第二种是根据订单order_sn读出order_id,关联log_id,

关键位置

1.生成支付代码function get_code (alipay.php第132行)

'out_trade_no'      => $order['order_sn'] . $order['log_id'],  订单ID+支付日志ID

 $button ,生成的支付按钮信息

2.响应操作function respond( alipay.php第168行)

$order_sn = str_replace($_GET['subject'], '', $_GET['out_trade_no']);     // 根据两条件获取,获取支付日志ID

 

转载地址:http://xhodo.baihongyu.com/

你可能感兴趣的文章
LeetCode (11): Container With Most Water
查看>>
【技巧】easyUI的datagrid,如何在翻页以后仍能记录被选中的行
查看>>
经过强制类型转换以后,变量a, b的值分别为( )short a = 128; byte b = (byte) a;
查看>>
ubuntu下msmtp+mutt的安装和配置
查看>>
spring中注解说明
查看>>
QLabel显示图片,图片可以自适应label的大小
查看>>
BZOJ3994:[SDOI2015]约数个数和——题解
查看>>
3、EJB3.0开发第一个无会话Bean和客户端(jboss4.2.3)
查看>>
git fetch & pull详解
查看>>
优酷2013.3去广告 不黑屏
查看>>
web入门、tomcat、servlet、jsp
查看>>
boost_1.63.0编译VS2013
查看>>
mysql查看每个数据库所占磁盘大小
查看>>
jQuery 插件-(初体验一)
查看>>
PHP语言 -- Ajax 登录处理
查看>>
基于js的CC攻击实现与防御
查看>>
Largest Rectangle in a Histogram
查看>>
树状数组模板
查看>>
我的家庭私有云计划-19
查看>>
项目实践中Linux集群的总结和思考
查看>>