paypal支付代码-PHP

转载 2012年03月21日 11:37:39

aypal支付原理

首先根据paypal的要求构造出一个表单,然后提交到paypal去处理,paypal处理后会以隐藏方式post数据到商家网站指定的页面,在商家网站指定的页面,我们先要把payapal的post到该页面上的值进行处理,然后再投递到paypal上去验证,如果是正确的,则paypal会返回VERIFIED,否则返回INVALID.

看不懂原理没有关系,直接看代码。

下面是构造的提交到PAYPAL得表单。

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0Transitional//EN”“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

<htmlxmlns=”http://www.w3.org/1999/xhtml”>

<head>

<meta http-equiv=”Content-Type” content=”text/html;charset=utf-8″ />

<title>无标题文档</title>

</head>

<body>

<form style=”text-align:center;”action=”https://www.sandbox.paypal.com/cgi-bin/webscr”method=”post”>

<input type=’hidden’ name=’cmd’value=’_xclick’>

<input type=’hidden’ name=’business’value=’selle3_1263191856_per@qq.com’>

<input type=’hidden’ name=’item_name’value=’201001114262121′>

<input type=’hidden’ name=’amount’value=’1.00′>

<input type=’hidden’ name=’currency_code’value=’USD’>

<input type=’hidden’ name=’return’value=’http://www.xxx.com/return.php’>

<input type=’hidden’ name=’invoice’value=’82′>

<input type=’hidden’ name=’charset’value=’utf-8′>

<input type=’hidden’ name=’no_shipping’value=’1′>

<input type=’hidden’ name=’no_note’value=”>

<input type=’hidden’ name=’notify_url’value=’http://www.xxx.com/return.php’>

<input type=’hidden’ name=’rm’value=’82′>

<input type=’hidden’ name=’cancel_return’value=’http://www.xxx.com/index.html’>

<input type=’submit’ value=’立即使用 paypal支付’>

</form>

</body>

</html>

下面是处理代码:

<?php

$merchant_id = ’selle3_1263191856_per@qq.com’; ///获取商户paypal账户

// 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-www-form-urlencoded\r\n”;

$header .= “Content-Length: ” . strlen($req) .”\r\n\r\n”;

$fp = fsockopen (‘www.sandbox.paypal.com’, 80, $errno, $errstr,30); //如果是测试账户,则投递到www.sandbox.paypal.com,否则投递到www.paypal.com

// 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'];

$order_sn = $_POST['invoice'];

$memo = !empty($_POST['memo']) ? $_POST['memo'] : ”;

//$action_note = $txn_id . ‘(’ . $GLOBALS['_LANG']['paypal_txn_id']. ‘)’ . $memo;

if (!$fp)

{

fclose($fp);

return false;

}

else

{

fputs($fp, $header . $req);

while (!feof($fp))

{

$res = fgets($fp, 1024);

if (strcmp($res, ‘VERIFIED’) == 0)

{

//付款成功的代码

}

elseif (strcmp($res, ‘INVALID’) == 0)

{

//付款失败的代码

fclose($fp);

return false;

}

}

}

需要注意的是上面是用的paypal的sandbox.


原文地址:http://paypal999.blog.163.com/blog/static/13737488320107306370292/


PayPal-PHP-SDK(V1.7.4)支付接口实现

paypal支付接口准备工作 首先去申请一个paypal账号,https://www.paypal.com/。 申请完毕并登录,进入https://developer.paypal.com/devel...
  • alexander_phper
  • alexander_phper
  • 2016年07月28日 17:49
  • 10122

解析PayPal支付接口的PHP开发方式

申请PayPal注册网址:https://www.paypal.com/ paypal接口与其它接口有些不同,稍微复杂一点。 其实银行接口也算是一个站点的插件。   所谓paypal...
  • qq_35114086
  • qq_35114086
  • 2016年08月31日 13:23
  • 6032

Paypal接口的PHP实现方案

转载地址:http://www.lamp99.com/paypal-php-butt.html 项目需要要在php中使用paypal支付。之前本站也提供了很多的PayPal的资料,有...
  • terry_water
  • terry_water
  • 2015年03月11日 17:19
  • 3162

跨境网上收款 找PayPal没错(php如何实现paypal支付)

开发前准备            在我的博客中 有介绍如何获取ID 和 secret ; 好了 在上一篇博客中详细介绍了也不少; 跨境网上收款 找PayPal没错(如何获取ID 和 secr...
  • qiandublog
  • qiandublog
  • 2016年10月14日 08:36
  • 3699

最详细的 paypal 支付接口开发--Java版

做全球性的支付,选用paypal!为什么选择paypal? 因为paypal是目前全球最大的在线支付工具,就像国内的支付宝一样,是一个基于买卖双方的第三方平台。买家只需知道你的paypal账号,即可在...
  • change_on
  • change_on
  • 2017年06月29日 12:52
  • 6331

php购物网站支付paypal使用方法

详细参考: https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_Ap...
  • jinyeweiyang
  • jinyeweiyang
  • 2014年10月20日 14:10
  • 583

iOS-OC-集成PayPal支付方式

1.到PayPal网站注册账号:https://developer.paypal.com  创建一个APP,然后获取paypal的测试和正式环境的APPKey; 2.导入PayPal的SDK,下载地址...
  • u014220518
  • u014220518
  • 2016年08月18日 11:51
  • 3505

android移动支付——PayPal支付

前言 这里开篇讲解一系列的Android相关的移动支付。移动支付也称为手机支付,用户使用移动的设备,完成对所购买商品或者服务的支付功能。包括远程支付(网上支付、短信支付),近场支付(刷卡、滴卡、po...
  • u012737144
  • u012737144
  • 2016年12月29日 16:41
  • 1968

超详细教程: android项目集成PayPal 支付

项目是跨境电商,国外的支付需要集成paypal支付,在网上搜了好久,教程都是断断续续,对我这种小白来说简直痛苦!好在现在总算搞出来了,分享出来给大家参考下,与君共勉! 1.这个SDK是我找paypal...
  • geekqian
  • geekqian
  • 2016年11月04日 17:13
  • 2472

算是目前PAYPAL最全最完整的开发方式了

PAYPAL 完整开发API支付实例!PAYPAL支付的提交和接收都分为2种方式!即:和淘宝的一样,使用appkey、apptoken的方式)申请这个比较麻烦,需要填写很多的资料,而且审批也需要周期很...
  • a53657561
  • a53657561
  • 2017年03月22日 22:06
  • 5983
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:paypal支付代码-PHP
举报原因:
原因补充:

(最多只允许输入30个字)