您的位置:首页 > 其它

11月12日工作日志

2009-11-13 12:22 183 查看
11月12日
上午:
继续修改paypal,发送用户自定义信息,并接受,一次来进行业务的记录,这里要就所有的可能涉及到的交易的内容。

修改config.inc.php中的用户自定义字段为:
$paypal[custom_field]="$_POST[custom_field]";
$paypal[currency_code]="GBP";

修改process.php,添加如下内容:
<?php
//write infomation to db
include_once('../Config/Config.php');
include_once('../YzLib/DAL.class.php');
/*
$email = "a";
print_r(DAL::getRow("SELECT * FROM users WHERE LOWER(email)=?",strtolower($email)));
*/
echo "<pre>";
print_r($paypal);
echo "</pre>";
?>
修改template目录下的payTip.tpl文件,添加隐藏域:
<input name="custom_field" type="text" id="custom_field" size="40" value="908123">
<input name="userid" type="text" id="userid" size="40" value="{$FAMILYNAME}">

那么这里要修改paypalinfo表,赵坚和老戴的意见是记录所有能记录的信息,因为这里是交易,很敏感和容易出现问题的问题域。
下午:
设计paypalinfo表的字段应该有哪些?
1、用户刚刚提交的时候:
id							主键,通过custom_field发送到paypal。
userid					有了这个字段,相当于将users表中所有的用户信息插入了这里面。
payment_startDate		记录用户在aupair开始付费的时间。

2、paypal交易完成后:
mc_gross	 				交易收入
paypal_address_id		Paypal地址信息ID
payer_id	 				付款人的Paypal ID
tax	 					税收
payment_date	 		交易时间
payment_status	 		交易状态
address_zip	 			邮编
first_name	 			付款人姓氏
address_country_code	国别
address_name	 		收件人姓名
custom	 				自定义值
payer_status	 		付款人账户状态
business	 				收款人Paypal账户
quantity	 				货物数量
payer_email	 			付款人email
txn_id	 				交易ID
payment_type	 		交易类型
last_name	 			付款人名
receiver_email	 		收款人email
receiver_id	 			收款人ID
mc_currency	 			货币种类

3、更新aupair中数据表与paypal中的数据进行同步的时候:
payment_endDate 		记录用户在aupair中更新信息,和paypal进行同步的时间。
paymentStatus  		记录交易是否成功,这里是最终成功,也就是paypal中的payment_status和aupair中的交易同时成功才算是成功。

建表语句:
CREATE TABLE IF NOT EXISTS `paypalinfo` (
`id` int(11) NOT NULL auto_increment,

`payment_startDate` datetime NOT NULL,
`userid` int(11) NOT NULL,

`mc_gross` varchar(50) NOT NULL,
`paypal_address_id` varchar(50) NOT NULL,
`payer_id` varchar(50) NOT NULL,
`tax` varchar(50) NOT NULL,
`payment_date` datetime NOT NULL,
`payment_status` varchar(50) NOT NULL,
`address_zip` varchar(50) NOT NULL,
`first_name` varchar(50) NOT NULL,
`address_country_code` varchar(50) NOT NULL,
`address_name` varchar(50) NOT NULL,
`payer_status` varchar(50) NOT NULL,
`business` varchar(50) NOT NULL,
`quantity` varchar(50) NOT NULL,
`payer_email` varchar(50) NOT NULL,
`txn_id` varchar(50) NOT NULL,
`payment_type` varchar(50) NOT NULL,
`last_name` varchar(50) NOT NULL,
`receiver_email` varchar(50) NOT NULL,
`receiver_id` varchar(50) NOT NULL,
`mc_currency` varchar(50) NOT NULL,

`payment_endDate` datetime NOT NULL,
`paymentStatus` varchar(50) NOT NULL,

PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ;

执行见表语句,成功。

插入一条记录,成功,sql语句如下:
insert into paypalinfo(userid) vlaues(33)

下午:
paypalinfo表的更新要分为三个部分:
1、用户从aupair提交到paypal,paypalinfo表中添加记录一条,此就只有paypalinfo表的自增id和userid,users表不做任何处理。
这里要注意的是:我发送给paypal的是paypalinfo表中的id值,发送的时候是custom_field,接受的时候是custom。

2、用户在paypal交易完成后返回成功页面,这个时候要做两个工作:
首先,更新paypalinfo表中未记录的信息

3、然后,更新users表中的renewaldate字段,是用户的交费生效

成功~!
上传值服务器:
1、修改原来的paypalinfo表,代码如上:
CREATE TABLE IF NOT EXISTS `paypalinfo` (
`id` int(11) NOT NULL auto_increment,
`payment_startDate` datetime NOT NULL,
`userid` int(11) NOT NULL,
`mc_gross` varchar(50) NOT NULL,
`paypal_address_id` varchar(50) NOT NULL,
`payer_id` varchar(50) NOT NULL,
`tax` varchar(50) NOT NULL,
`payment_date` datetime NOT NULL,
`payment_status` varchar(50) NOT NULL,
`address_zip` varchar(50) NOT NULL,
`first_name` varchar(50) NOT NULL,
`address_country_code` varchar(50) NOT NULL,
`address_name` varchar(50) NOT NULL,
`payer_status` varchar(50) NOT NULL,
`business` varchar(50) NOT NULL,
`quantity` varchar(50) NOT NULL,
`payer_email` varchar(50) NOT NULL,
`txn_id` varchar(50) NOT NULL,
`payment_type` varchar(50) NOT NULL,
`last_name` varchar(50) NOT NULL,
`receiver_email` varchar(50) NOT NULL,
`receiver_id` varchar(50) NOT NULL,
`mc_currency` varchar(50) NOT NULL,
`payment_endDate` datetime NOT NULL,
`paymentStatus` varchar(50) NOT NULL,
PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=27 ;

2、修改process.php,添加如下代码,这个是在支付以前想paypalinfo表中添加数据,也就是善前工作
<?php
include_once('../Config/Config.php');
include_once('../YzLib/DAL.class.php');

$p=new stdClass;
$p->payment_startDate=date("Y-m-d H:i:s");
$p->userid=$_POST[userid];

$custom_field = DAL::createRecord("paypalinfo",$p);
$paypal[custom_field]=$custom_field;
?>

3、paypal交易完成后会返回到paySuccess.html,

晚上回家前,李总需求:

注册以后是登录状态:

登录sandbox地址: https://developer.paypal.com/cgi-bin/devscr 
真实帐号:
nailwl@163.com
********

虚拟帐号一:
nailwl_1256202958_biz@163.com
********
Seller

虚拟帐号二:
nailwl_1256202052_per@163.com
********
buyer
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: