Jump to content
Sign in to follow this  
networkdad

Protx VSP Direct - MS2.2 Support

Recommended Posts

Please can you suggest something else to try here,

 

set up as follows:

 

HTTP Server: Apache/2.0.46 (Red Hat)

PHP Version: 4.3.9 (Zend: 1.3.0)

Server OS: Linux 2.4.21-4.0.1.ELsmp

Database: MySQL 3.23.58

osCommerce 2.2-MS2

 

I have installed the Jason LeBaron Protx Direct integration kit and updated database tables accordingly but protx can't recieve any information when I go to authorise a transaction and it eventually times out without authorising. (obviously)

 

do you think that there is a firewall on the server I am using that I don't know about or has anyone come across anything similar?

 

any thoughts, comments appreciated...

 

Thanks..

Share this post


Link to post
Share on other sites
Please can you suggest something else to try here,

 

set up as follows:

 

HTTP Server: Apache/2.0.46 (Red Hat)

PHP Version: 4.3.9 (Zend: 1.3.0)

Server OS: Linux 2.4.21-4.0.1.ELsmp

Database: MySQL 3.23.58

osCommerce 2.2-MS2

 

I have installed the Jason LeBaron Protx Direct integration kit and updated database tables accordingly but protx can't recieve any information when I go to authorise a transaction and it eventually times out without authorising. (obviously)

 

do you think that there is a firewall on the server I am using that I don't know about or has anyone come across anything similar?

 

any thoughts, comments appreciated...

 

Thanks..

 

 

Hi hr

 

I had exactly same same problems here.... my payment server wasnt working for 2 weeks and being so lcose to xmas was driving me nuts - anyway here is your answer...

 

see belew

 

 

After testing the cURL sessions and Firewall with the hosting company the came up with some answers from a couple of cURL forums.

 

One suggestion was to add this line of code.

 

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // this line makes it work under https

 

Add this line of code to the protx_direct.php file around line 500 where the cURl session is being initiated.

 

Hope this helps for any other folks stuck where i was.

 

Thanks for your help jason

 

Regards

 

 

Mark

Share this post


Link to post
Share on other sites

Good catch guys. Not every server will have to do this. This basicall stops CURL from verifying the peer's certificate.

Share this post


Link to post
Share on other sites

Hi,

 

We are currently testing the protx direct payment module. All cards are working fine apart from solo cards (UK).

 

The error being display from protx confirms that the card number does not match the card type.

 

Our validation code is as follows:

 

