The main problem is there are two different payment gateway execution paths - the old style and the new style. That is why there seems to be so much processing code.

[It has been a while since I worked on those, but if I recall correctly, the old style takes you to a provider's web page for payment, while the new style calls a provider API without leaving your site.]

The new style uses configuration entities and such and those entities drive a payment gateway workflow. The idea being you add some entity values and a little bit of code to add a new payment gateway provider. It takes time to dig through the code, but once you figure it out, it is easy to set up.

Adrian Crum
Sandglass Software
www.sandglass-software.com

On 11/23/2015 1:27 AM, Pierre Smits wrote:
Hi all,

While working on the omultisafepay component (
http://oem.ofbizci.net/oci-2/products/p_omultisafepay) I noticed that we
have a very complex way of processing payments in OFBiz.

When I look at CheckOutEvents and CheckOutHelper in the order mgt I found
following:

    1. getSelectedPaymentMethods (*Events.java)
    2. checkExternalPayment (*Events.java)
    3. checkPaymentMethods (*Events.java)
    4. checkExternalPayment (*Helper.java)
    5. checkGiftCard (*Helper.java)
    6. makeBillingAccountMap (*Helper.java)
    7. setCheckOutPayment (*Helper.java)
    8. setCheckOutPaymentInternal (*Helper.java)
    9. validatePaymentMethods (*Helper.java)

And I might even be forgetting some.

On top of this we have the various handlers/processors in accounting:

    1. Bill acount
    2. Gifcard
    3. Authorize.Net
    4. ClearCommerce
    5. CyberSource
    6. Eway
    7. Gosoftware
    8. iDeal
    9. Orbital
    10. Paypal
    11. Sagepay
    12. Securepay
    13. Valuelink
    14. Verisign
    15. Worldpay

(and I can't even determine whether these are still valid - as in used -
  and functioning options).

It seems to me that we have created a feature set that has become more and
more difficult to maintain/support.

How do you solve the requirements of your customer when it comes to payment
solution integration? Do you advice/implement the ootb functionalities as
they are now? Do you improve the ootb solutions? Or do you build from
scratch?

What do you think? Should we rethink this?

Best regards,


Pierre Smits

*OFBiz Extensions Marketplace*
http://oem.ofbizci.net/oci-2/

Reply via email to