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

本文实例讲述了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 framework相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。

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

时间: 2024-10-29 16:17:59

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

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

本文实例讲述了zen cart实现订单中增加paypal中预留电话的方法.分享给大家供大家参考,具体如下: 在PayPal的IPN返回值中联系电话是 contact_phone, 前提是你帐户设定了买家在付款时预留电话,如果没有要求的话,该值默认是不会返回的. 但在zen cart的PAYPAL的支付插件里是不获取这个信息的,需要手动修改PAYPAL的程序.下面我们就修改: 一.在 paypal 表中增加 contact_phone 字段 ALTER TABLE `paypal` ADD `co

雅虎将在邮箱、电视中增加PayPal等第三方应用

6月8日消息,雅虎日前宣布,将在其网站添加第三方应用软件,以此吸引用户更多地浏览雅虎. 据国外媒体报道,雅虎CEO卡罗尔巴茨(Carol Bartz)于近日部署了这一战略,希望以此打造雅虎成为用户网上冲浪的枢纽,吸引更多的用户访问雅虎. 雅虎介绍,这些新应用和新工具将会添加在雅虎邮箱.我的雅虎.雅虎网络电视及Zimbra上,供每天都泡在网上或者需要上网完成任务的用户选购. 例如,在雅虎邮箱中推出了PayPal应用,以方便人们通过该页面完成网络交易.此外用户还可以在雅虎邮箱中选择安装用于图片共享和

PHP中集成PayPal标准支付的实现方法分享_php技巧

PayPal支付功能其实一直在更新文档和接口,这里说的是一个简单的支付功能大概流程如下 1,在网站的结账页面,设置一个提交到PayPal网站的form,里面有一些金额,商品名称,商家收款账号.结账成功后返回URL等内容, 2,用户结账时,通过点击'使用PayPal结账'的按钮到达PayPal的结账页面,输入自己的PayPal用户名和密码并确认支付 3,PayPal会根据是否支付成功来决定返回网站的哪个页面,并在后台对网站的某个页面发起post请求,这个动作称作IPN,告诉网站这笔付款的到账情况,

网站中增加微信公众账号链接的方法

  这里所谓微信公众账号的随意扩散,指的就是将你的微信公众号散播到微信好友.微信朋友圈后,好友点进去以后能够以最短的路径成功关注你的微信公众号!如果你的文章是通过微信公众平台后台进行推送的,进去以后,你会发现对应的公众号昵称处是可点击的,并且能直接打开公众号的资料页.我们不妨看一下它的源码: HTML代码: Baidufe Javascript代码: function viewProfile(){ if (typeof WeixinJSBridge != "undefined" &am

盟多卡浅谈zen cart对电子商务的价值

随着电子商务的普及,网上开店越来越受到人们的喜爱.建立属于自己个性化的网上商店,是很多人的梦想.但通常网上开店所需平台系统软件的复杂性及不菲的费用,让绝大多数人都停留在想法这个阶段. 盟多卡Mondocart专业的核心技术,凭多年的实施运营经验,为电子商务应用提供一篮子解决方案.我们提供的系统平台覆盖商贸展示.在线购物.比价搜索.营销推广.客服外包等范围,涵盖整个电子商务流程.我们提供专业的osCommerce和Zen Cart的模板制作,按需定制,及各种功能模块开发,承接整站二次开发.这里,盟

声音文件-Borland C++ 想在程序中增加播放声频

问题描述 Borland C++ 想在程序中增加播放声频 如果操作有误的话就像Windows操作系统一样有个声音提示,具体该怎么操作?最好提供源码,谢谢,声音文件来自于C:windowsMedisWindows xp 错误.wav,我不太会定义,是Borland C++中有关于声频的控件么?

mysql中alter数据表中增加、删除字段与表名修改例子

 alter是非常强大的一个功能我们可以利用alter来修改数据表表名字体名及一些其它的操作了,下面一起来看看mysql中alter数据表中增加.删除字段与表名修改的一个例子.     修改删除mysql数据库中的数据内容: [root@hk ~]# /usr/local/mysql/bin/mysql -uroot -p'admin' #进入mysql mysql> create database gbk default character set gbk collate gbk_chines

如何在smarty中增加类似foreach的功能自动加载数据

在smarty中使用自定义插件来加载数据(见:编写Smarty插件在模板中直接加载数据的详细介绍),在使用的时候还是感觉不够方便,灵机一动就想写成类似foreach那种标签: 第一步:在Smarty_Compiler.class.php的_compile_tag函数中增加: 复制代码 代码如下: //加载数据的开始标签 case 'load': $this->_push_tag('load'); return $this->_complie_load_start($tag_args); bre

如何在phpMyAdmin中增加innoDB

  如何在phpMyAdmin中增加innoDB 使用phpNow(Win32下绿色免费的Apache+PHP+MySQL环境套件包)发现默认不支持innoDB引擎的数据库,尝试了网上很多方法,发下如下方法有效,记录下来供大家参考: 1,修改my.ini 在phpNow的工具MySQL目录(如...PHPnow-1.5.6MySQL-5.0.90)中找到my.ini, 搜索skip-innodb,搜索到之后,将其注释掉(#skip-innodb),注意网上有人说还要将下面以innoDB开头对去掉