class cc_validation {

var $cc_type, $cc_number, $cc_expiry_month, $cc_expiry_year;

 

function validate($number, $expiry_m, $expiry_y) {

$this->cc_number = ereg_replace('[^0-9]', '', $number);

 

if (ereg('^4[0-9]{12}([0-9]{3})?$', $this->cc_number)) {

$this->cc_type = 'Visa';

} elseif (ereg('^5[1-5][0-9]{14}$', $this->cc_number)) {

$this->cc_type = 'MC';

} elseif (ereg('^3[47][0-9]{13}$', $this->cc_number)) {

$this->cc_type = 'AMEX';

} elseif (ereg('^3(0[0-5]|[68][0-9])[0-9]{11}$', $this->cc_number)) {

$this->cc_type = 'Diners Club';

} elseif (ereg('^6011[0-9]{12}$', $this->cc_number)) {

$this->cc_type = 'Discover';

} elseif (ereg('^(3[0-9]{4}|2131|1800)[0-9]{11}$', $this->cc_number)) {

$this->cc_type = 'JCB';

} elseif (ereg('^5610[0-9]{12}$', $this->cc_number)) {

$this->cc_type = 'Australian BankCard';

} elseif (ereg('^49030[2-9]{1}([0-9]{10,13})?$', $this->cc_number)) {

$this->cc_type = 'Switch';

} elseif (ereg('^49033[5-9]{1}([0-9]{10,13})?$', $this->cc_number)) {

$this->cc_type = 'Switch';

} elseif (ereg('^49110[1-2]{1}([0-9]{10,13})?$', $this->cc_number)) {

$this->cc_type = 'Switch';

} elseif (ereg('^49117[4-9]{1}([0-9]{10,13})?$', $this->cc_number)) {

$this->cc_type = 'Switch';

} elseif (ereg('^49118[0-2]{1}([0-9]{10,13})?$', $this->cc_number)) {

$this->cc_type = 'Switch';

} elseif (ereg('^4936[0-9]{2}([0-9]{10,13})?$', $this->cc_number)) {

$this->cc_type = 'Switch';

} elseif (ereg('^564182([0-9]{10,13})?$', $this->cc_number)) {

$this->cc_type = 'Switch';

} elseif (ereg('^6333[0-4]{1}([0-9]{1})([0-9]{10,13})?$', $this->cc_number)) {

$this->cc_type = 'Switch';

} elseif (ereg('^6759[0-9]{2}([0-9]{10,13})?$', $this->cc_number)) {

$this->cc_type = 'Switch';

} elseif (ereg('^6767[0-9]{2}([0-9]{10,13})?$', $this->cc_number)) {

$this->cc_type = 'Switch';

} else {

return -1;

}

 

It would be fantastic if anybody could provide some updated code that works for solo cards. Our solo card starts with 6767 as the first four numbers. Oscommerce is treating this as a switch card. We are not sure what is the correct method of implementing this.

 

Kind Regards,

 

Charterhouse.

Share this post


Link to post
Share on other sites

An updated module has been released. All users are recommended to uninstall the current version and install the newest release.

Share this post


Link to post
Share on other sites

Hi

I have a silimar problem than mark and tried

 

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

 

but no difference.

 

I am running under OS2.2MS2

PHP 4.3.10

 

test.php show curl enabled: libcurl/7.11.2 OpenSSL/0.9.7c zlib/1.1.4

 

I am running all this on a windows 2003 server on IIS6

(I only use IIS6 because I do not know how to install ssl on apache on win32)

 

When completeing a protx transaction on testserver I get the following error:

 

Couldn\'t create a transaction (VRTXInvalidIPAddress, ) - Your credit card could not be authorized for this reason. Please correct any information and try again or contact us for further assistance.

 

When running with debug on I get:

 

VPSProtocol=2.20 VPSTxID={B780015A-FCE6-451E-B56B-4C16538F0DEB} Status=ERROR StatusDetail=Couldn't create a transaction (VRTXInvalidIPAddress, ) TxAuthNo= SecurityKey= AVSCV2=DATA NOT CHECKED VPSProtocol=2.20&TxType=PAYMENT&Vendor=toolfinder&VendorTxCode=5864155950273327&Amount=23.30&Currency=GBP&Description=Block+Plane+-+No.2%28qty%3A+1%29+%2B++Washer+Pack+-+280pce%28qty%3A+1%29+&ClientNumber=1&CardHolder=Cilliers&CardNumber=XXXXXXXXXXXXXXX&StartDate=&ExpiryDate=0205&IssueNumber=&CV2=&CardType=MC&Address=9+Olliver+Close&PostCode=B62+0QB

 

 

When running with debub off and server IPTEST on I get:

 

 

Contents of the Request Object

 

 

 

The Request.Form Collection

VPSProtocol = 2.20

TxType = PAYMENT

Vendor = toolfinder

VendorTxCode = 6699713859038765

CardHolder = Cilliers

Amount = 23.30

Description = Block Plane - No.2(qty: 1) + Washer Pack - 280pce(qty: 1)

CV2 =

Address = 9 Olliver Close

Currency = GBP

StartDate =

ExpiryDate = 0205

IssueNumber =

PostCode = B62 0QB

ClientNumber = 1

CardNumber = zzzzzzzzzzzzzzzzzzzzz

CardType = MC

 

 

The Request.QueryString Collection

 

The Request.Cookies Collection

 

 

 

The Request.ClientCertificate Collection

 

 

 

The Request.ServerVariables Collection

 

ALL_HTTP = HTTP_ACCEPT:*/* HTTP_HOST:ukvpstest.protx.com HTTP_PRAGMA:no-cache HTTP_CONTENT_LENGTH:352 HTTP_CONTENT_TYPE:application/x-www-form-urlencoded

ALL_RAW = Accept: */* Host: ukvpstest.protx.com Pragma: no-cache Content-Length: 352 Content-Type: application/x-www-form-urlencoded

APPL_MD_PATH = /LM/W3SVC/1/Root/ShowPost

APPL_PHYSICAL_PATH = d:\ShowPost\

AUTH_PASSWORD =

AUTH_TYPE =

AUTH_USER =

CERT_COOKIE =

CERT_FLAGS =

CERT_ISSUER =

CERT_KEYSIZE = 128

CERT_SECRETKEYSIZE = 1024

CERT_SERIALNUMBER =

CERT_SERVER_ISSUER = O=VeriSign Trust Network, OU="VeriSign, Inc.", OU=VeriSign International Server CA - Class 3, OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.©97 VeriSign

CERT_SERVER_SUBJECT = C=GB, S=London, L=London, O=PROTX Ltd., OU=Service Department, OU=Terms of use at www.verisign.co.uk/rpa © 03, OU=Authenticated by VeriSign, OU="Member, VeriSign Trust Network", CN=ukvpstest.protx.com

CERT_SUBJECT =

CONTENT_LENGTH = 352

CONTENT_TYPE = application/x-www-form-urlencoded

GATEWAY_INTERFACE = CGI/1.1

HTTPS = on

HTTPS_KEYSIZE = 128

HTTPS_SECRETKEYSIZE = 1024

HTTPS_SERVER_ISSUER = O=VeriSign Trust Network, OU="VeriSign, Inc.", OU=VeriSign International Server CA - Class 3, OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.©97 VeriSign

HTTPS_SERVER_SUBJECT = C=GB, S=London, L=London, O=PROTX Ltd., OU=Service Department, OU=Terms of use at www.verisign.co.uk/rpa © 03, OU=Authenticated by VeriSign, OU="Member, VeriSign Trust Network", CN=ukvpstest.protx.com

INSTANCE_ID = 1

INSTANCE_META_PATH = /LM/W3SVC/1

LOCAL_ADDR = 10.0.4.1

LOGON_USER =

PATH_INFO = /showpost/showpost.asp

PATH_TRANSLATED = d:\ShowPost\showpost.asp

QUERY_STRING =

REMOTE_ADDR = 82.165.27.53

REMOTE_HOST = 82.165.27.53

REMOTE_USER =

REQUEST_METHOD = POST

SCRIPT_NAME = /showpost/showpost.asp

SERVER_NAME = ukvpstest.protx.com

SERVER_PORT = 443

SERVER_PORT_SECURE = 1

SERVER_PROTOCOL = HTTP/1.1

SERVER_SOFTWARE = Microsoft-IIS/4.0

URL = /showpost/showpost.asp

HTTP_ACCEPT = */*

HTTP_HOST = ukvpstest.protx.com

HTTP_PRAGMA = no-cache

HTTP_CONTENT_LENGTH = 352

HTTP_CONTENT_TYPE = application/x-www-form-urlencoded

 

 

Property Values

Request.TotalBytes = 352

 

VPSProtocol=2.20&TxType=PAYMENT&Vendor=toolfinder&VendorTxCode=6699713859038765&Amount=23.30&Currency=GBP&Description=Block+Plane+-+No.2%28qty%3A+1%29+%2B++Washer+Pack+-+280pce%28qty%3A+1%29+&ClientNumber=1&CardHolder=Cilliers&CardNumber=zzzzzzzzzzzzzzzzz&StartDate=&ExpiryDate=0205&IssueNumber=&CV2=&CardType=MC&Address=9+Olliver+Close&PostCode=B62+0QB

 

Please help

Regards

Kobus

Share this post


Link to post
Share on other sites

I'm assuming this is the right place to ask the question...

 

Obviously, I'm trying to integrate the VSP Direct kit. The problem I have is that when I try and do a test payment I get the following page:

 

Payment details

There was an error writing to the database

 

Really don't know where to look - the site is a live site so I'm a bit wary of just fiddling around in case I do something drastic :(

 

Hope you can help

 

Sara


Sara Fields

Share this post


Link to post
Share on other sites

ok - sorted the last problem (bad typing, duh!), and now I have another one. From the payment page I get the following error message:

 

Communication with the PROTX Server was successful but transaction was not registered. See details below:

 

Status=ERROR

StatusDetail=Couldn't create a transaction (VRTXInvalidIPAddress, )

Protocol=2.20

 

Do I assume the IP address it's talking about is that of my server? I have entered that into init_protx.php, as taken from the my cPanel, where it shows my dedicated IP address.

 

Again, don't know where to go from here....

 

Sara


Sara Fields

Share this post


Link to post
Share on other sites

Hi,

 

A few small problems?

 

No CVV info file was included. When a customer clicks on the 'CVV Number (more info)' link a window pops up, however it shows a 404 Not Found page.

 

Another thing... In the Customer Order email, the payment method shows as follows:

 

Payment Method

------------------------------------------------------

Protx Direct

 

Any ideas how to change this to ?Credit/Debit Card?? Its showing up fine on the order page though.

 

Thanks.

 

Regards,

Mo.

Share this post


Link to post
Share on other sites

I have install the latest version of protx form and I use the bundles contribution as well. When a user purchases a bundle of products using paypal ipn everything is ok but when they do it using the protx form they are able to pay but i get a blank invoice so i do not know what they have purchased

 

Also I have noticed one of my exsisting customer had purchased some goods and I only recieved notification that the payment was sucessfull but no invoice in my admin panel so I did not know what she had purchased

 

seem to be working ok with new customers

 

thanks any help would be apriciated

Share this post


Link to post
Share on other sites
Hi,

 

A few small problems?

 

No CVV info file was included. When a customer clicks on the 'CVV Number (more info)' link a window pops up, however it shows a 404 Not Found page.

 

Another thing... In the Customer Order email, the payment method shows as follows:

Any ideas how to change this to ?Credit/Debit Card?? Its showing up fine on the order page though.

 

Thanks.

 

Regards,

Mo.

 

Yeah - sneaky one. The define is a bit misleading. You need to alter this line (shown as in my file after alteration to Credit Card and additional comment added) at the top of the file protx_direct.php:

 

  define('MODULE_PAYMENT_PROTX_DIRECT_TEXT_ADMIN_TITLE', 'Credit Card'); // Payment option title as displayed in the admin - shown on Invoice and stored in orders table

Share this post


Link to post
Share on other sites

I've downloaded the MS2.2 protx direct package and installed it on my CRE Loaded 6.1a installation. I'm struggling to get anything out of it - can anyone help?

 

Here is what works:

 

1) I've downloaded the Protx Direct kit and have this running (having fixed cURL to stop it checking certificates....)

2) I therefore know I have connectivity and have confirmed transactions on the VSP admin test site.

3) I've applied the cURL fix to my protx_direct.php file.

4) I've installed and enable protx.

 

What happens - nothing - I run through transaction, checks on check card etc work, and the 'thanks for shopping online with us!" message appears. I get an email confirming the order (with protx as the payment method).

 

I've tried setting debug option in admin - no joy, makes no difference. I've tried setting server to 'test ip server' - no change. I've disconnected my internet connect - no change. So my conclusion is that the code isn't running for some reason. Two questions:

 

1) Any ideas

2) How can I put some debugging code in to let me know where things are or what messages are / are not being sent?

Share this post


Link to post
Share on other sites

Ok, I can answer my own post - for anyone that's interested:

 

CRE Loaded has changed something so that the function 'before_process' is no longer called - to be more precise it appears that a conditional 'if' statement that should call it, depending on whether authorisenet_status is set, doesn't work. Probably somewhere this isn't initialised any more. Anyway the fix is as follows:

 

In checkout_process.php in root directory, after this:

 

// load the before_process function from the payment modules

// Authorize.net processing has move this called to a later point

// This is maintained for compatiblity with all other modules

if(! MODULE_PAYMENT_AUTHORIZENET_STATUS) {

$payment_modules->before_process();

}

 

Add this:

 

// added by chris to make it work on CRE, ensures before_process runs

// $payment_modules->before_process();

if(MODULE_PAYMENT_PROTX_DIRECT_STATUS) {

$payment_modules->before_process();

}

Share this post


Link to post
Share on other sites
Hi hr

 

I had exactly same same problems here.... my payment server wasnt working for 2 weeks and being so lcose to xmas was driving me nuts - anyway here is your answer...

 

see belew

After testing the cURL sessions and Firewall with  the hosting company the came up with some answers from a couple of cURL forums.

 

One suggestion was to add this line of code.

 

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // this line makes it work under https

 

Add this line of code to the protx_direct.php file around line 500 where the cURl session is being initiated.

 

Hope this helps for any other folks stuck where i was.

 

Thanks for your help jason

 

Regards

Mark

 

Hi Colleagues!

Same problem: Im using it on Linux with Plesk 7.5.

It works if I add CURLOPT_SSL_VERIFYPEER, FALSE. It doesn't work without.

 

I checked back with Protx and they said:

"It is a small security risk because you are not verifying the certificate chain."

 

Ok? Should I use this fix or shouldn't I???

What do you think? Has anyone tracked this down further? Where does the actual problem lie? Maybe we need to change some settings with curl or OpenSSL?

Ideally, I'd like to run this as secure as possible.

 

What are your thoughts on this?

Thanks heaps!

German

Edited by wider

Share this post


Link to post
Share on other sites

An udpated module has been posted:

 

http://www.oscommerce.com/community/contributions,218

 

*Protx has had some DNS attacks. Sometimes, cURL was storing the old IP address after they moved to a new ip address. I've told the module to flush the cache, and get the new IP.

 

*Some servers were experiencing some errors with building a successfull cURL connection. I've put in some additional checks to alleviate.

 

*Dropdown box now for Card Type. This forces the customer to choose it, rather than it be automatic. There was an issue where the card would validate, but would pass an incorrect card type to protx and then the transaction would decline. No more! You can control the card types displayed in the module settings.

 

*CVV popup fixed.

 

Folks, if ive missed some card types or other information, please let me know.

 

To upgrade:

*Backup your store and database* Dont say i didnt warn you!

*Uninstall your existing payment module

*Follow install instructions in new file!

Share this post


Link to post
Share on other sites

Sorry, had to do another release - i forgot to incorporate support for Diners Club and Visa Electron (UKE - different from Visa). Now done

Share this post


Link to post
Share on other sites
Ok, I can answer my own post - for anyone that's interested:

 

CRE Loaded has changed something so that the function 'before_process' is no longer called - to be more precise it appears that a conditional 'if' statement that should call it, depending on whether authorisenet_status is set, doesn't work.  Probably somewhere this isn't initialised any more.  Anyway the fix is as follows:

 

In checkout_process.php in root directory, after this:

 

// load the before_process function from the payment modules

// Authorize.net processing has move this called to a later point

// This is maintained for compatiblity with all other modules

if(! MODULE_PAYMENT_AUTHORIZENET_STATUS) {

    $payment_modules->before_process();

  }

 

Add this:

 

// added by chris to make it work on CRE, ensures before_process runs

//    $payment_modules->before_process();

if(MODULE_PAYMENT_PROTX_DIRECT_STATUS) {

    $payment_modules->before_process();

  }

 

 

Can you confirm that you have the protx module working with Creloaded please. I am using creloaded 6.15

 

Many thanks

 

Neil :D

Share this post


Link to post
Share on other sites

Hi Jason

 

After working with protx since last year and solving my original cURL problem i decided to install your newly updated protx contribution. Great updates by the way but ive been seeing some errors when customer are hitting the checkout process page.

 

I believe customers are getting confused as to fields they need to fill depending on which card they are using. Now i know this contrib isnt about user interfacing but i think if an update could be made where each field is incorrectly filled or not filled at all the customer receives an error message. I know this exsits for some fields but not all.

 

I will try and work on this myself over the next few days but im wondering if youve thought about this at all?

 

cheers

 

Mark

Share this post


Link to post
Share on other sites

Protx released a new API about 2 months ago ( i had no idea). The updated release for zencart has been done, i havent had time to get to OSC yet.

 

Jason

Share this post


Link to post
Share on other sites
Protx released a new API about 2 months ago ( i had no idea).  The updated release for zencart has been done, i havent had time to get to OSC yet.

 

Jason

 

Hi Jason!

Thanks heaps for your work. I'm very much looking forward to seing the new version. I believe that's goig to take care of these "Verifed by" schemes, isn't it?

 

The old contribution is still working, though, isn't it? Should we stop using it?

Again, thanks!

German

Share this post


Link to post
Share on other sites

Hi guys, trying to integrate the protx direct module, the integration kit sent to me by protx is rather lame in the explanation of what to include and where to include it within the file structure. Any body got it fully working with the integration kit aswell?

Share this post


Link to post
Share on other sites

Hi!

 

Jason's contribution is actually very good. It doesn't utilize the full current API, but it does most things.

You don't really need the integration kit, but it may help to make some additions if necessary.

 

Cheers,

German

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×