当前位置: 首页 > 科技观察

PHP语言开发的Paypal支付demo的具体实现

时间:2023-03-12 12:06:08 科技观察

1.开发前的准备https://img.ydisp.cn/news/20220913/lcfzgmiboxf在paypal官方开发者网站注册开发者账号。账号登录后,点击导航上方的dashboard,进入dashboard面板。以下截图及后续操作均在此面板中进行。在上面的截图中,您可以在菜单沙盒下的账户中看到您的沙盒测试的买家账户和卖家账户。两个测试账户都有一个配置文件选项,其中有changepassword来设置虚拟账户的密码。上面截图中菜单Sandbox下的Transactions就是你的交易记录。点击截图页面右上角的CreateApp按钮。创建一个应用程序。创建后,您将获得一个客户端ID和密码。这两个可以配置成php常量,后面开发的时候会用到。2、进入支付demo开发,在本地创建开发代码根目录。首先,创建一个index.html并在其中放置一个简单的产品名称和产品价格。代码和截图如下:DOCTYPEhtml>支付页面title>head><body><div><formaction="checkout.php"method="post"autocomplete="off"><labelfor="item">产品名称<inputtype="text"name="product">标签<br><labelfor="amount">价格<inputtype="text"name="price">label><br><inputtype="submit"value="GotoPayment">form>div>body>html>输入产品名称和价格。点击支付,会进入paypal的支付页面。使用您的沙盒测试买家帐户进行支付。你会发现支付成功了。然后登录到您的测试卖家帐户。您会发现卖家账户已经收到货款。当然这里要扣Paypal收取的手续费。手续费由卖家收取。我们来看看PHP是如何实现的。首先把paypal提供的php-sdk放到你的代码目录下。这里介绍使用PHP的包管理器composer获取***sdk。当然你可以从github等渠道获取***paypalphp-sdk。默认情况下,Composer已安装在您的计算机上。如果没有,就去度娘或者google安装composer。然后在你的代码根目录下写一个composer.json文件来获取包内容。json文件的代码如下:{"require":{"paypal/rest-api-sdk-php":"1.5.1"}}这里如果是linux/unix系统直接执行composerinstall在根目录下获取包内容。安装后。根目录下会生成vendor目录。有两个子目录,composer和paypal。Composer实现自动加载,paypal就是你的sdk内容。接下来我们写一个public文件(这里默认使用app/start.php,可以在你的项目中自定义),其实就是实现了sdk的autoload.php自动加载创建clientid和secret就在上面生成的paypal支付对象实例。start.php代码如下:phprequire"vendor/autoload.php";//加载sdk自动加载文件define('SITE_URL','http://www.paydemo.com');//自己定义网站url//创建支付对象实例$paypal=new\PayPal\Rest\ApiContext(new\PayPal\Auth\OAuthTokenCredential('yourClientID''yoursecret'));接下来,我们将实现以.php形式提交的处理文件checkout。代码内容如下:php/***@authorxxxxxxxx*@brief简介:*@date15/9/2*@time下午5:00*/use\PayPal\Api\Payer;use\PayPal\Api\Item;使用\PayPal\Api\ItemList;使用\PayPal\Api\Details;使用\PayPal\Api\Amount;使用\PayPal\Api\Transaction;使用\PayPal\Api\RedirectUrls;使用\PayPal\Api\Payment;使用\PayPal\Exception\PayPalConnectionException;需要“app/start.php”;if(!isset($_POST['product'],$_POST['price'])){die("丢失一些参数");}$product=$_POST['product'];$price=$_POST['价格'];$运费=2.00;//运费$total=$price+$shipping;$付款人=新付款人();$payer->setPaymentMethod('paypal');$项目=新项目();$item->setName($product)->setCurrency('USD')->setQuantity(1)->setPrice($price);$itemList=newItemList();$itemList->setItems([$item]);$细节=新细节();$details->setShipping($shipping)->setSubtotal($price);$金额=新金额();$amount->setCurrency('USD')->setTotal($total)->setDetails($details);$交易=新交易();$transaction->setAmount($amount)->setItemList($itemList)->setDescription("付款说明")->setInvoiceNumber(uniqid());$redirectUrls=newRedirectUrls();$redirectUrls->setReturnUrl(SITE_URL.'/pay.php?success=true')->setCancelUrl(SITE_URL.'/pay.php?success=false');$付款=新付款();$payment->setIntent('sale')->setPayer($payer)->setRedirectUrls($redirectUrls)->setTransactions([$transaction]);试试{$payment->create($paypal);}catch(PayPalConnectionException$e){echo$e->getData();死();$approvalUrl=$payment->getApprovalLink();标题(“位置:{$approvalUrl}”);checkout.php通过表单中提交的参数初始化和设置支付明细和参数。这里只列出常用的部分。Paypal提供了很多参数设置。更具体的细节可以参考paypal官方开发者文档。checkout.php设置参数后。将生成付款链接。使用header跳转到这个支付链接(也就是paypal的支付页面)到这个支付页面,然后就可以使用你沙盒提供的买家账号进行支付了。截图如下:使用买家账号完成支付后。去检查您的沙盒商家帐户余额。你会发现你收到的钱是减去手续费的。这里还有支付成功或失败后的回调处理。回调处理的php文件设置在上面checkout.php中的setReturnUrl。这里的设置是/pay.php?success=true接下来我们看看pay.php是如何简单处理回调的。先贴上pay.php的代码:phprequire'app/start.php';usePayPal\Api\Payment;usePayPal\Api\PaymentExecution;if(!isset($_GET['success'],$_GET['paymentId'],$_GET['PayerID'])){die();}if((bool)$_GET['success']==='false'){echo'交易取消!';die();}$paymentID=$_GET['paymentId'];$payerId=$_GET['PayerID'];$payment=Payment::get($paymentID,$paypal);$execute=newPaymentExecution();$execute->setPayerId($payerId);try{$result=$payment->execute($execute,$paypal);}catch(Exception$e){die($e);}echo'支付成功!感谢您的支持!';到此为止,一个简单的paypal支付demo其实就走完了。了解支付原理后,如果想在自己的项目中做更丰富的扩展,可以去paypal官方文档查看更具体的开发项设置。包括收购交易明细等都是可以实现的。这里我就不细说了。</p> </div> </div> <div class="zuowen_sxy"> <div class="prev">上一篇:<a title="《重磅开篇》形成完美的多线程世界观" href="/kejiguancha/66408.html">《重磅开篇》形成完美的多线程世界观</a> </div> <div class="prev">下一篇:<a title="HarmonyOSJSFA调用JavaPA机制_0" href="/kejiguancha/66410.html">HarmonyOSJSFA调用JavaPA机制_0</a> </div> </div> <div class="related_about"> <div class="related_about_t"><code>PHP语言开发的Paypal支付demo的具体实现相关文章</code></div> <ul> <li><a href="/kejifunen/369351.html" target="_blank" title="谷歌高管揭秘为何开发智能牛仔夹克">谷歌高管揭秘为何开发智能牛仔夹克</a></li> <li><a href="/kejifunen/369345.html" target="_blank" title="万事达卡 (MasterCard) 与 Ringly 合作开">万事达卡 (MasterCard) 与 Ringly 合作开</a></li> <li><a href="/kejifunen/369327.html" target="_blank" title="该产品可以防止跌倒,以色列一家公司开发自平衡鞋">该产品可以防止跌倒,以色列一家公司开发自平衡鞋</a></li> <li><a href="/kejifunen/369294.html" target="_blank" title="组建VR团队 EA也想开发VR游戏">组建VR团队 EA也想开发VR游戏</a></li> <li><a href="/kejifunen/369260.html" target="_blank" title="让AI重构现实世界,百度AI开发者大会举办首届AI设计论坛">让AI重构现实世界,百度AI开发者大会举办首届AI设计论坛</a></li> <li><a href="/kejifunen/369232.html" target="_blank" title="为什么教智能音箱一门新语言如此困难? ">为什么教智能音箱一门新语言如此困难? </a></li> <li><a href="/kejifunen/369143.html" target="_blank" title="疯狂小狗宠物食品!健康狗粮是根据人类食品安全标准开发的">疯狂小狗宠物食品!健康狗粮是根据人类食品安全标准开发的</a></li> <li><a href="/kejifunen/369135.html" target="_blank" title="苹果全球开发者大会!无硬件,三大系统更新">苹果全球开发者大会!无硬件,三大系统更新</a></li> <li><a href="/kejifunen/369088.html" target="_blank" title="英特尔联手霍金开发可联网的智能轮椅">英特尔联手霍金开发可联网的智能轮椅</a></li> <li><a href="/kejifunen/369050.html" target="_blank" title="安森美半导体推出可穿戴开发套件!灵活可扩展+AirFuel无">安森美半导体推出可穿戴开发套件!灵活可扩展+AirFuel无</a></li> <li><a href="/kejifunen/368867.html" target="_blank" title="三星开发者大会 有VR项圈和机器人">三星开发者大会 有VR项圈和机器人</a></li> <li><a href="/kejifunen/368744.html" target="_blank" title="VR是谷歌开发者大会的焦点,不要只关注 Android, ">VR是谷歌开发者大会的焦点,不要只关注 Android, </a></li> <li><a href="/kejifunen/368740.html" target="_blank" title="让你的耳朵怀孕 斯坦福开发AI声音系统">让你的耳朵怀孕 斯坦福开发AI声音系统</a></li> <li><a href="/kejifunen/368640.html" target="_blank" title="苹果正在开发一款廉价版 HomePod,将使用 Beats ">苹果正在开发一款廉价版 HomePod,将使用 Beats </a></li> <li><a href="/kejifunen/368521.html" target="_blank" title="大学生三人组开发了一款“智能手表”">大学生三人组开发了一款“智能手表”</a></li> <li><a href="/kejifunen/368508.html" target="_blank" title="苹果正在开发一款预测输入工具,利用 AI 来预测输入内容">苹果正在开发一款预测输入工具,利用 AI 来预测输入内容</a></li> <li><a href="/kejifunen/368482.html" target="_blank" title="英特尔开发者论坛IDF2016资料最全,推出Alloy VR">英特尔开发者论坛IDF2016资料最全,推出Alloy VR</a></li> <li><a href="/kejifunen/368470.html" target="_blank" title="【重磅】谷歌眼镜19日起停售 开发组重组">【重磅】谷歌眼镜19日起停售 开发组重组</a></li> <li><a href="/kejifunen/368451.html" target="_blank" title="VR从业者请不要在VR游戏开发中误入歧途">VR从业者请不要在VR游戏开发中误入歧途</a></li> <li><a href="/kejifunen/368434.html" target="_blank" title="联发科可穿戴平台开发套件 LinkIt ONE 评测 ">联发科可穿戴平台开发套件 LinkIt ONE 评测 </a></li> </ul> </div> </div> <div class="main-right"> <div class="right_fix"> <div class="r_con"> <div class="r_title">最新推荐</div> <ul> <li><em>1</em><a href="/kejifunen/371265.html" title="有人想众筹开发一款监测屁的健康可穿戴设备" target="_blank">有人想众筹开发一款监测屁的健康可穿戴设备</a></li> <li><em>2</em><a href="/kejifunen/371132.html" title="据传亚马逊正在开发首款智能眼镜!内置 Alexa 语音助手" target="_blank">据传亚马逊正在开发首款智能眼镜!内置 Alexa 语音助手</a></li> <li><em>3</em><a href="/kejifunen/371086.html" title="苹果正在为明年的智能手表开发低功耗micro-LED面板" target="_blank">苹果正在为明年的智能手表开发低功耗micro-LED面板</a></li> <li><em>4</em><a href="/kejifunen/371079.html" title="谷歌开发“着色机器人”,可以给黑白视频上色" target="_blank">谷歌开发“着色机器人”,可以给黑白视频上色</a></li> <li><em>5</em><a href="/kejifunen/370918.html" title="阿迪达斯斥巨资收购Runtastic开发可穿戴设备" target="_blank">阿迪达斯斥巨资收购Runtastic开发可穿戴设备</a></li> <li><em>6</em><a href="/kejifunen/370789.html" title="亚马逊发布新APP,让开发者一键部署物联网设备" target="_blank">亚马逊发布新APP,让开发者一键部署物联网设备</a></li> <li><em>7</em><a href="/kejifunen/370640.html" title="迪士尼开发可穿戴玩具引领新技术生态" target="_blank">迪士尼开发可穿戴玩具引领新技术生态</a></li> <li><em>8</em><a href="/kejifunen/370632.html" title="德国Bragi公司与IBM合作开发用于工作场景的智能耳机Da" target="_blank">德国Bragi公司与IBM合作开发用于工作场景的智能耳机Da</a></li> <li><em>9</em><a href="/kejifunen/370477.html" title="东芝开发可穿戴生物传感器" target="_blank">东芝开发可穿戴生物传感器</a></li> <li><em>10</em><a href="/kejifunen/370426.html" title="多重证据表明苹果正在秘密开发虚拟现实产品" target="_blank">多重证据表明苹果正在秘密开发虚拟现实产品</a></li> </ul> </div> <div class="r_con"> <div class="r_title">猜你喜欢</div> <ul class="you_like"> <li><em>1</em><a href="/kejifunen/370326.html" title="在一篇文章中阅读 Microsoft 开发者大会, Holo" target="_blank">在一篇文章中阅读 Microsoft 开发者大会, Holo</a></li> <li><em>2</em><a href="/kejifunen/370273.html" title="苹果开发者大会预告 除了iOS 9,还有手表" target="_blank">苹果开发者大会预告 除了iOS 9,还有手表</a></li> <li><em>3</em><a href="/kejifunen/370153.html" title="麻省理工开发传感器,可以检测肉类是否变质" target="_blank">麻省理工开发传感器,可以检测肉类是否变质</a></li> <li><em>4</em><a href="/kejifunen/370053.html" title="谷歌正在开发可穿戴服务Coach!提供全面的健康建议" target="_blank">谷歌正在开发可穿戴服务Coach!提供全面的健康建议</a></li> <li><em>5</em><a href="/kejifunen/370052.html" title="与科大讯飞胡雨深度对话!如何制作一个可以处理33种语言的翻译" target="_blank">与科大讯飞胡雨深度对话!如何制作一个可以处理33种语言的翻译</a></li> <li><em>6</em><a href="/kejifunen/370027.html" title="被Fossil收购后,Misfit联手珠宝品牌开发智能穿戴设" target="_blank">被Fossil收购后,Misfit联手珠宝品牌开发智能穿戴设</a></li> <li><em>7</em><a href="/kejifunen/369957.html" title="索尼联合New Balance开发搭载电子墨水屏的智能跑鞋" target="_blank">索尼联合New Balance开发搭载电子墨水屏的智能跑鞋</a></li> <li><em>8</em><a href="/kejifunen/369954.html" title="谷歌AI开发新癌症检测算法,可检测乳腺癌,准确率达99%" target="_blank">谷歌AI开发新癌症检测算法,可检测乳腺癌,准确率达99%</a></li> <li><em>9</em><a href="/kejifunen/369841.html" title="设计师开发了Looking Glass,一款3D数码相框,可" target="_blank">设计师开发了Looking Glass,一款3D数码相框,可</a></li> <li><em>10</em><a href="/kejifunen/369824.html" title="以色列大学为智能手表开发了新软件,可以验证签名的真实性" target="_blank">以色列大学为智能手表开发了新软件,可以验证签名的真实性</a></li> <li><em>11</em><a href="/kejifunen/369814.html" title="美国DARPA开发军用可穿戴视图增强显示器" target="_blank">美国DARPA开发军用可穿戴视图增强显示器</a></li> <li><em>12</em><a href="/kejifunen/369787.html" title="谷歌母公司公布财报,Nest持续烧钱开发智能家居" target="_blank">谷歌母公司公布财报,Nest持续烧钱开发智能家居</a></li> <li><em>13</em><a href="/kejifunen/369768.html" title="苹果真的要开发VR吗? CEO库克首次回应VR前景" target="_blank">苹果真的要开发VR吗? CEO库克首次回应VR前景</a></li> <li><em>14</em><a href="/kejifunen/369655.html" title="美国开发稳定金属锂阳极电池助力可穿戴设备" target="_blank">美国开发稳定金属锂阳极电池助力可穿戴设备</a></li> <li><em>15</em><a href="/kejifunen/369640.html" title="【深入】想成为 VR 开发者之前先问自己六个问题" target="_blank">【深入】想成为 VR 开发者之前先问自己六个问题</a></li> <li><em>16</em><a href="/kejifunen/369599.html" title="谷歌正在开发新人工智能技术,利用AI预测死亡时间" target="_blank">谷歌正在开发新人工智能技术,利用AI预测死亡时间</a></li> <li><em>17</em><a href="/kejifunen/369560.html" title="智能家居第一级!联网智能门锁的开发与应用" target="_blank">智能家居第一级!联网智能门锁的开发与应用</a></li> <li><em>18</em><a href="/kejifunen/369547.html" title="深思熟虑的苹果!用语言艺术开创时代" target="_blank">深思熟虑的苹果!用语言艺术开创时代</a></li> <li><em>19</em><a href="/kejifunen/369487.html" title="微软计划斥资2亿美元收购专利和人才,开发可穿戴设备" target="_blank">微软计划斥资2亿美元收购专利和人才,开发可穿戴设备</a></li> <li><em>20</em><a href="/kejifunen/369455.html" title="谷歌I-O开发者大会! Google Watch 将成为最大" target="_blank">谷歌I-O开发者大会! Google Watch 将成为最大</a></li> </ul> </div> </div> </div> </div> <div class="related_article"></div> <div class="footer"> <p>Copyright © 2012-2022 程序源 版权所有<a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">豫ICP备2022028201号</a></p> <p>重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。 如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。</p> </div> <!-- 应用插件标签 start --> <!-- 应用插件标签 end --> </body> </html>