paypal即时到账php实现代码

2018-10-15 17:58

阅读:524



中文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);
}
?>


评论


亲,登录后才可以留言!