【问题标题】:Intershop 7.10. - fetching payment configurationIntershop 7.10。 - 获取支付配置
【发布时间】:2019-06-19 07:03:35
【问题描述】:

我们想从 Java 类(OrderBO 扩展)中的 Order 中获取支付配置。到目前为止,我们已经设法获取这样的服务:

final OrderBOPaymentExtension<OrderBO> paymentExtension = getExtendedObject().getExtension(OrderBOPaymentExtension.EXTENSION_ID);

final PaymentBO paymentBO = paymentExtension.getPaymentBOs().stream().findFirst().orElse(null);

PaymentServiceBO paymentServiceBO = paymentBO.getPaymentServiceBO();

现在我们需要获取配置,所以我们可以从支付方式中读取某些配置参数。最好的方法是什么?

我们知道可以像这样通过 PO 工厂获取支付配置:

PaymentConfigurationPOFactory f = (PaymentConfigurationPOFactory)NamingMgr.getInstance().lookupFactory(PaymentConfigurationPO.class);
PaymentConfigurationPO r = f.getConfigForIDAndDomain(iD, domain);

但我们希望避免使用已弃用的代码。

更新: 我们试图实现的是在 Java 代码中访问这些 BO 参数:

【问题讨论】:

    标签: service payment intershop


    【解决方案1】:

    我建议你写一个PaymentServiceBO 扩展。在该扩展中,您可以编写 getter 方法来查询某些配置值。访问服务配置对象的java代码为:

    PaymentConfiguration paymentConfig = paymentServiceBO.getExtension(PersistentObjectBOExtension.class).getPersistentObject();
    ServiceConfigurationBO serviceConfigurationBO = repository.getServiceConfigurationBOByID(paymentConfig.getManagedServiceConfiguration().getUUID());
    ConfigurationProvider configProviderExtension = serviceConfigurationBO.getExtension(ConfigurationProvider.class);
    Configuration configuration = configProviderExtension.getConfiguration();
    Logger.debug(this, "payment service config keys = {}", configuration.getKeys());
    

    【讨论】:

      【解决方案2】:

      我认为 PaymentConfiguration 已被弃用。请参阅 PaymentConfigurationBO javadoc:

      Deprecated since 7.6. Payment configurations are now represented via PaymentServiceBOs.
      

      因此您需要使用 PaymentServiceBO 方法或编写一个业务对象扩展来满足您的需求。

      【讨论】:

      • 好的,但是通过 paymentServiceBO 访问支付配置值的方法是什么?从我的第一个代码示例中可以看出,我们已经在使用 PaymentServiceBO 对象,我们只是想找到一种方法来访问 Java 代码中的配置值。
      • getPaymentCostBO 等方法已从 PaymentConfigurationBO 移至 PaymentServiceBO。是否有您正在寻找的特定方法?您正在寻找的方法很可能不再存在,因为 PaymentConfiguration 已被弃用。
      • 我已经用截图更新了原始问题。它可能已被弃用,但通过 Intershop BO,可以配置每项服务,包括通过名为“配置”的选项卡的支付服务。我们的应用程序正在使用在该选项卡中输入的服务配置参数,我们需要在 Java 中访问这些值。有没有办法访问这些?
      猜你喜欢
      • 1970-01-01
      • 2019-06-15
      • 1970-01-01
      • 1970-01-01
      • 2016-06-04
      • 2019-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多