paypal支付web版本

对于paypal支付比较简单 先看下文档 我这里就讲下我们公司开发的流程 1 开发前准备 ,去注册2个账号一个是商户 一个是购买者 这样方便测试 2 第一步是关于网站付款标准版的集成,主要就是一个 form 表单,文档附录有所有参数的列表。详情请参照: https://www.paypal-biz.com/development/documentation/PayPal_WPS_Guide_CN_V2.0.pdf
3









【paypal支付web版本】 这里最重要的就是在提交之前要在我们平台产生订单号所以在点击下一步之前要用ajax生成订单并赋值给custom 这样就一起上传到paypar支付服务器那里了 3 服务端代码 public function notificationAction() {
$req = 'cmd=' . urlencode('_notify-validate');
foreach ($_POST as $key => $value) {
$value = https://www.it610.com/article/urlencode(stripslashes($value));
$req .= "&$key=$value";
}
$pay =new PayAction();
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.paypal.com/cgi-bin/webscr'); //'https://www.paypal.com/cgi-bin/webscr'
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host:www.paypal.com'));
$res = curl_exec($ch);
curl_close($ch);
// 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'];
$business = urldecode($_POST['business']);
$payer_email = $_POST['payer_email'];
$rid = $_POST['custom']; if (strcmp ($res, "VERIFIED") == 0) {
//检查付款状态
//检查 txn_id 是否已经处理过
//检查 receiver_email 是否是您的 PayPal 账户中的 EMAIL 地址
//检查付款金额和货币单位是否正确
//处理这次付款,包括写数据库
if( 'zhangwu@95195.com'==$business){
$pay->updateRechargeStatus($rid,'34','paypar支付'.$payment_amount.$payment_currency);
$s=1;
}
else if (strcmp ($res, "INVALID") == 0) {
// log for manual investigation
} $pay->insertPayQQ($payment_amount,0,$req.'rid='.$uid.$rid.$res.$business.'SOS:'.$s);
} } 附带ajax代码 function order_id() {
var data = https://www.it610.com/article/{};
var money = '';
var str = $.param(data);
var id = $("input[name=moneytype]:checked").val();
if (id == 'USD') {
money = 20;
}
if (id == 'HKD') {
money = 150
}
if (id == 'TWD') {
money = 600
}
if (id == 'CAD') {
money = 20
}
if (id == 'EUR') {
money = 15
}
if (id == 'GBP') {
money = 12
}
if (id == 'JPY') {
money = 1600
}
if (id == 'SGD') {
money = 25
}
var type = '';
var form = $('#payparform');
$.post("/admin/index/getorderid/", str, function(data) {
var resArr = data.split('|');
if (resArr[0] == 'false') {
} else {
$('#custom').attr('value', resArr[1]);
$('#currency_code').attr('value', id);
$('#amount').attr('value', money);
}
tj();
return false;
});
}
function tj() {
var form = $('#payparform');
form.submit();
}; 希望对大家有所帮助 转载于:https://blog.51cto.com/tanglulu/1093114

    推荐阅读