zen cart实现订单中增加paypal中预留电话的方法


Posted in PHP onJuly 12, 2016

本文实例讲述了zen cart实现订单中增加paypal中预留电话的方法。分享给大家供大家参考,具体如下:

在PayPal的IPN返回值中联系电话是 contact_phone, 前提是你帐户设定了买家在付款时预留电话,如果没有要求的话,该值默认是不会返回的。

但在zen cart的PAYPAL的支付插件里是不获取这个信息的,需要手动修改PAYPAL的程序。下面我们就修改:

一、在 paypal 表中增加 contact_phone 字段

ALTER TABLE `paypal` ADD `contact_phone` VARCHAR( 50 ) NULL COMMENT '电话'

二、修改 paypal_functions.php 文件里的 ipn_create_order_array 函数

此文件在./includes/modules/payment/paypal目录下

//增加
'contact_phone' => $_POST['contact_phone'],

修改后如下

/**
 * Create order record from IPN data
 */
 function ipn_create_order_array($new_order_id, $txn_type) {
  $sql_data_array = array('order_id' => $new_order_id,
     'txn_type' => $txn_type,
     'module_name' => 'paypal (ipn-handler)',
     'module_mode' => 'IPN',
     'reason_code' => $_POST['reason_code'],
     'payment_type' => $_POST['payment_type'],
     'payment_status' => $_POST['payment_status'],
     'pending_reason' => $_POST['pending_reason'],
     'invoice' => $_POST['invoice'],
     'mc_currency' => $_POST['mc_currency'],
     'first_name' => $_POST['first_name'],
     'last_name' => $_POST['last_name'],
     'payer_business_name' => $_POST['payer_business_name'],
     'contact_phone' => $_POST['contact_phone'],
     'address_name' => $_POST['address_name'],
     'address_street' => $_POST['address_street'],
     'address_city' => $_POST['address_city'],
     'address_state' => $_POST['address_state'],
     'address_zip' => $_POST['address_zip'],
     'address_country' => $_POST['address_country'],
     'address_status' => $_POST['address_status'],
     'payer_email' => $_POST['payer_email'],
     'payer_id' => $_POST['payer_id'],
     'payer_status' => $_POST['payer_status'],
     'payment_date' => datetime_to_sql_format($_POST['payment_date']),
     'business' => $_POST['business'],
     'receiver_email' => $_POST['receiver_email'],
     'receiver_id' => $_POST['receiver_id'],
     'txn_id' => $_POST['txn_id'],
     'parent_txn_id' => $_POST['parent_txn_id'],
     'num_cart_items' => $_POST['num_cart_items'],
     'mc_gross' => $_POST['mc_gross'],
     'mc_fee' => $_POST['mc_fee'],
     'settle_amount' => $_POST['settle_amount'],
     'settle_currency' => $_POST['settle_currency'],
     'exchange_rate' => $_POST['exchange_rate'],
     'notify_version' => $_POST['notify_version'],
     'verify_sign' => $_POST['verify_sign'],
     'date_added' => 'now()',
     'memo' => $_POST['memo']
     );
  return $sql_data_array;
}

三、为了在后台管理的订单内容里能看到contact_phone需要修改 paypal_admin_notification.php 文件

此文件在./includes/modules/payment/paypal目录下

增加下面内容:

$output .= '<tr><td class="main">Contact Phone:</td>';
$output .= '<td class="main">'.$ipn->fields['contact_phone'].'</td></tr>';

希望本文所述对大家基于zend框架的PHP程序设计有所帮助。

PHP 相关文章推荐
在PHP中使用Sockets 从Usenet中获取文件
Jan 10 PHP
CakePHP去除默认显示的标题及图标的方法
Oct 22 PHP
浅析php header 跳转
Jun 17 PHP
php根据分类合并数组的方法实例详解
Nov 06 PHP
php环境套包 dedeampz 伪静态设置示例
Mar 26 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
Jun 25 PHP
PHP 双链表(SplDoublyLinkedList)简介和使用实例
May 12 PHP
[原创]php逐行读取txt文件写入数组的方法
Jul 02 PHP
64位windows系统下安装Memcache缓存
Dec 06 PHP
php把字符串指定字符分割成数组的方法
Mar 12 PHP
php 字符串中是否包含指定字符串的多种方法
Apr 12 PHP
Laravel 添加多语言提示信息的方法
Sep 29 PHP
Yii CGridView用法实例详解
Jul 12 #PHP
Yii视图CGridView列表用法实例分析
Jul 12 #PHP
微信支付开发动态链接Native支付
Jul 12 #PHP
Yii中CGridView禁止列排序的设置方法
Jul 12 #PHP
thinkPHP模板算术运算相关函数用法分析
Jul 12 #PHP
thinkPHP基于ajax实现的菜单与分页示例
Jul 12 #PHP
微信支付开发维权通知实例
Jul 12 #PHP
You might like
2019年漫画销量排行榜:鬼灭登顶 海贼单卷制霸 尾田盛赞鬼灭
2020/03/08 日漫
Laravel框架实现model层的增删改查(CURD)操作示例
2018/05/12 PHP
PHP实现获取毫秒时间戳的方法【使用microtime()函数】
2019/03/01 PHP
js数字输入框(包括最大值最小值限制和四舍五入)
2009/11/24 Javascript
『JavaScript』限制Input只能输入数字实现思路及代码
2013/04/22 Javascript
JS下拉框内容左右移动效果的具体实现
2013/07/10 Javascript
JQ获取动态加载的图片大小的正确方法分享
2013/11/08 Javascript
js实现屏幕自适应局部代码分享
2015/01/30 Javascript
JavaScript数组随机排列实现随机洗牌功能
2015/03/19 Javascript
推荐10 款 SVG 动画的 JavaScript 库
2015/03/24 Javascript
完美实现仿QQ空间评论回复特效
2015/05/06 Javascript
WEB前端开发都应知道的jquery小技巧及jquery三个简写
2015/11/15 Javascript
JS获取和修改元素样式的实例代码
2016/08/06 Javascript
jQuery中值得注意的trigger方法浅析
2016/12/12 Javascript
微信小程序开发(二)图片上传+服务端接收详解
2017/01/11 Javascript
js仿淘宝评价评分功能
2017/02/28 Javascript
jQuery实现select下拉框获取当前选中文本、值、索引
2017/05/08 jQuery
element中table高度自适应的实现
2020/10/21 Javascript
[01:39:04]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第二场 2月1日
2021/03/11 DOTA
python使用xmlrpclib模块实现对百度google的ping功能
2015/06/02 Python
python登录豆瓣并发帖的方法
2015/07/08 Python
全面理解Python中self的用法
2016/06/04 Python
Python实现简单的多任务mysql转xml的方法
2017/02/08 Python
解读python logging模块的使用方法
2018/04/17 Python
flask框架渲染Jinja模板与传入模板变量操作详解
2020/01/25 Python
python3 sorted 如何实现自定义排序标准
2020/03/12 Python
Python类和实例的属性机制原理详解
2020/03/21 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
利用Python批量识别电子账单数据的方法
2021/02/08 Python
加拿大在线眼镜零售商:SmartBuyGlasses加拿大
2019/05/25 全球购物
研究生求职推荐信范文
2013/11/30 职场文书
班级德育工作实施方案
2014/02/21 职场文书
理财计划书
2014/08/14 职场文书
2014年采购部工作总结
2014/11/20 职场文书
美术教师个人总结
2015/02/06 职场文书
骨干教师个人总结
2015/02/11 职场文书