Jump to content
Sign in to follow this  
perfectpassion

Protx Direct v2.22

Recommended Posts

sorry had missed it!

 

The Cardholder's name, although transferred to Protx and a compulsary field, is not actually verfied when the transaction is processed (so I am lead to believe) - the postcode and address numerics (along with the CVV) are the most imortant values - these are checked every time (if AVS checks are enable at the protx end).

 

If you look at your protx_direct table in your db failures will be listed there along with the error code - may help you figure out why.

 

Tom

 

 

Thanks Tom, very helpful as always, will get into that database now!

Share this post


Link to post
Share on other sites
Can you do a test order with incorrect details then post the url that you are getting here?

 

Ah, interesting. The URL string is:

 

www.shopurl.site/checkout_payment.php?payment_error=protx_direct&error=The+given+card+type+is+incorrect.+Please+check+carefully+and+try+again.&osCsid=yadayada

 

So, having been told where to look by you ;) I notice that there are & codes where we should just see &

 

Sure enough, taking these & codes and replacing them with & gives us the correct error in the message box.

 

 

So, the question is; what could be generating the & when I should have & ?

Edited by pvtparts

Share this post


Link to post
Share on other sites

I also checked elsewhere on the site where '&' is expected in the string and they still work normally (no & substituation)

 

(Sorry for the bold tags but IP.Board converts to a character otherwise ;) )

Share this post


Link to post
Share on other sites

edit catalog/includes/functions/html_output.php

 

find

		return $seo_urls->href_link($page, $parameters, $connection, $add_session_id);

 

replace with

return str_replace('&', '&', $seo_urls->href_link($page, $parameters, $connection, $add_session_id));

Share this post


Link to post
Share on other sites

Sorry, I've gone and been all rash and fixed it myself :)

 

The & query string issue lies with Chemo's Ultimate SEO URLs.

 

There is an option in the SEO URLs config called "Output W3C valid URLs (parameter string)?". If this option is set to true, it causes the & to& substitution issue in the query and prevents the text displaying in the credit card error box on checkout_payment.php

 

Hope this is useful for anyone else who encounters this issue.

Share this post


Link to post
Share on other sites

I installed this today on my site and I can't quite get it to work.

 

It talks ok to the VSP Simulator (i.e. transactions are viewable on the protx site and also in my admin section). Its just that after submitting the cc details, I get a blank checkout_process.php page with this in the title:

 

domain.com/checkout_process.php?protx_id=5&osCsid=92062k7t1f9a8ir3jdclpfkvp7

 

I do use 'Chemo's Ultimate SEO URLs' so installed the quick fix below to get rid of the &s to get to this:

 

domain.com/checkout_process.php?protx_id=20&osCsid=92062k7t1f9a8ir3jdclpfkvp7

 

