Closed (fixed)
Project:
Drupal.org security advisory coverage applications
Component:
module
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
8 Apr 2013 at 15:02 UTC
Updated:
12 Aug 2013 at 20:41 UTC
This project integrates MercadoPago into the Drupal Commerce payment and checkout systems.
git clone --branch 7.x-1.x http://git.drupal.org/sandbox/vmunozp/1643648.git mercado_pago_payment
Comments
Comment #1
PA robot commentedWe are currently quite busy with all the project applications and we prefer projects with a review bonus. Please help reviewing and 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 #2
rlmumfordHi jrviorato!
First question, are you wanting 7.x-1.x reviewed or 7.x-2.x. I know the link above says 7.x-1.x but I thought I'd check.
Automated Review
PARaview returned clean. So that's all good!
Manual Review
Implements hook_menu().mercado_pago_payment_process_ipn.It looks pretty close though, and its always good to see more extensions to commerce!
Comment #2.0
jrviorato commentedChange the git clone repository to the anonymus url. From vmunozp@git.drupal.org:sandbox/vmunozp/1643648.git to http://git.drupal.org/sandbox/vmunozp/1643648.git
Comment #3
jrviorato commentedThank you rlmumford,
I decided to apply the version 7.x-1.x for a full project because it is the stable one. I would love both version to be reviewed. But version 7.x-2.x needs a lot much more work.
About your review, i did every thing that you said.
And finally, I hope i can review your module soon in return.
Comment #4
jrviorato commentedI forgot to change the status to needs review
Comment #5
jrviorato commentedChanging priority. I have been awaiting for reviewers for more then 2 weeks.
Comment #6
Gaelan commentedVentral review is reporting an error again: http://ventral.org/pareview/httpgitdrupalorgsandboxvmunozp1643648git
Manual review
Line 91: I think it would be better to use l() here.
Lines 189-192: The last closing paren should be on a new line, and the rest of this section should be indented by two more spaces.
I think it would be possible to fake a payment by sending a POST request to the IPN URL.
Translation files are no longer included with the module; they are handled on translate.drupal.org.
Comment #7
Gaelan commentedComment #8
jrviorato commentedSorry for not attending your review, a have been busy this past weeks.
Well, despite that your review is short, it is making me work a lot.
In order to verify the authenticity of the IPN, I should compare the information sent by the IPN with the one on the servers of MercadoPago; meaning, made a POST with the account information to their servers asking for the actual information. But in terms of Drupal Commerce, there are some complications to do that. I should extract from the IPN the payment method instance id used to create the payment. I checked PayPal module to understand how they did it and it is a nice solution.
So, it will take me a couple of weeks to do the work needed. I just want to keep you posted.
And, thanks for the review.
Comment #9
jrviorato commentedFinally it is done.
I will answer one by one your suggestions.
Suggestion 1
rlmumford at comment-7272690 also suggested the same. But I can't find that suggestion on any part of the Drupal documentation. In fact, in Dynamic or static links and HTML in translatable strings you can find an opposite suggestion, and also on the core modules you can found that link's are been handled just like I did. For example, on search.module line 91:
On the other hand, I notice some complains about HTML on translation strings. But I don't remember where.
Suggestion 2
Done, just like you suggested.
Suggestion 3
This gave me a lot of trouble but I finally nailed it. It wasn't so simple as just make a POST to the MercadoPago Server to verify the information, because it was needed to recall the Payment Method Instance Id. I solve this by using the extra parameter accepted by Mercado Pago Server and in case of missing that parameter, I use the default Instance Id.
Suggestion 4
Ok, I get it. But I don't like too much the idea because, in my understanding, translate.drupal.org does not handle translations for sand projects. So, while my project still on review for promotion, there will be no translation file easily available. And my problem with that, is that all the user of this module are from Latin America, and translation is absolutely required. But, I did remove it as you suggested, in the hope that it will be promoted.
Thank you for taking your time to review my module and to read this long comment.
Comment #10
kscheirerThere is a typo in your README, "REQUERIMENTS" should be "REQUIREMENTS". In the 7.x-2.x README "tipically" should be "typically", "instalation of" should be "installation".
You mentioned the 7.x-1.x branch is what you would like to have reviewed. So I will just mention that ventral find lots of issues with the 7.x-2.x branch: http://ventral.org/pareview/httpgitdrupalorgsandboxvmunozp1643648git-7x-2x. Also, in mercado_pago_payment.info, you don't need to list
files[] = mercado_pago_payment.module.Do both the 1.x and 2.x branches have the additional security you added in #9?
I'm not sure what the translation standard is, but since this payment method seems to be exclusive to predominantly spanish speaking countries I think it's fine.
Setting to needs work for the security question, otherwise this is RTBC from me.
----
Top Shelf Modules - Enterprise modules from the community for the community.
Comment #11
jrviorato commentedHi kscheirer,
I corrected the typos that you mention. I used your comment as an excuse to correct the big list of ventral issues for the 7.x-2.x branch.
For the security question, let me explain you first the difference between 7.x-1.x and 7.x-2.x. There are two version of MercadoPago API, lets call them 1.0 and 2.0. Version 7.x-1.x of my module use 1.0 version, and version 7.x-2.x can use both versions. So, after reading your comment, I realized that it got no sense to keep both versions on 7.x-2.x of the module, it is more natural and simple to work with only one version per module branch.
So, i remove the compatibility for Mercado API 1.0 on the module branch 7.x-2.x; after this, the security implementation on #9 no longer applies for 7.x-2.x branch. This is because 7.x-2.x works in a different way; Mercado Pago IPN 2.0 notifications does not post the payment status, and a post back to Mercado Server's is always required.
Thank you for reviewing the module.
Comment #12
kscheirerSounds good to me, thanks for the explanation, setting to RTBC.
If you're wondering what further action would help on your part, nothing is required, but the best thing you can do is get a Review Bonus by reviewing other applications. That will get you to the top of the list of projects to get reviewed (and hopefully approved).
----
Top Shelf Modules - Enterprise modules from the community for the community.
Comment #12.0
kscheirerAccidentally erease the branch instrucction from clone repository
Comment #13
kscheirerCode still looks good, consider supporting the Payment module to support Ubercart, Webform, and Commerce all together.
Thanks for your contribution, jrviorato!
I updated your account to let you 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 get 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.
----
Top Shelf Modules - Crafted, Curated, Contributed.
Comment #14.0
(not verified) commentedAdded a review to other project