Jump to:

17452 Posts in 4473 Topics by 1971 members

Archive

SilverStripe Forums » Archive » Credit Card Validation

Our old forums are still available as a read-only archive.

Moderators: martimiz, Sean, biapar, Willr, Ingo, simon_w

Page: 1
Go to End
Author Topic: 2548 Views
  • Dig
    Avatar
    Community Member
    29 Posts

    Credit Card Validation Link to this post

    I have just made a working SecurePayTech module for ecommerce based of the DPS module. I have some javascript for client-side credit card validation, something that securepaytech prefers people to do.

    Where do I put this in order to have is triggered either:
    1. On leaving the creditcard field, like it currently shows a 'this field is required' message.
    or
    2. Prior to submit, again triggering a warning message.

    I've looked through the existing javascript, but don't think I'm up to speed with Behaviours etc., to pinpoint where it does what.

    Cheers,
    Nick

  • Double-A-Ron
    Avatar
    Community Member
    599 Posts

    Re: Credit Card Validation Link to this post

    This thread will probably help you: http://www.silverstripe.com/site-builders-forum/flat/1369

  • kez
    Avatar
    Community Member
    2 Posts

    Re: Credit Card Validation Link to this post

    hi there

    I am also very interested in this....

    Have you managed to get it working well?

    From SilverStripe to SecurePayTech and back again?

    Is there a chance of forwarding your code?

    Many thanks!

  • Dig
    Avatar
    Community Member
    29 Posts

    Re: Credit Card Validation Link to this post

    I'm still in the process of testing and integrating, if I have a suitable version working (hopefully this week, securepaytech are testing it at the moment) I'll post it.

    Can't guarantee it meets silverstripe's code guidelines, but if it works I'll let you all know

    Nick

  • kez
    Avatar
    Community Member
    2 Posts

    Re: Credit Card Validation Link to this post

    brilliant - Thanks!

    I will hold off reinventing the wheel.... Still looking around for another lightweight ecommerce gpl system that will easily integrate with securepaytech without too much effort....

    Need to get a ecommerce site up fast with minimal product and minimal effort....

    Any ideas welcome!

  • Dig
    Avatar
    Community Member
    29 Posts

    Re: Credit Card Validation Link to this post

    Attached is the securepaytech payment file I've managed to get working. I've merged my ecommerce code with the svn version so I'm not 100% sure it'll work for everyone but should at least give you a good place to start.

    Add the following line to mysite/_config.php with the correct details

    SecurePayTechPayment::set_account('merchantID', 'password');

    I ended up using Director::forceSSL() in order to get SSL working, which is across the whole site, not just the payment pages.

    Two additional javascript functions I've added (to Checkout.js) and use in this file:

    paymarkVerify();

    Is the same as the implementation in the SecurePayTech integration guide, just pops up a window with the right merchantID for verification purposes.

    requireValidCC(fieldName);

    this is a new validation function that works just the same as require() in /sapphire/javascript/Validator.js except it checks for a valid credit card number. Listing for this is below, add it to Checkout.js or anywhere that suits/works :

    function requireValidCC(fieldName) {
             el = _CURRENT_FORM.elements[fieldName];
             
             if (!checkCC(el.value)) {
                validationError(el,"Please enter a valid credit card number","required",false);
                return false;
             } else {
             if(!hasHadFormError()) {
                clearErrorMessage(el.parentNode);
             }
             return true;         
             }
    }

    function checkCC(s) {

    var i, n, c, r, t;

    r = "";
    for (i = 0; i < s.length; i++) {
    c = parseInt(s.charAt(i), 10);
    if (c >= 0 && c <= 9)
    r = c + r;
    }

    if (r.length <= 1)
    return false;

    t = "";
    for (i = 0; i < r.length; i++) {
    c = parseInt(r.charAt(i), 10);
    if (i % 2 != 0)
    c *= 2;
    t = t + c;
    }

    n = 0;
    for (i = 0; i < t.length; i++) {
    c = parseInt(t.charAt(i), 10);
    n = n + c;
    }

    if (n != 0 && n % 10 == 0)
    return true;
    else
    return false;
    }

    I'm using a Modified version of the latest release of silverstripe along with a modified version of the svn version of ecommerce so results may vary widely!

    Enjoy.

    2548 Views
Page: 1
Go to Top

Want to know more about the company that brought you SilverStripe? Then check out SilverStripe.com

Comments on this website? Please give feedback.