but it made no difference. I do have a few mods installed including the 'must agree to terms' (which I've disabled) plus one for tracking numbers but I don't think they are the issue as even a stock version gives the same. I've gone back many pages on here and couldn't find anything relevant

 

Any ideas? :'(

Share this post


Link to post
Share on other sites

Well, thats very strange - they did last week before we had the SSL cert installed and the protx contrib installed - now they don't (the cash on delivery one for example) - it gets the same problem. I did install Chemo's seo 2.1d contrib as well.

 

I've disabled the SSL and it still fails - guess its the seo one

 

So you've never seen this before?

Share this post


Link to post
Share on other sites
Clicking repeat will process a new payment (for the amount specified in the subsequent popup).

 

This will not be recurring, you will need to click repeat every time you need the payment to be taken.

 

If you need it to be automated that will need a custom coded solution.

 

Tom

 

Thanks Tom,

We accept recurring donations.

Would you or anyone familiar with this mod be able to code a custom solution to enable the payments to recur automatically?

PM me if you prefer.


HTH

Neil

 

Common sense is genius dressed in working clothes.

Ralph Waldo Emerson

Share this post


Link to post
Share on other sites

MarkG - it sounds like you've got a syntax error in your checkout_process.php but with error reporting disabled. Enable error reporting and try again (it may have been disabled in your includes/application_top.php or more globally in the php.ini file)

Share this post


Link to post
Share on other sites

I rolled back to a set of files I knowed checkout worked with - any they still failed. It turned out to be something amiss with my database - when I moved it from my dev pc to the target webserver, something went wrong.

 

Its all working now - many thanks (both for the contrib and help)

Share this post


Link to post
Share on other sites

I've been using Protx Direct 2.2 for a long while now. However recently customers are complaining saying that their cards are being bounced saying they are invalid. It seems to happen on newish visa cards. It isnt a protx problem as it happends in the checkout_payment page. Can anyone help I'm loosing a lot of custom over this. I am using hte dropdown menus for customers to select the card tehy want to use.

Share this post


Link to post
Share on other sites

The only reason that a card would be rejected before reaching checkout_confirmation with "invalid card number" would be if it failed a LUHN check (http://en.wikipedia.org/wiki/Luhn)- which all valid card numbers should pass. If you want to disable this check edit catalog/includes/modules/payment/protx_direct.php, find:

function pre_confirmation_check() {
  global $HTTP_POST_VARS;

  include(DIR_WS_CLASSES . 'protx_cc_validation.php');

  $cc_validation = new cc_validation();
  $result = $cc_validation->validate($HTTP_POST_VARS['protx_direct_cc_number'], $HTTP_POST_VARS['protx_direct_cc_expires_month'], $HTTP_POST_VARS['protx_direct_cc_expires_year']);
  $error = '';
  switch ($result) {
	case -1:
	  $error = sprintf(TEXT_CCVAL_ERROR_UNKNOWN_CARD, substr($cc_validation->cc_number, 0, 4));
	  break;
	case -2:
	case -3:
	case -4:
	  $error = TEXT_CCVAL_ERROR_INVALID_DATE;
	  break;
	case false:
	  $error = TEXT_CCVAL_ERROR_INVALID_NUMBER;
	  break;
  }

  if (($result == false) || ($result < 1)) {
	$payment_error_return = 'payment_error=' . $this->code . '&error=' . urlencode($error) . '&protx_direct_cc_owner=' . urlencode($HTTP_POST_VARS['protx_direct_cc_owner']) . '&protx_direct_cc_expires_month=' . $HTTP_POST_VARS['protx_direct_cc_expires_month'] . '&protx_direct_cc_expires_year=' . $HTTP_POST_VARS['protx_direct_cc_expires_year'];
	tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, $payment_error_return, 'SSL', true, false));
  }

  $this->cc_card_type = $HTTP_POST_VARS['protx_direct_cc_type'];
  $this->cc_card_number = $cc_validation->cc_number;
  $this->cc_expiry_month = $cc_validation->cc_expiry_month;
  $this->cc_expiry_year = $cc_validation->cc_expiry_year;
}

change to

function pre_confirmation_check() {
  global $HTTP_POST_VARS;

  $this->cc_card_type = $HTTP_POST_VARS['protx_direct_cc_type'];
  $this->cc_card_number = $HTTP_POST_VARS['protx_direct_cc_number'];
  $this->cc_expiry_month = $HTTP_POST_VARS['protx_direct_cc_expires_month'];
  $this->cc_expiry_year = $HTTP_POST_VARS['protx_direct_cc_expires_year'];
}

Tom

Share this post


Link to post
Share on other sites

I'd just like to say another thanks to perfectpassion for this great contribution. I use it myself.

 

I have been working on a barclays ePDQ installation for a client, it's taken me days. Then yesterday another client called me to install PROTX.

 

One hour later it was taking test orders.

 

One hour after that it was LIVE.

 

Superb.

Share this post


