This module is a payment module for ubercart. It is a credit card gateway throught Eurobank (Greek Bank) payment system. It's first page is http://www.ubercart.org/contrib/13345, where jimkont first created for Drupal v.5
It uses ProxyPay3 protocol to communicate with the bank.

A year ago, I made all the necessary changes so as it can be imported into Drupal v.6
Now, it has succesfully been used, for over a year now in sites like novest.gr and afisorama.gr
However, I would like this module to be a Drupal project, so as to be official for all greek users.

CommentFileSizeAuthor
#1 uc_proxypay3_eurobank.zip24.17 KBxaris.tsimpouris

Comments

xaris.tsimpouris’s picture

StatusFileSize
new24.17 KB

Module for review

avpaderno’s picture

Status: Active » Postponed (maintainer needs more info)

Hello, xaris.tsimpouris. You need to create a sandbox project, and report here the link.

xaris.tsimpouris’s picture

Oh, already done that and here it is http://drupal.org/sandbox/xaristsimpouris/1087750
(From other posts I saw that oher people did the same thing - posted a zip file)

xaris.tsimpouris’s picture

Status: Postponed (maintainer needs more info) » Needs review

Do I have to reset from "postponed (maintainer needs more info)" to "needs review" and attract somebody's attention, now that I submitted the so far requested info?

sreynen’s picture

Status: Needs review » Needs work

I opened a few issues in the issue queue. I'm not able to actually try the module, not having a Eurobank account. I'm also not familiar enough with ubercart payment processing to be able to give a comprehensive review, so this is just a start.

manos_ws’s picture

The last few days I am testing the module with eurobank proxypay and with 2 changes it is working as expected.

This should be moved to a proper drupal projet module so we can get a proper realease out.

Manos
http://websynergy.gr/

tim.plunkett’s picture

Component: new project application » module
Status: Needs work » Closed (won't fix)

Closing, feel free to re-open if this was a mistake.

bserem’s picture

Status: Closed (won't fix) » Reviewed & tested by the community

Tim you marked the project as "Won't Fix", does this mean that it can't become a module?

Searching in drupal.org I still only see the application page and not the module page.

tim.plunkett’s picture

Status: Reviewed & tested by the community » Needs work

There has been no reply from the maintainer for 15 weeks, and there are still open issues: http://drupal.org/project/issues/1087750

Marking back to needs work since there is interest.

bserem’s picture

I understand. I, among others, have been using this module for some months now.

I'll see to it that we solve all issues as soon as we can together with Xaris and other people of the community.
Thank you very much!

xaris.tsimpouris’s picture

Status: Needs work » Needs review

#1133856: hook_schema should be used for DB table creation -> "reviewed & tested by the community"
#1133870: Call to drupal_eval() needs a permissions check. -> I never got an answer from sreynen.
#1145260: Decimals needed -> It is just a bug, which is a bug if and only if somebody changes a value from the default one. It is not critical.

Module has been tested and used from many other people, as it is already uploaded to the ubercart page of the project (already mentioned)

xaris.tsimpouris’s picture

Issues have been checked and/or fixed.
Waiting for review

greggles’s picture

Please remove the LICENSE.txt file. Drupal will add the appropriate version automatically during packaging so your repository should not include it.

watchdog('proxypay3_eurobank', 'Confirmation Error: Wrong password ' . $_POST['Password'] );

That's a xss vulnerability because anyone who does a post can insert javascript into the watchdog entry. It should be something more like:

watchdog('proxypay3_eurobank', 'Confirmation Error: Wrong password @password , array('@password' => $_POST['Password'] ));

That same problem is repeated a at least once more and should be fixed.

Generally speaking you don't need to check_plain database arguments, especially not if they are numeric like the %d implies it will be.
check_plain($_POST['Ref']));

This is another XSS, though harder to attack since it requires knowing the proper password. However, this should really be using the @ placeholder which will do a check_plain on the placeholder before subsituting.

watchdog('proxypay3_eurobank', 'Receiving new order notification for order !order_id.', array('!order_id' => check_plain($_POST['Ref'])));

The status messages in the validate function are not using t() to allow translation. This is both a localization problem and a security problem unless the data is being filtered on output (which is the Drupal standard).

It's not 100% clear to me what uc_proxypay3_eurobank_validate is used for, but it seems to me that the data is not being signed or verified in any way. Overall I suggest that all communication via $_POST should include system of hashing the values with a secret key so that before you process the data you can confirm that the data is actually coming from a trusted source. I know that's not within your control, but maybe you could pass the idea to the merchant gateway.

The code in uc_proxypay3_eurobank.proccess.inc doesn't match the Drupal standard coding style which makes it harder to review. I noticed some very small code style issues. Please run the coder module on "minor" setting to help catch these. I noticed things like lack of function documentation blocks using doxygen and if statements that don't use {}.

greggles’s picture

Status: Needs review » Needs work

Most of those are required things to address. The code style item is a strong suggestion. The request for signing the data with a shared secret key is, of course, not a requirement for approval.

misc’s picture

@xaris.tsimpouris has been contacted to ask if the application is abandoned.

After ten weeks with a status of needs work: the applicant may be contacted by a reviewer to determine whether the application was indeed abandoned. The action taken by the reviewer should be documented in the project application issue.

http://drupal.org/node/894256

xaris.tsimpouris’s picture

I always wanted to finish this project, but never got the time to.
I 'll try the next 2-3 weeks.

misc’s picture

Should we mark this as postponed until you got time?

xaris.tsimpouris’s picture

Status: Needs work » Postponed

You are definetely right. Sorry!

ParisLiakos’s picture

Status: Postponed » Closed (won't fix)

closing this since there is another application active from you:
#1409008: commerce_greek_banks