首页 > 解决方案 > OpenOLAT .properties 中的 PayPal 集成

问题描述

我目前正在使用基于 Tomcat 的开源软件(OpenOlat,https://github.com/OpenOLAT/OpenOLAT),我正在尝试弄清楚如何让贝宝集成运行。

我按照我的 paypal 商业帐户 ( https://confluence.openolat.org/display/OO140EN/PayPal+Configuration ) 文档中的说明进行操作,并在管理仪表板中输入了我的凭据。

似乎有两种方法可以包含凭据。一种是通过管理仪表板,另一种是通过 .properties 文件。

OpenOlat 向我询问以下凭据:

paypal.application.id= paypal.first.receiver.email= paypal.security.password= paypal.security.signature= paypal.security.user.id=

而且我不确定他们要求的 application.id。有人可以帮我让它运行吗?

已经在另一个网站上尝试了我的凭据以证明它们是否错误。

这是我在测试凭据时收到的错误消息

java.lang.NullPointerException at org.olat.resource.accesscontrol.provider.paypal.manager.PaypalManagerImpl.convertCurrency(PaypalManagerImpl.java:604) at org.olat.resource.accesscontrol.provider.paypal.ui.PaypalMasterAccountController.checkCredentials(PaypalMasterAccountController .java:256) 在 org.olat.resource.accesscontrol.provider.paypal.ui.PaypalMasterAccountController.formInnerEvent(PaypalMasterAccountController.java:241) 在 org.olat.core.gui.components.form.flexible.impl.FormBasicController.event (FormBasicController.java:430) 在 org.olat.core.gui.control.DefaultController.dispatchEvent(DefaultController.java:206) 在 org.olat.core.gui.components.AbstractComponent$1.run(AbstractComponent.java:240)在 org.olat.core.logging.activity.ThreadLocalUserActivityLoggerInstaller。runWithUserActivityLogger(ThreadLocalUserActivityLoggerInstaller.java:108) at org.olat.core.gui.components.AbstractComponent.fireEvent(AbstractComponent.java:238) at org.olat.core.gui.components.form.flexible.impl.FormWrapperContainer.fireFormEvent( FormWrapperContainer.java:131) 在 org.olat.core.gui.components.form.flexible.impl.Form.fireFormEvent(Form.java:717) 在 org.olat.core.gui.components.form.flexible.impl。 org.olat.core.gui.components.form.flexible.impl.FormItemImpl.doDispatchFormRequest(FormItemImpl.java:567) 上 org.olat.core.gui.components 上的 elements.FormLinkImpl.dispatchFormRequest(FormLinkImpl.java:239)。 org.olat.core.gui.components.form.flexible.impl.FormWrapperContainer.doDispatchRequest(FormWrapperContainer.java:100) 上的 form.flexible.impl.Form.evalFormRequest(Form.java:296)。 gui.components。AbstractComponent.dispatchRequest(AbstractComponent.java:193) at org.olat.core.gui.components.Window.doDispatchToComponent(Window.java:1202) at org.olat.core.gui.components.Window.dispatchRequest(Window.java: 398) 在 org.olat.core.gui.components.Window.doDispatchRequest(Window.java:282) 在 org.olat.core.gui.components.AbstractComponent.dispatchRequest(AbstractComponent.java:193) 在 org.olat.dispatcher .AuthenticatedDispatcher.processValidDispatchURI(AuthenticatedDispatcher.java:263) 在 org.olat.dispatcher.AuthenticatedDispatcher.execute(AuthenticatedDispatcher.java:184) 在 org.olat.core.servlets.OpenOLATServlet.executeUserRequest(OpenOLATServlet.java:269) 在 org. org.olat.core.servlets 上的 javax.servlet.http.HttpServlet.service(HttpServlet.java:661) 上的 olat.core.servlets.OpenOLATServlet.doPost(OpenOLATServlet.java:216)。OpenOLATServlet.service(OpenOLATServlet.java:160) at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache .catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain .java:193) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 org.olat.core.servlets.HeadersFilter.doFilter(HeadersFilter.java:95) 在 org.apache.catalina。 core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain。doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache .catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java :81) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) 在 org.apache.coyote.http11 的 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)。 org.apache.coyote 的 Http11Processor.service(Http11Processor.java:798).AbstractProcessorLight.process(AbstractProcessorLight.java:66) 的 org.apache.coyote。AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498) at org.apache.tomcat.util.net.SocketProcessorBase.run( SocketProcessorBase.java:49) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 org.apache.tomcat.util .threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 在 java.lang.Thread.run(Thread.java:748)concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java: 748)concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java: 748)

标签: javapaypalconfigurationopenolat

解决方案


paypal.application.id 是强制性的,不是可选的。您需要在 paypal 开发人员 UI 中生成它。

现在看来,由于 PayPal 更改了他们的 API,因此无法再生成应用程序密钥。如果您自己没有一个有效的应用程序 ID,唯一的方法是从 frentix(OpenOlat 软件开发商和供应商)获取应用程序 ID。

一个不需要应用程序 ID 的更新 OpenOlat 版本正在开发中,但尚不清楚何时发布此新版本。您可以帮助资金加速开发。


推荐阅读