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中利用substr_replace将指定两位置之间的字符替换为*号
Jan 27 PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
Feb 13 PHP
Parse正式发布开源PHP SDK
Aug 11 PHP
linux中cd命令使用详解
Jan 08 PHP
PHP模板引擎Smarty中变量的使用方法示例
Apr 11 PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
Apr 14 PHP
PHP页面间传递值和保持值的方法
Aug 24 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
Dec 05 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
Jun 06 PHP
Joomla框架实现字符串截取的方法示例
Jul 18 PHP
PHP上传文件及图片到七牛的方法
Jul 25 PHP
PHP实现数组根据某个单元字段排序操作示例
Aug 01 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
PHP实现手机归属地查询API接口实现代码
2012/08/27 PHP
PHP函数实现分页含文本分页和数字分页
2014/10/23 PHP
php实现按天数、星期、月份查询的搜索框
2016/05/02 PHP
地址栏传递中文参数乱码在js里用escape转码
2013/08/28 Javascript
获取鼠标在div中的相对位置的实现代码
2013/12/30 Javascript
Javascript遍历Html Table示例(包括内容和属性值)
2014/07/08 Javascript
Lab.js初次使用笔记
2015/02/28 Javascript
JavaScript学习小结(7)之JS RegExp
2015/11/29 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
2016/03/25 Javascript
js滚动条平滑移动示例代码
2016/03/29 Javascript
移动端界面的适配
2017/01/11 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
基于Vue框架vux组件库实现上拉刷新功能
2017/11/28 Javascript
react-navigation之动态修改title的内容
2018/09/26 Javascript
微信小程序云开发实现数据添加、查询和分页
2019/05/17 Javascript
JS严格模式原理与用法实例分析
2020/04/27 Javascript
js实现批量删除功能
2020/08/27 Javascript
nodejs处理tcp连接的核心流程
2021/02/26 NodeJs
python练习程序批量修改文件名
2014/01/16 Python
python3爬虫之设计签名小程序
2018/06/19 Python
python广度优先搜索得到两点间最短路径
2019/01/17 Python
Python实现字符串匹配的KMP算法
2019/04/04 Python
使用Python将字符串转换为格式化的日期时间字符串
2019/09/01 Python
Python pickle模块实现对象序列化
2019/11/22 Python
tensorflow 获取所有variable或tensor的name示例
2020/01/04 Python
Python实现括号匹配方法详解
2020/02/10 Python
python字符串的index和find的区别详解
2020/06/20 Python
python3列表删除大量重复元素remove()方法的问题详解
2021/01/04 Python
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
信息工程学院毕业生推荐信
2013/11/05 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
安全保证书怎么写
2015/02/28 职场文书
高中班主任培训心得体会
2016/01/07 职场文书
解除租赁合同协议书
2016/03/21 职场文书
财务会计个人原因辞职信
2019/06/21 职场文书