paypal即时到账php实现代码
2018-10-15 17:58
中文php开发简介:
以下是ecshop中paypal的支付代码
这段代码是向paypal支付接口提交的
{{{
<form method=post action=商家注册的邮箱
<input type=hidden value=2009102370175 name=item_name/><input type=hidden value=2888.00 name=amount/><input type=hidden value=USD name=currency_code/><input type=hidden value=立即使用 paypal 支付/></form>
}}}
以下是官方提供的,接受到paypal传回来的参数的,并且判断是否支付成功。
支持成功后由于提交表单中有
<input type=hidden value=
paypal将会主动跳转到espond.php?code=paypal这个页面,页面可现实以下POST得到的一些数据。
复制代码 代码如下:
// read the post from PayPal system and add cmd
$req = cmd=_notify-validate;
foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= &$key=$value;
}
// post back to PayPal system to validate
$header .= POST /cgi-bin/webscr HTTP/1.0\r\n;
$header .= Content-Type: application/x-
$header .= Content-Length: . strlen($req) . \r\n\r\n;
$fp = fsockopen (ssl://
// assign posted variables to local variables
$item_name = $_POST[item_name];
$item_number = $_POST[item_number];
$payment_status = $_POST[payment_status];
$payment_amount = $_POST[mc_gross];
$payment_currency = $_POST[mc_currency];
$txn_id = $_POST[txn_id];
$receiver_email = $_POST[receiver_email];
$payer_email = $_POST[payer_email];
if (!$fp) {
// HTTP ERROR
else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
if (strcmp ($res, VERIFIED) == 0) {
// check the payment_status is Completed
// check that txn_id has not been previously processed
// check that receiver_email is your Primary PayPal email
// check that payment_amount/payment_currency are correct
// process payment
}
else if (strcmp ($res, INVALID) == 0) {
// log for manual investigation
}
}
fclose ($fp);
}
?>
上一篇:php中cookie的作用域