This module implements a Commerce payment method for CyberSource's SASOP (Secure Acceptance Silent Order POST) API. There are existing modules for other APIs from CyberSource, but not this one.

Sandbox Project Page: https://drupal.org/sandbox/jeremylichtman/2035149

Git Instructions:
git clone --branch 7.x-1.x http://git.drupal.org/sandbox/jeremylichtman/2035149.git commerce_cybersource_sasop

Comments

Everett Zufelt’s picture

I have reviewed this module and can attest to Jeremy's familiarity and competency with Drupal APIs and coding standards. I don't feel comfortable giving this RTBC status, as I contributed a portion of the original code.

shanly’s picture

I've also code reviewed and tested this module. I'm Jeremy and Everett's colleague so I don't feel comfortable RTBCing it.

PA robot’s picture

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.

sergeypavlenko’s picture

Hi

Please change the links in the description of cloning git repository at:

git clone --branch 7.x-1.x http://git.drupal.org/sandbox/jeremylichtman/2035149.git commerce_cybersource_sasop

theo_’s picture

  • commerce_cybersource_sasop.module
    • line 312 : typo organization_name should be organisation_name.
    • line 314 : you look for field_email on customer billing profile which is not part of it's default fields. So it lead to the following error : EntityMetadataWrapperException: Unknown data property field_email. in EntityStructureWrapper->getPropertyInfo() (line 339 of sites/all/modules/entity/includes/entity.wrapper.inc). Maybe you can get this email directly from the order.
    • line 198 : commerce_cybersource_sasop_redirect_form() here I see two points :
      • Takes advantage of commerce_payment_credit_card_form() instead of building your own credit card form.
      • Only ask user about missing data and mark those fields are required if you really need them.

Otherwise this module seem pretty good to me.

Everett Zufelt’s picture

Status: Needs review » Needs work

I think that the credit card form needs to be custom, since it is posting directly to CyberSource and not to Drupal. Good catch on the other issues, these are the things that a single perspective weren't going to catch.

Thanks

jeremylichtman’s picture

Fixed the following (thanks sergeypavlenko and theo_):

  • Link to clone the repository.
  • Line 312 : typo organization_name should be organisation_name.
  • Line 314 : default for email address comes directly from the order,

I'm leaving the credit card form (line 198 in issue #5) as-is for now, as per Everett Zufelt's response. in #6. One possible way we could address this would be to grab the standard card form and do an alter on it in order to get the right format to post over to CyberSource.

Everett Zufelt’s picture

Status: Needs work » Reviewed & tested by the community

Jeremy demonstrates competency with Drupal coding standards, APIs and working with other members of the community. This module is unique, is not a good candidate for combining with another (uses a completely different API than other CyberSource modules), and has been reviewed by several community members.

I believe that Jeremy has demonstrated everything required to receive the ability to promote this module to a full project on d.o.

Everett Zufelt’s picture

Priority: Normal » Major

Upgraded issue priority to major after 2 weeks in RTBC

Everett Zufelt’s picture

Priority: Major » Critical

This issue has been in RTBC for over 4 weeks. Upgrading priority to Critical.

dman’s picture

Assigned: Unassigned » dman

As it's hard to evaluate fully without huge setup (like all payment gateways), I'll take the endorsements as a good start.
Claiming this as part of the project review sprint
I'll just do a visual once-over...

dman’s picture

* I found the README and project page a little sparse, but that's mostly because I don't know what I'm supposed to expect it to do. It probably makes sense if I'd got as far as already deciding I needed the module :-). You are allowed to sell it a little bit more and let us know why we'd want this thing.
* js and css is sane. Minor typo inconsistency Width: 80px;
* Nicely structured code.
* Clean and appropriate use of hooks
* Nice form with defaults set
* I can't confirm to replicate, but I think you maybe should use FAPI #attached instead of drupal_add_css, drupal_add_js in your form definition. Often if you get a validation error, your js and css wil fail to load on the second screen if you just use drupal_add_*
* I like that you support the test URL out of the box. Very considerate.
* I can't follow it all without a working system, but the inline comments are very appropriate, and look clear
* Based on all the places I looked, the content looks sanitized and escaped as needed.

Yup. I'm happy with the look of this

dman’s picture

Status: Reviewed & tested by the community » Fixed

Thanks for your contribution, jeremylichtman!

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.

Status: Fixed » Closed (fixed)

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

Anonymous’s picture

Issue summary: View changes

Update link to clone repository