Jump to content



Photo
- - - - -

Virtual Merchant - Elavon, ViaKlix, Nova Payment Module Support Forum


  • Please log in to reply
145 replies to this topic

#141   ArtcoInc

ArtcoInc
  • Members
  • 451 posts
  • Real Name:Malcolm

Posted 27 July 2015 - 22:31

In case anyone else is installing this on the Bootstrap version of osC, the problem I had with entering the c/c information deselecting the payment choice had been discussed before in another thread ...

 

http://forums.oscomm...sive/?p=1729501

 

and a patch had been found ...

 

http://forums.oscomm...sive/?p=1729513

 

Now, on to the missing ssl-salestax information ....

 

Malcolm



#142   ArtcoInc

ArtcoInc
  • Members
  • 451 posts
  • Real Name:Malcolm

Posted 28 July 2015 - 17:07

* Update *

 

Success! :) :lol: B) :P :thumbsup: :D (w00t)

 

To resolve the sales tax error, I needed to log into my Virtual Merchant account. Once there, in the main screen, across the top of the screen, there are three menu choices: User, Account Settings, and Terminal. Hover over 'Terminal'. A drop-down menu will appear. Hover over 'Merchant', and another drop-down menu will appear. Click on 'Payment Fields'. Here, you can select and de-select what fields are required. In my case, I had to set Sales Tax to 'Not Required'.

 

HTH

 

Malcolm


Edited by ArtcoInc, 28 July 2015 - 17:08.


#143   ArtcoInc

ArtcoInc
  • Members
  • 451 posts
  • Real Name:Malcolm

Posted 25 August 2015 - 18:57

I have this installed and working on my site. Customers are able to place order, their c/c is being processed, and we're getting paid. :thumbsup:

 

One concern/issue, though ...

 

Is this module supposed to write anything to the cc_type, cc_owner, cc_number, cc_expires fields in the Orders table? It's not saving anything there for me.

 

TIA

 

Malcolm



#144   Bob Terveuren

Bob Terveuren
  • Members
  • 471 posts
  • Real Name:Bob Terveuren
  • Gender:Male

Posted 25 August 2015 - 21:11

Hi

 

If you are using a recent version of osC  then the includes/classes/order.php file will not record anything in those fields - e.g. 2.3.4 and 2.3.4BS have these at line 218/221

                          'cc_type' => '',
                          'cc_owner' => '',
                          'cc_number' => '',
                          'cc_expires' => '',

so you'll always get empty data.

 

If you change those lines to this you'll get a record

                          'cc_type' => $_POST['cc_type'],
                          'cc_owner' => $_POST['cc_owner'],
                          'cc_number' => $_POST['cc_number'],
                          'cc_expires' => $_POST['cc_expires'],

However that could land you in a world of pain as storing the cc_number in its entirety is most likely a hanging offence in most of the Western World nowadays so you should obfuscate that in some manner e.g. I think this should get you a card number like 4111XXXXXXXX1234 for storage but best check

                          'cc_type' => $_POST['cc_type'],
                          'cc_owner' => $_POST['cc_owner'],
                          'cc_number' => substr($_POST['cc_number'], 0, 4) . str_repeat('X', (strlen($_POST['cc_number']) - 8)) . substr($_POST['cc_number'], -4);
                          'cc_expires' => $_POST['cc_expires'],

Edited by Bob Terveuren, 25 August 2015 - 21:12.


#145   ArtcoInc

ArtcoInc
  • Members
  • 451 posts
  • Real Name:Malcolm

Posted 25 August 2015 - 21:22

@Bob Terveuren

 

Yes, I'm using osC 234bs. Thank you!

 

Malcolm



#146   clustersolutions

clustersolutions
  • Members
  • 316 posts
  • Real Name:Tim
  • Gender:Male
  • Location:Los Angeles

Posted 25 August 2015 - 22:47

This is what I would do for temporary use...do do a nightly/weekly script to clean it out though...

 

In checkout_process...

                          'cc_type' => $order->info['cc_type'],
                          'cc_owner' => $order->info['cc_owner'],
                          'cc_number' => tep_mysql_encode($order->info['cc_number']),
                          'cc_expires' => $order->info['cc_expires'],
                          'cvvnumber' => tep_mysql_encode($order->info['cvvnumber']),

The tep_mysql_encode function...


// Return an encoded value from a database query
// 03/18/08 changed from xxxxx to yyyyy ttl
// 01/20/15 updated to aes crypt function...ttl
  function tep_mysql_encode($p_number) {
    if (tep_not_null($p_number)) {
      $p_number = str_replace (" ", "", $p_number);
      $encode_query = tep_db_query("select aes_encrypt($p_number, '" . DB_ENCRYPT . "') as p_number");
      $encode_number = tep_db_fetch_array($encode_query);
      $e_number = $encode_number['p_number'];
    } else {
      $e_number = null;
    }
    return $e_number;
  }

In configure.php...

  define('DB_ENCRYPT', 'a very long key...'); //sha2 AES key...

Ref., http://dev.mysql.com...-functions.html

 

so if you store these data they are for the least encrypted in the db level...