java - j计费 : How to create payment programmatically?

标签 java payment billing

如何通过预定插件以编程方式在 jBilling 中创建付款?问题是我想创建一个不链接到任何发票的付款,所以我尝试使用

applyPayment(PaymentDTOEx payment, Integer invoiceId, Integer executorUserId)

发票Id=null,但会导致错误:

org.hibernate.LazyInitializationException: could not initialize proxy - no Session

最初我尝试:

IPaymentSessionBean psb = Context.getBean(Context.Name.PAYMENT_SESSION);
psb.applyPayment(new PaymentDTOEx(paymentWS), null, userID);

后来我之前添加了“userbl.webServicesAuthenticate(user, pass)”,但结果是一样的。

我认为我错过了一些重要的事情,而且可能做得完全错误。

最佳答案

我以前从未使用过 jBilling,但经过一番谷歌搜索后,它似乎使用 Spring 来管理事务等。

从您引用的错误来看,您似乎没有打开 Hibernate session 。如果您使用的是 Web 框架(例如 Spring MVC),则通常使用 servlet 过滤器透明地为您管理 Hibernate session 生命周期。

如果您要通过预定服务执行付款,则您可能需要在服务中自行打开和关闭 Hibernate session 。有一些文档here描述了如何使用 Spring 以编程方式执行此操作。

另请查看@Transactional注解。它可能就像用它注释您的预定作业方法一样简单。

关于java - j计费 : How to create payment programmatically?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20147518/

相关文章:

java - Java 中的泛型和泛型哪个更好?

java - 这是备份带有流和异常的文件的正确方法吗?

java - 如何正确打包Jar中的资源

paypal - Paypal 沙箱没有交易历史记录

php - 是否存在任何类似于 ActiveMerchant for Ruby 的 PHP 项目?

android - 在 Android 应用内计费

google-cloud-platform - GCP 结算报告中的费用与导出到 GBQ 的费用不匹配

Java I/O 流;有什么区别?

javascript - Stripe Connect 费用 - 必须验证为连接帐户才能使用客户参数

Android - 应用内购买问题