Link to post
Share on other sites
The only reason that a card would be rejected before reaching checkout_confirmation with "invalid card number" would be if it failed a LUHN check (http://en.wikipedia.org/wiki/Luhn)- which all valid card numbers should pass. If you want to disable this check edit catalog/includes/modules/payment/protx_direct.php, find:

 

Superb!! Thankyou!!!!

Share this post


Link to post
Share on other sites

Tom I hope you can help with this un ...

 

We're just upgrading the Aussie Floyd store... Started completely from scratch, just re-added ProTX Direct this morning, all seems fine. Doing a test transaction, click on confirm and ...

 

1146 - Table 'tapfs_db.table_protx_direct' doesn't exist

insert into TABLE_PROTX_DIRECT (id, customer_id, order_id, vendortxcode, txtype, value, vpstxid, status, statusdetail, txauthno, securitykey, avscv2, address_result, postcode_result, CV2_result, 3DSecureStatus, CAVV, txtime) values ('', '3', '1944', '1944-04194179894677137284345800749955', 'PAYMENT', '33.42', '', '', '', '', '', '', '', '', '', '', '', '2008-04-09 13:01:01')

[TEP STOP]

 

Eeek squeek, have checked within the DB and it's there.. ideas?

 

Stew

Share this post


Link to post
Share on other sites

Hi Guys,

 

I have installed protx 4.4 and thought all was well until I tried to run a test transaction through the protx test server.

 

I am receiving this error:

 

Credit Card Error!

 

The expiry date entered for the credit card is invalid.

Please check the date and try again.

 

I have googled forever and day and have noticed that others have had this issue but I can not find definitive resolve.

 

I hope one of you kind people would be able to point me in the right direction as to why the test cc numbers always fail on the cards expiry date :'(

 

Thanks

 

Mark


Lifes a bitch, then you marry one, then you die!

Share this post


Link to post
Share on other sites

As per Protx's latest newsletter today, although Protx is PCI Compliant, merchants using Protx Direct would have to sort out their own PCI Compliance (latest card industry regulation), as the customer's card details are being collected at the Merchant's end. As per them, the only other alternative is to go with VSP Form or VSP Server, to avoid the cost and hassle of PCI Compliance.

 

Now, wouldn't it be possible to go for the Protx Form payment in an IFRAME to maintain the feel of integration and yet stay away from the compliance hassle. Any ideas ... ?

Share this post


Link to post
Share on other sites

mark27uk3 - what expiry date are you using with the test card numbers?

 

vmaster - take a look at http://www.mastercard.com/us/sdp/merchants...ant_levels.html - most merchants are Level 4 (less than 20,000 card transactions/yr) - this required an annual self assessment questionnaire, there is a loose requiement of quarterly network scans - I say loose because as you can see this requirement is set by the acquiring bank and not yet compulsary.

 

To quote from http://www.pcicomplianceguide.org/step2e.html

Though Level 4 merchants are not required by the PCI SSC, or by card issuers such as Visa and MasterCard, to submit to an onsite security assessment, it's up to the acquirer to make sure that its Level 4 merchants understand the need for being PCI compliant.

 

Unfortunately if you are processing more than 20,000 card transactions/yr then you are level 3 and are required to have external security scanning as well as the questionnaire (or use protx form).

Share this post


Link to post
Share on other sites
mark27uk3 - what expiry date are you using with the test card numbers?

 

Hi Tom,

 

I have tried various expiration dates as it states in the module

 

Mark


Lifes a bitch, then you marry one, then you die!

Share this post


Link to post
Share on other sites

Got another for you Tom :-/

 

1366 - Incorrect integer value: '' for column 'id' at row 1

insert into protx_direct (id, customer_id, order_id, vendortxcode, txtype, value, vpstxid, status, statusdetail, txauthno, securitykey, avscv2, address_result, postcode_result, CV2_result, 3DSecureStatus, CAVV, txtime) values ('', '3', '1944', '1944-70379854230631859816653321893053', 'PAYMENT', '33.42', '', '', '', '', '', '', '', '', '', '', '', '2008-04-09 23:58:06')

[TEP STOP]

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  

×