DPS (Direct Payment Solutions) Payment Express payment gateway plugin for Ubercart
Payment Express (provider hosted solution) is commonly used in Australia and New Zealand. This module implements pxpay2 based solution as an checkout payment method for drupal Ubercart
More details about this project can be found from https://www.drupal.org/sandbox/jingqian/2781691
This is a drupal 8 plugin compared to https://www.drupal.org/project/uc_paymentexpress which is still d7 based module in dev status
git clone: git clone --branch 8.x-1.x https://git.drupal.org/sandbox/JingQian/2781691.git
NOTIC:
PxPay_Curl.php used as lib php in this module, the detailed info can be found from https://www.paymentexpress.com/developer-e-commerce-paymentexpress-hoste...
Some minimum changes have applied to make it working in drupal 8, as a lib file, We have leave other parts unchanged.
Manual reviews of other projects
https://www.drupal.org/node/2603436#comment-11514973
https://www.drupal.org/node/2783697#comment-11514925
https://www.drupal.org/node/2783141#comment-11514899
Comments
Comment #2
Jing Qian commentedComment #3
PA robot commentedThere are some errors reported by automated review tools, did you already check them? See http://pareview.sh/pareview/httpsgitdrupalorgsandboxJingQian2781691git
We are currently quite busy with all the project applications and we prefer projects with a review bonus. Please help reviewing and put yourself on the high priority list, then we will take a look at your project right away :-)
Also, you should get your friends, colleagues or other community members involved to review this application. Let them go through the review checklist and post a comment that sets this issue to "needs work" (they found some problems with the project) or "reviewed & tested by the community" (they found no major flaws).
I'm a robot and this is an automated message from Project Applications Scraper.
Comment #4
xurizaemonHi
I'm the maintainer of existing UC PaymentExpress (D7 only release for now) and would be happy to see this submitted to the UC PaymentExpress project if that's an option. I'm open to additional maintainers who have demonstrated enthusiasm for contributing, and Jing Qian has established that with the work shown here.
Thanks!
Comment #5
Jing Qian commentedseems I got no git clone problem on the scan - http://pareview.sh/pareview/httpsgitdrupalorgsandboxjingqian2781691git
Comment #6
Jing Qian commentedHi Chris,
Sure, will be keen to be part of the maintainers for DPS :)
Cheers,
Jing Qian
Comment #7
dman commentedI think it's fair to note that from the pareview scan:
Issues with the library (DPSApi/PxPay_Curl.ph) that is code supplied verbatim from the gateway providers specifically for incorporating into projects like this uses a different code standard, and it's more beneficial to maintenance and security to keep it untouched than it is to rewrite it in this case.
"$this->t(" is being used in the lines it identifies, as as far as I can tell, this seems to be a false positive.
I don't know the recommended way to rewrite
But I hope someone else can suggest the fix - if it's important.
The other complaints about SSL authentication and too-short commit messages are totally valid though.
You can't change old commit messages, but look at improving them going forwards.
Comment #8
Jing Qian commentedComment #9
Jing Qian commentedComment #10
Jing Qian commentedComment #11
Jing Qian commentedComment #12
dieuweI've run through and tested the module. Configuration seemed to work fine, the instructions were adequate.
I should only note that since the "Cart" submodule is not listed as a dependency, even though the project page states it is, I had to enable it manually. This is probably not something that really concerns this module though, since "Cart" is listed as something that must be enabled for the entire UC bundle to work.
Tested checkout success and failure. Both worked as expected. Success recorded the payment and the failure sent me back to the checkout.
I'm afraid I can't add much to the PAReview comments, but a manual review of the code does review some inconsistent use of the single and double quotes. I believe that policy is to use single quotes unless double quotes are required. Array notation is also not consistent,
array()and[]are both used. I suggest standardising on the newer brackets.Some nitpicking for the grammar used in the failure messages (2 places): "... please make sure the card detail is correct" should read "... please make sure the card details are correct". Plural, not singular.
None of these things are really showstoppers though, so I am setting to RTBC. If someone has any more knowledge about how to deal with the remaining complaints raised by PAReview then we await your input.
Comment #13
dieuweI should also note that since it seems this sandbox will be merged as 8.x-1.x into the Ubercart PaymentExpress module, the namespaces used here should probably be changed to match those of that module at some point (before the merge).
Comment #14
chroid commentedUsed Simplytest.me to spool up a clean test environment. Followed instructions provided and had no issues except for messing up a copy and paste of the PX UID (which I didn't discover until the checkout). Nothing here that would be a review blocker but might be worthwhile adding some form of debug control as a nice to have. (The logs were a long way from helpful if I was to rely on them for some detail about the issue).
Tested checkout success and failure with a multitude of different card types, including ALL common declines. Where there were failures I was redirected back to the checkout page with an appropriate message (agree with @dieuwe's grammar nitpicks above) and successful payments were lodged correctly into the ordering system.
On subsequent checkouts there was an issue whereby using "Saved addresses" didn't appear to correctly populate the appropriate fields, but I believe this is unrelated to the particular project.
Comment #15
dman commentedSounds like we are almost ready to go.
What's the status RE taking over the https://www.drupal.org/project/uc_paymentexpress namespace?
My understanding is that:
Proposal:
git checkout --orphan 8.x-1.x) and integrates this sandbox there.Alternative
:
(I prefer option A, but will take input on this)
Comment #16
dman commentedDisclosure @Jing and I both work at Sparks Interactive, and occasionally even touch the same projects.
To avoid any questions about the system and our part in it, I would prefer another project reviewer to weigh in and actually pull the trigger and complete the promotion process - which is ready to go, whichever way the old/new module decision (above) goes.
(If not, I'll bump it through after a week anyway, per normal d.o policy for unopposed RTBC applications)
Comment #17
dman commentedThis has been RTBC unopposed since August 24.
Per the policy, and the discussions above, let's do this.
Jing, Please check in with xurizaemon about the next steps for project transferral.
------------------
Thanks for your contribution, Jing!
I updated your account so you can promote this to a full project and also create new projects as either a sandbox or a "full" project.
Here are some recommended readings to help with excellent maintainership:
You can find lots more contributors chatting on IRC in #drupal-contribute. So, come hang out and stay involved!
Thanks, also, for your patience with the review process. Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.
Thanks to the dedicated reviewer(s) as well.
Comment #19
xurizaemonJing, you've got full access to the project at https://www.drupal.org/project/uc_paymentexpress now.
Thanks!