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获取当前网址url并替换参数或网址的方法
Jun 06 PHP
查找mysql字段中固定字符串并替换的几个方法
Sep 23 PHP
php进行支付宝开发中return_url和notify_url的区别分析
Dec 22 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
Aug 27 PHP
PHP 9 大缓存技术总结
Sep 17 PHP
php实现给一张图片加上水印效果
Jan 02 PHP
阿里云PHP SMS短信服务验证码发送方法
Jul 11 PHP
php 获取xml接口数据的处理方法
May 31 PHP
Yii框架响应组件用法实例分析
Sep 04 PHP
PHP实现通过二维数组键值获取一维键名操作示例
Oct 11 PHP
PHP架构及原理知识点详解
Dec 22 PHP
PHP队列场景以及实现代码实例详解
Feb 26 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
Oracle Faq(Oracle的版本)
2006/10/09 PHP
PHP内核介绍及扩展开发指南―基础知识
2011/09/11 PHP
PHP接收App端发送文件流的方法
2016/09/23 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
json数据处理技巧(字段带空格、增加字段、排序等等)
2013/06/14 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
2014/05/06 Javascript
JavaScript DOM节点添加示例
2014/07/16 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
url中的特殊符号有什么含义(推荐)
2016/06/17 Javascript
js模式化窗口问题![window.dialogArguments]
2016/10/30 Javascript
浅谈使用splice函数对数组中的元素进行删除时的注意事项
2016/12/04 Javascript
jquery判断页面网址是否有效的两种方法
2016/12/11 Javascript
Bootstrap模态对话框中显示动态内容的方法
2018/08/10 Javascript
TypeScript基础入门教程之三重斜线指令详解
2018/10/22 Javascript
JS eval代码快速解密实例解析
2020/04/23 Javascript
js数组的基本使用总结
2021/01/18 Javascript
编写Python小程序来统计测试脚本的关键字
2016/03/12 Python
pandas groupby 分组取每组的前几行记录方法
2018/04/20 Python
基于DataFrame改变列类型的方法
2018/07/25 Python
python中的列表与元组的使用
2019/08/08 Python
pyinstaller打包opencv和numpy程序运行错误解决
2019/08/16 Python
Python3常用内置方法代码实例
2019/11/18 Python
Pandas实现一列数据分隔为两列
2020/05/18 Python
django正续或者倒序查库实例
2020/05/19 Python
总结Pyinstaller的坑及终极解决方法(小结)
2020/09/21 Python
Pretty Little Thing爱尔兰:时尚女性服饰
2017/03/27 全球购物
运动鞋中的劳斯莱斯:索康尼(SAUCONY)
2017/08/09 全球购物
Napapijri西班牙在线商店:夹克、外套、运动衫等
2020/11/05 全球购物
Wolford法国官网:奥地利奢侈内衣品牌
2020/08/11 全球购物
致200米运动员广播稿
2014/02/06 职场文书
热门专业求职信
2014/05/24 职场文书
公司领导班子民主生活会对照检查材料
2014/10/02 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
事业单位考察材料范文
2014/12/25 职场文书
捐助倡议书
2015/01/19 职场文书
文书工作总结(范文)
2019/07/11 职场文书