We have no idea which payment methods are actually used, because statistics on submodules are not collected by drupal.org. Porting all four methods seems like it will be a lot of effort for an unknown amount of benefit. Therefore I suggest only converting and shipping PayPal for 8.x-4.0, and contrib can pick up the other three, if needed - we can always consider adding more methods back into a later release.

Comments

longwave created an issue. See original summary.

longwave’s picture

There is also the option of dropping core payment methods entirely in favour of #2293939: Replace the payment API with Payment 8.x-2.x but a compromise is to eventually include https://www.drupal.org/project/payment_ubercart or the equivalent in core.

tr’s picture

Personally I'm in favor of dropping all internal payment methods and switching entirely to Payment. Porting PayPal and bringing it up to date will be a lot of work, and I'd rather devote the time to integrating Payment because then we will then be able to use any existing Payment module. Also, there are others working on those modules so our efforts are leveraged. I have done some preliminary work towards adding Payment, but it's in no shape to make public yet.

The D8 branches of uc_cybersource and uc_2checkout can probably be deleted from the repository right now. No matter which way we go with Payment, I don't anticipate supporting those two internal to the Ubercart project. I wouldn't drop uc_authorizenet just yet because many payment gateways emulate Authorize.net, so it serves as a way to use those gateways as well as an example for writing your own gateway.

jian he’s picture

Payment methods is vital to ubercart, hopes it can be usable as soon as possible.
Actually I am in urgent need of the wechat payment method, It seems there has no contrib for this and I have to study the payment method code and implement it myself.

longwave’s picture

I had another quick look at Payment today. My main concern at the moment for dropping internal payment methods in favour of Payment is that it depends on Currency, which in turn depends on two external Commercie libraries - and this ultimately means that you will need to use Composer to install Ubercart with support for payment methods. I realise that this is the way PHP development is going in general, but I was hoping to allow people to install Drupal 8 and Ubercart without using the command line; currently this isn't possible as far as I know, even with Composer Manager available.

This isn't to say that we shouldn't support Payment in core; I am just not sure about adding a dependency on Payment.

jian he’s picture

Agree with longwave, because of the Drupal Commerce depend on a lot of composer libraries and is a bit complex and very unstable for Drupal 8, so I have leave Drupal Commerce and go Ubercart.

We should "Keep Ubercart Simple and Stupid", so need provides easy installed payment methods.

longwave’s picture

Bump. Personally I'm happy to drop uc_cybersource now and consider this fixed, shipping with 2Checkout, Authorize.Net and PayPal.

tr’s picture

Yes, I think we should drop Cybersource. We should post an explanation about why in #2641764: Remove uc_cybersource from Ubercart core in D8.

I have a lot to say about Payment, but I haven't had a chance to write it all down. I'm disappointed that it now requires Composer and uses external libraries - that's stepping away from the the Drupal solution that it used to be, and that is/was its strength. Similarly for the Currency dependency. If Payment relies on a whole infrastructure of modules, it's not really the useful use-it-anywhere solution that it started as. But let me save that for later.

Right now, maybe we can commit to shipping with a bridge so that Payment may be used with Ubercart if someone desires it? That would open up a lot of payment options and make Ubercart much more useful, even if it does require a big jump in learning to actually use those options.

tr’s picture

OK, I posted some explanation in #2641764: Remove uc_cybersource from Ubercart core in D8, and in all the currently-open Cybersource issues (there are only 4). Let's use that issue as the main one for shutting down Cybersource, and use this one to decide whether we need any Payment integration before 8.x-4.0.

longwave’s picture

I don't want to commit now to definitively including a Payment bridge in 8.x-4.0, but if one is ready in time then I would happy to see it in the codebase. There is nothing stopping us releasing without it and then adding it in a point release of 8.x-4.x, after all.

longwave’s picture

Status: Active » Fixed

I guess this is fixed now as in the decision has been made regarding the existing payment methods. If and when a Payment bridge is available let's consider whether to ship it with Ubercart core.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.