<span>CREATE TABLE IF NOT EXISTS <span>`payment`</span> ( </span><span><span>`payId`</span> int(11) NOT NULL AUTO_INCREMENT, </span><span><span>`timestamp`</span> bigint(20) DEFAULT NULL, </span><span><span>`paid`</span> float DEFAULT NULL COMMENT 'user paid amount returned by paypal', </span><span><span>`bankFee`</span> float DEFAULT NULL, </span><span><span>`currency`</span> varchar(4) DEFAULT NULL, </span><span><span>`txnId`</span> varchar(32) DEFAULT NULL COMMENT 'Transaction ID: specify single unique transaction from paypal. if this field is NOT NULL, means this payment has been process already. So if IPN returns to PHP, we can refuse to update our database.', </span><span><span>`status`</span> varchar(16) DEFAULT NULL, </span><span><span>`uid`</span> int(11) DEFAULT NULL COMMENT 'FK to users PK', </span><span>PRIMARY KEY (<span>`payId`</span>), </span><span>KEY <span>`uid`</span> (<span>`uid`</span>) </span><span>) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; </span><span>CREATE TABLE IF NOT EXISTS <span>`temp_register`</span> ( </span><span><span>`tRegId`</span> int(11) NOT NULL AUTO_INCREMENT, </span><span><span>`fullName`</span> varchar(255) DEFAULT NULL, </span><span><span>`uAcc`</span> varchar(255) DEFAULT NULL, </span><span><span>`uPwd`</span> varchar(32) DEFAULT NULL, </span><span>PRIMARY KEY (<span>`tRegId`</span>) </span><span>) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='prevent unpaid user take uAcc(UNIQUE) in our users table' AUTO_INCREMENT=1 ; </span><span>CREATE TABLE IF NOT EXISTS <span>`users`</span> ( </span><span><span>`uid`</span> int(11) NOT NULL AUTO_INCREMENT, </span><span><span>`fullName`</span> varchar(255) DEFAULT NULL, </span><span><span>`uAcc`</span> varchar(255) NOT NULL, </span><span><span>`uPwd`</span> varchar(32) NOT NULL, </span><span><span>`token`</span> varchar(32) DEFAULT NULL, </span><span><span>`verified`</span> tinyint(1) NOT NULL DEFAULT '0', </span><span><span>`priviledge`</span> enum('delegate','admin','developer') NOT NULL DEFAULT 'delegate', </span><span>PRIMARY KEY (<span>`uid`</span>) </span><span>) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; </span><span>ALTER TABLE <span>`payment`</span> </span><span>ADD CONSTRAINT <span>`payment_ibfk_1`</span> FOREIGN KEY (<span>`uid`</span>) REFERENCES <span>`users`</span> (<span>`uid`</span>);</span>
<span>CREATE TABLE IF NOT EXISTS <span>`payment`</span> ( </span><span><span>`payId`</span> int(11) NOT NULL AUTO_INCREMENT, </span><span><span>`timestamp`</span> bigint(20) DEFAULT NULL, </span><span><span>`paid`</span> float DEFAULT NULL COMMENT 'user paid amount returned by paypal', </span><span><span>`bankFee`</span> float DEFAULT NULL, </span><span><span>`currency`</span> varchar(4) DEFAULT NULL, </span><span><span>`txnId`</span> varchar(32) DEFAULT NULL COMMENT 'Transaction ID: specify single unique transaction from paypal. if this field is NOT NULL, means this payment has been process already. So if IPN returns to PHP, we can refuse to update our database.', </span><span><span>`status`</span> varchar(16) DEFAULT NULL, </span><span><span>`uid`</span> int(11) DEFAULT NULL COMMENT 'FK to users PK', </span><span>PRIMARY KEY (<span>`payId`</span>), </span><span>KEY <span>`uid`</span> (<span>`uid`</span>) </span><span>) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; </span><span>CREATE TABLE IF NOT EXISTS <span>`temp_register`</span> ( </span><span><span>`tRegId`</span> int(11) NOT NULL AUTO_INCREMENT, </span><span><span>`fullName`</span> varchar(255) DEFAULT NULL, </span><span><span>`uAcc`</span> varchar(255) DEFAULT NULL, </span><span><span>`uPwd`</span> varchar(32) DEFAULT NULL, </span><span>PRIMARY KEY (<span>`tRegId`</span>) </span><span>) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='prevent unpaid user take uAcc(UNIQUE) in our users table' AUTO_INCREMENT=1 ; </span><span>CREATE TABLE IF NOT EXISTS <span>`users`</span> ( </span><span><span>`uid`</span> int(11) NOT NULL AUTO_INCREMENT, </span><span><span>`fullName`</span> varchar(255) DEFAULT NULL, </span><span><span>`uAcc`</span> varchar(255) NOT NULL, </span><span><span>`uPwd`</span> varchar(32) NOT NULL, </span><span><span>`token`</span> varchar(32) DEFAULT NULL, </span><span><span>`verified`</span> tinyint(1) NOT NULL DEFAULT '0', </span><span><span>`priviledge`</span> enum('delegate','admin','developer') NOT NULL DEFAULT 'delegate', </span><span>PRIMARY KEY (<span>`uid`</span>) </span><span>) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; </span><span>ALTER TABLE <span>`payment`</span> </span><span>ADD CONSTRAINT <span>`payment_ibfk_1`</span> FOREIGN KEY (<span>`uid`</span>) REFERENCES <span>`users`</span> (<span>`uid`</span>);</span>
<span>/** </span><span>* PAYPAL: PDT HANDLER: </span><span>* ==================== </span><span>* called by PayPal, send tokens back </span><span>* get payment details and payment result </span><span>* <span>@return $ret array contains result true/false, and user account or error message </span></span><span>*/ </span><span>private function _PDT() </span><span>{ </span><span>// some indexes can not be missing: </span><span>$ruler = array( </span><span>'tx', // token from paypal </span><span>); </span><span>if(count(array_diff($ruler, array_keys($_GET)))) </span><span>{ </span><span>return array('result' => false, 'error' => 'Index missing ... ', 'index' => $_GET, 'missing' => array_diff($ruler, array_keys($_GET))); </span><span>} </span><span>// read the post from PayPal system and add 'cmd' </span><span>$req = 'cmd=_notify-synch'; </span><span>// get token and prepare request url (send back to paypal) </span><span>$tx_token = $_GET['tx'];$auth_token = "_PJaHiwRfwMmWzW-9nuPuSguYxC-1d9KpxaasaNANtIvyOcmqY6jXNkRmxW"; </span><span>// $auth_token = "OxDenzKmrWPyEXU0YzIg2zs-VAe7ufCADyjbfxF_RpREL4rLEslZrSa21R4"; </span> <span>$req .= "&tx=<span><span>$tx_token</span>&at=<span>$auth_token</span>"</span>; </span> <span>// post back to PayPal system to validate </span> <span>$header = "POST /cgi-bin/webscr HTTP/1.0rn"; </span> <span>$header .= "Host: www.sandbox.paypal.comrn"; </span><span>// $header .= "Host: www.paypal.comrn"; </span> <span>$header .= "Content-Type: application/x-www-form-urlencodedrn"; </span><span>$header .= "Content-Length: " . strlen($req) . "rnrn"; </span> <span>$fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30); // open socket </span><span>// $fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30); // open socket </span> <span>if (!$fp) </span><span>{ </span><span>// HTML FAIL </span><span>return array('result' => false, 'error' => 'HTTP error ... '); </span><span>} </span><span>else </span><span>{ </span><span>fputs ($fp, $header . $req); </span><span>// read the body data </span><span>$res = ''; </span><span>$headerdone = false; </span><span>while (!feof($fp)) </span><span>{ </span><span>$line = fgets ($fp, 1024); </span><span>if (strcmp($line, "rn") == 0) </span><span>{ </span><span>$headerdone = true; // read the header </span><span>} </span><span>else if ($headerdone) </span><span>{ </span><span>$res .= $line; // header has been read. now read the contents </span><span>} </span><span>} </span> <span>// parse the data </span><span>$lines = explode("n", $res); </span><span>$keyarray = array(); </span><span>if (strcmp ($lines[0], "SUCCESS") == 0) </span><span>{ </span><span>for ($i=1; $i_validatePaypal($keyarray); </span><span>} </span><span>// log for manual investigation </span><span>else if (strcmp ($lines[0], "FAIL") == 0) </span><span>{ </span><span>// skipped </span><span>return array('result' => false, 'error' => 'Transaction failed ... '); </span><span>} </span><span>} </span><span>fclose ($fp); </span><span>return $ret; </span><span>}</span>
> paypal业务帐户与个人帐户相比,有什么好处通过个人帐户。其中包括接受从客户付款,获得业务贷款和现金预付款的能力,以及创建和发送发票的选项。企业帐户还允许您根据公司或组名称运营。
在注册PayPal帐户时需要提供什么信息?
>注册PayPal帐户需要多长时间?快速简便。通常只需要几分钟才能完成。但是,PayPal可能需要几天的时间才能验证您的银行帐户或信用卡信息。
>如果我在注册期间忘记我的PayPal密码会发生什么?
>以上是在PayPal教程(2/3)中注册:带有PayPal项目的真实注册的详细内容。更多信息请关注PHP中文网其他相关文章!