TP5集成PayPal支付

项目需要使用到PayPal支付,在网上找了一圈大多写的太过简陋不易看懂,在这里详细记录集成过程方便后期使用.

第一步:下载PayPal-PHP-SDK集成到项目中

        最新SDK下载地址: https://github.com/paypal/PayPal-PHP-SDK/releases

        官方英文文档:点击打开链接

       

        下载sdk解压,我们需要使用到路径:PayPal-PHP-SDK-1.13.0\PayPal-PHP-SDK\paypal\rest-api-sdk-php\lib下的文件夹

        如图:

        将文件夹导入到tp5项目的extend目录下:

                

        同时也需要将压缩包中log记录的Psr文件夹导入,否则运行会报错

                

第二步:项目中的使用

        step1: 配置ApiContext,也就是设置PayPal官网申请的clientId和clientSecret,具体申请方法很多教程有,这里不写

        $apiContext = new ApiContext(new OAuthTokenCredential(config('paypal')['clientId'],       // paypal 官网获取的clientId和clientSecretconfig('paypal')['clientSecret']));$apiContext->setConfig(array(// 'mode' => 'sandbox','mode' => 'live','log.LogEnabled' => false,'log.FileName' => '../PayPal.log','log.LogLevel' => 'Info', // PLEASE USE `INFO` LEVEL FOR LOGGING IN LIVE ENVIRONMENTS'cache.enabled' => true,'http.CURLOPT_CONNECTTIMEOUT' => 60// 'http.headers.PayPal-Partner-Attribution-Id' => '123123123'//'log.AdapterFactory' => '\PayPal\Log\DefaultLogFactory' // Factory class implementing \PayPal\Log\PayPalLogFactory));

    step2: 创建设置订单,item代表一个订单,ItemList 用于存放多个订单统一支付,支付成功和取消都会跳回你设置的接口,订单创建后会生成一个跳转PayPal支付的地址,和订单号,用户访问该地址就可以在PayPal上操作支付了,具体代码如下:


        $apiContext = $this->initPayPal();  // 获取配置好的ApiContext$itemList = new ItemList();$items = array();$total = 0;$product = 'test支付测试';$price = 0.01;  // 金额$total = $total + $price ;$payer = new Payer();$payer->setPaymentMethod('paypal');$item = new Item();$item->setName($product)->setCurrency('HKD')->setQuantity(1)->setPrice($price);$items[] = $item;$itemList->setItems($items);$shipping = 0.00; //运费$total = $total  + $shipping;$details = new Details();$details->setShipping($shipping)->setSubtotal($total);$amount = new Amount();$amount->setCurrency('HKD')->setTotal($total);$transaction = new Transaction();$transaction->setAmount($amount)->setItemList($itemList)->setDescription($product)->setInvoiceNumber(uniqid());$baseUrl = "http://localhost/home/order/test";$redirectUrls = new RedirectUrls();$redirectUrls->setReturnUrl($baseUrl.'?lz_type=1')->setCancelUrl($baseUrl.'?lz_type=2');$payment = new Payment();$payment->setIntent('sale')->setPayer($payer)->setRedirectUrls($redirectUrls)->setTransactions(array($transaction));try {$payment->create($apiContext);  //错误点//} catch (PayPalConnectionException $e) {echo $e->getData();die();}$approvalUrl = $payment->getApprovalLink();$id = $payment->getId();$this->redirect($approvalUrl);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/62491.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android PayPal支付

最近集成完PayPal支付,记录一下集成注意事项。 一、PayPal版本选择 由于官方不再支持旧版的"PayPal-Android-SDK",所以决定直接集成"Native Checkout SDK"。 二、集成环境 我是在Macos上开发,之前一直用的Android St…

如何在网站集成Payssion的国外支付方式?

如果你的用户来自海外,那你可能已经接入paypal ,信用卡,西联来收款。 今天我们再介绍另一种收款方式,既能极大的提高你网站的转化率,且在很多国家使用率高于paypal和信用卡。 这就是海外本地支付方式(如中国的本地支…

仿牌独立站如何通过PayPal.Me亲友付进行收款

14 5月 先来看一段PP官方对于paypal me的介绍: PayPal.Me是什么 PayPal.Me是一种与您的企业账户相联的个性化链接。您仅需为自己或您的企业创建独特的自定义链接,分享出去即可轻松收款。这意味着,您无需再进行繁琐的银行转账,可轻松享受Pa…

stripe国际支付(对接支付宝、微信)

前言:stripe国际支付现在网上资料很少,且不支持中国,所以如果要用需要去支持的国家注册商户,官网的java demo是用的spark框架,我这里用的spring,验签需要手动验签,且不能用官网的方法 正文&…

再度盈利,搜狐稳了?

2016年在宣布要用3年时间回归互联网舞台中心之后,很长一段时间内张朝阳积极活跃在各种社交媒体上,完全是一派“积极出山”的姿态。而后畅游从美股退市,搜狗“卖身”腾讯,一系列的收缩动作又似乎是在逐渐远离喧嚣。 而在最近三年&a…

宝宝入托,爸妈要避开这5种心态

孩子入托,父母也要做好心理准备,尤其需要避免以下5种常见的、不良心理状态,否则会加重孩子入托的困难度。 01.“生离死别式”的入托状态 即每次送孩子入园,就像一场生离死别。宝宝屋里哭,家长屋外哭,最后多…

小孩从小就学习编程,真的有必要吗?

现今,许多面向儿童的计算机教程和编程语言十分风行,那么是否人人都应该从小学计算机呢? 美国前总统奥巴马曾表示,应该“向每个学生提供动手式的计算机科学和数学课程,从一开始就让他们为将来的工作做好准备。”不久&am…

你喜欢读书,还是听书?

前段时间在我的星球里做了一个小调研,我看一些知识付费的课程素材,我发现我的阅读速度,是播放语音效率的5倍以上,十几分钟的语音课程,我看文字可能两分钟就看完了。但我知道,很多人还是更喜欢聆听。 实际上…

小孩厌学,与其说教,不如和他写个游戏

表弟又闹着不去幼儿园了,我得想个办法让他体会到学习的快乐和意义…… 带娃真难 玩了一个周末,玩舒服了,周一起床后,一听要去学校,就不干了,死活不去,对我们各种撒(威)泼(逼)打(利)滚(诱),实在招架不住,只能妥协了,虽然我可以扛起他,塞进校车里,但受过良好…

20本父母必读的亲子教育书籍

作者注:有位好朋友成为母亲没多久,向我提出一个要求,说不知道怎么教孩子,看我是否能帮助推荐一些这方面的书籍。经过一段时间的搜索和整理,给她整理出一套书单,朋友看了后,说受益匪浅。现在她的…

读懂婴幼儿心理学,不要随便责怪孩子

读懂婴幼儿心理学,不要随便责怪孩子 一、不知道孩子在0-6岁时存在各种敏感期,把孩子在敏感期的表现当成不乖的行为斥责孩子,违背了孩子的天性,造成他的痛苦,留下心理隐患。 孩子在0-6岁时存在各种各样的敏感期&a…

和孩子读书学习的一点心得

这是学习笔记的第 2386篇文章 最近带着孩子做了一些实验和游戏,也总结了几个经验和技巧。 #1 小步迭代,做电路实验 最近带着孩子做电路实验,和上一次玩电路实验已经隔了好一段时间, 孩子应该都基本忘了那种感觉了,所以…

读书会招募 | 一起来读《蛤蟆先生去看心理医生》吧

Hello,大家好, 欢迎来到壹脑云读书圈,我是瘦瘦~ 随着国家经济社会的快速发展,人们的心理问题逐渐增多,新冠疫情也对人们的心理健康带来了或多或少的消极影响。 在此背景下,面对心理咨询,一方…

请告诉孩子:努力读书,是为将来拥有更多选择的权利,而不是被迫谋生

请告诉孩子:努力读书,是为将来拥有更多选择的权利,而不是被迫谋生 01 现在的孩子津津乐道于几个文化不高、但事业有成的名人,用于堵住家长苦口婆心的嘴。 然而事实是,这样的人只是少数,大多数不爱学习的…

经常看书的人和不看书的人有什么区别?

只要能做到高效看经典书籍,对个人提升一定是飞快的! 其实能坚持每天看书两小书(武侠言情之类的杂书除外),已经超过99%的人了。 99%并不夸张,甚至会更多,我们中的很多人除了读书时期会看书&…

外贸大环境下soho人策略

前阵子也跟一个工厂在聊,现在普遍毛利率只有5%-6%,根本不敢涨价,能不降价就不错了(汇率在涨,所以有的客户还会要求降价)。 卷是一定的。而且,各位如果有了解过拼多多的TEMU业务的,应…

传统外贸B2B企业如何转型为跨境电商B2B

国内传统的外贸B2B产业深度仰赖出口商、代理商、参展等方式,但因为新冠疫情使得传统外贸的秩序被打乱,这对外贸企业有着不小的冲击。因此在政策拉动、市场需求驱动及数字技术进步等多重力量共同作用下,许多传统外贸企业纷纷开始转型跨境电商B…

国内出海企业常见的跨境网络问题分析及解决方案

经济全球化趋势发展得如火如荼,越来越多的中国企业走出国门,兴起包括跨境电商、虚拟商品、游戏出海等新贸易形式。 但在业务开拓过程中,由于远距离传输的特殊性,出海企业经常面临网络传输慢、不稳定、延迟、掉线等网络问题&#x…

B2B外贸行业如何利用TikTok打开海外销售渠道-跨境知道

过去数年,中国供应链能力不断提升,生产物资过剩,移动互联网红利见顶,加上政策因素,越来越多的中国企业开始出海寻求增长。根据海关总署发布的数据显示:2021年,我国货物贸易进出口总值39.1万亿元…

目前我国外贸企业生存现状如何?

今天,最新的进出口贸易数据发布。 海关总署9日公布的数据显示,今年前4个月,我国进出口总值12.58万亿元,同比增长7.9%。虽然整体增速有所回落,但完全在可控范围内。 但是增速下的外贸企业就不那么好做了,很多…