Jump to content
Sign in to follow this  
perfectpassion

Protx Direct v2.22

Recommended Posts

mark - is the error generated before checkout_confirmation or is it after the order is confirmed?

 

stewart - this is caused by MySQL running with STRICT_TRANS_TABLES active - if possible disable this (you may run into problems with other contribs). If not possible try the following:

 

protx_process.php, change:

	  $data = Array('id' => '',
				'customer_id' => (int)$customer_id,
				'order_id' => $new_order_id,

to:

	  $data = Array('customer_id' => (int)$customer_id,
				'order_id' => $new_order_id,

Edited by perfectpassion

Share this post


Link to post
Share on other sites
mark - is the error generated before checkout_confirmation or is it after the order is confirmed?

 

Tom, this is error is generated before checkout_confirmation.php

 

Mark


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

Share this post


Link to post
Share on other sites

uh oh, I'm back again...

 

Tom got a weird one...

 

 	Unfortunately there has been a technical problem. Please try again and if the problem persists please contact us ()

 

Is what I get when I try and use the test cards :-/ ALL of em.

Share this post


Link to post
Share on other sites
mark - seems peculiar - the check is the same as the standard cc.php module. You can disable it by making the same change as in this post: http://forums.oscommerce.com/index.php?s=&...t&p=1230312

 

Tom

 

Hi Tom,

 

Thanks for posting back. I have done as suggested and now it skips the checks, now when I confirm the order on checkout_confirmation I am presented with this error:

 

Warning: constant() [function.constant]: Couldn't find constant MODULE_PAYMENT_PROTX_DIRECT_USE_ in /home/*****/public_html/protx_process.php on line 279

 

Request URL=https://ukvpstest.protx.com/vspgateway/service/vspdirect-register.vsp

Data string sent= ** REMOVED DATA STRING BECAUSE IT CONTAINS PERSONAL DATA **

Protx response=VPSProtocol=2.22

Status=MALFORMED

StatusDetail=3051 : The CardNumber field is required.

Response array=Array

(

[VPSProtocol] => 2.22

[status] => MALFORMED

[statusDetail] => 3051 : The CardNumber field is required.

)

 

curl_error=

 

I can be a pain cant I lol

 

Mark


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

Share this post


Link to post
Share on other sites
Hi Tom,

 

Thanks for posting back. I have done as suggested and now it skips the checks, now when I confirm the order on checkout_confirmation I am presented with this error:

I can be a pain cant I lol

 

Mark

 

Ok after looking deeper I saw your reply about this in January, however register_long_arrays is 'On' so something else must be causing it.

 

Regards

 

Mark


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

Share this post


Link to post
Share on other sites

Ok so I uninstalled the module in the admin and then reinstalled it and some of the error disappeared and has now been replaced by this:

 

Warning: constant() [function.constant]: Couldn't find constant MODULE_PAYMENT_PROTX_DIRECT_USE_ in /home/******/public_html/protx_process.php on line 279

 

Warning: Cannot modify header information - headers already sent by (output started at /home/******/public_html/protx_process.php:279) in /home/******/public_html/includes/functions/general.php on line 50

 

Now normally headers already sent indicates white space but there is no white space in protx_process urgh

 

Mark


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

Share this post


Link to post
Share on other sites

ok looking again at the debug output, I see that all the customer data shows in the debug i.e. name, address, product, product description however the cc data does not

 

Data string sent=VPSProtocol=2.22&TxType=AUTHENTICATE&Vendor=vitalvits&VendorTxCode=104-83556456208975016316361459352866&Amount=3.74&Currency=GBP&Description=Order+Number%3A+104&CardHolder=&CardNumber=&StartDate=&ExpiryDate=&IssueNumber=&CV2=&CardType=

 

I presume then that CC data should be in the string along with the name, address and order details hence why this error is being produced:

 

Status=MALFORMED

StatusDetail=3051 : The CardNumber field is required.

Response array=Array

(

[VPSProtocol] => 2.22

[status] => MALFORMED

[statusDetail] => 3051 : The CardNumber field is required.

)

 

The BIG BIG question is should the cc data be in string and if so why aint it lol

 

I know I posted alot above, just trying to get my around it and understand it.

 

Thanks

 

Mark


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

Share this post


Link to post
Share on other sites

you're absolutely right - it's not posting the info from the confirmation page (hence the expiry date problem initially)

 

If you view the source when on checkout_confirmation do you see the details as "hidden" fields (and do the fields actually display on the confirmation page)?

Share this post


Link to post
Share on other sites
you're absolutely right - it's not posting the info from the confirmation page (hence the expiry date problem initially)

 

If you view the source when on checkout_confirmation do you see the details as "hidden" fields (and do the fields actually display on the confirmation page)?

 

Hi Tom,

 

Yes the details are shown as hidden fields

 

<input type="hidden" name="cc_owner"><input type="hidden" name="cc_expires"><input type="hidden" name="cc_type"><input type="hidden" name="protx_direct_cc_number"><input type="hidden" name="cc_cvv"><input type="hidden" name="cc_start"><input type="hidden" name="cc_issue"><input type="hidden" name="osCsid" value="466fd9b1be86151e8dc6f235af21dfc7"><input type="hidden" name="shipping_total" value="1.95"><input type="hidden" name="ord_total" value="3.74"><input type="image" src="includes/languages/english/images/buttons/button_confirm_order.gif" border="0" alt="Confirm Order" title=" Confirm Order " value="submit">

 

I presume thats a good thing then lol

 

Mark


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

Share this post


Link to post
Share on other sites

actual it's not - if you look closely there is no values - e.g. <input type="hidden" name="cc_owner"> shoudl be <input type="hidden" name="cc_owner" value="Mr test customer">

 

so the problem lies between checkout_payment and checkout_confirmation - are you sure register_long_arrays is on? If you change all the $HTTP_POST_VARS in includes/modules/payment/protx_direct.php to $_POST does it work?

Share this post


Link to post
Share on other sites
actual it's not - if you look closely there is no values - e.g. <input type="hidden" name="cc_owner"> shoudl be <input type="hidden" name="cc_owner" value="Mr test customer">

 

so the problem lies between checkout_payment and checkout_confirmation - are you sure register_long_arrays is on? If you change all the $HTTP_POST_VARS in includes/modules/payment/protx_direct.php to $_POST does it work?

 

ok changed all $HTTP_POST_VARS to $_POST and the same error still occurs and no data is in the hidden fields in the source code.

 

Mark


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

Share this post


Link to post
Share on other sites

Installed this today. Only small problem is with tax on shipping.

 

All prices are displayed including VAT. All totals work.

 

However, in the Protx Admin Transaction Report, while bought products are listed correctly with their VAT component, the Shipping item is listed as being without VAT (though the total was correct)

 

A small point, maybe, but I'd like it to be correct!

 

Any ideas, anyone?

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.

 

Tom - I'd like to second Rob's comments. I've been using v3 on several client's sites and it's been great.

 

Just installed v4.4 on a new site. Took 30mins including testing - now pending going live.

 

Many thanks for your hard work.

 

Chris


Please use forum for support rather than PM - PMs unrelated to my contributions will be ignored.

Google Site Search is your friend

My contributions: Tracking Module | PDF Customer Invoice | Subcategory textboxes

Share this post


Link to post
Share on other sites
try editing protx_process.php. find (approx line 204):

	$last_order_id_query = tep_db_query("SHOW TABLE STATUS from " . DB_DATABASE . " like '" . TABLE_ORDERS . "'");

and change to:

	$last_order_id_query = tep_db_query("SHOW TABLE STATUS from `" . DB_DATABASE . "` like '" . TABLE_ORDERS . "'");

 

If that doesn't work then find (~line 28):

$use_more_accurate_order_id = true;  // May not work for everyone (depending upon database permission
								 // Set to false to use less accurate method

and change the true to false (no quotes)

 

Tom

Hi Tom,

 

I have the same error. Tried both the above fixes.

 

Now the error has gone but I just get a blank page.

 

Any help would be very much appreciated.

 

Thanks

 

Dean

Share this post


Link to post
Share on other sites

sounds like it may be a parse error but with error reporting turned off.

 

Check includes/application_top.php for the following line (normally at the top):

  error_reporting(E_ALL & ~E_NOTICE);

 

if it's not there or it is different change it to this and retest

Share this post


Link to post
Share on other sites

Hi Tom, many thanks for the past advice on Protx Direct. I installed the contribution last November on v2.2 RC1 and it's worked perfectly since.

 

A few weeks ago I received an email from Protx offering the option to accept Paypal. I have a Paypal business account and I was wondering what work is required on the osCommerce side. Has anybody taken up this Protx offer yet? I had a look through recent postings on this thread but could find nothing.

 

Thanks once again for supporting this contribution.

 

X Op

Edited by go21

Share this post


Link to post
Share on other sites
PayPal is not available through protx direct - only protx form - and offers no advantage of using the osC paypal modules.

 

Thanks for that Tom but I'm pretty sure I set it up and it tested OK on Protx VSP Admin. It shows on my VSP Admin pages that "You can now offer your customers the option to pay for goods using their PayPal account."

 

I've probably misunderstood something (nothing new there then), I've just been reading that "Protx has integrated with PayPal Express Checkout giving you the opportunity to add PayPal as a payment option on your payment pages!" However the email I received did say "Thank you for your interest in becoming one of the first Protx customers to utilise our new PayPal integration." If it offers no advantage then I'll give it a miss. Thanks for your input.

 

X Op

Share this post


Link to post
Share on other sites
Thanks for that Tom but I'm pretty sure I set it up and it tested OK on Protx VSP Admin. It shows on my VSP Admin pages that "You can now offer your customers the option to pay for goods using their PayPal account."

 

I've probably misunderstood something (nothing new there then), I've just been reading that "Protx has integrated with PayPal Express Checkout giving you the opportunity to add PayPal as a payment option on your payment pages!" However the email I received did say "Thank you for your interest in becoming one of the first Protx customers to utilise our new PayPal integration." If it offers no advantage then I'll give it a miss. Thanks for your input.

 

X Op

 

Just received an email from Protx containing "The initial promotional email was sent to you in error; please accept our sincere apologies for any inconvenience or confusion this has caused."

 

Nuff said!

 

X Op

Share this post


Link to post
Share on other sites
sounds like it may be a parse error but with error reporting turned off.

 

Check includes/application_top.php for the following line (normally at the top):

  error_reporting(E_ALL & ~E_NOTICE);

 

if it's not there or it is different change it to this and retest

Hi Tom,

 

Thanks again for the advice.

 

error_reporting(E_ALL & ~E_NOTICE);

 

is there in the application_top.php

I'll recheck everything again, in the meantime do you have any more ideas?

 

Thanks

 

Dean

Share this post


Link to post
Share on other sites

Using this updated contribution I've had 3D-Secure working pointing at Protx's test server and have now switched it to my live site and the live server. Everything seems to be doing what it should, but I have no way of testing a live 3D transaction because my personal Maestro card goes through without invoking the 3D testing in the iframe. So the card goes through and I get the result that it's not part of the scheme (yellow flag).

 

So how do you test fully if you don't have a card that's part of the scheme?

Share this post


Link to post
Share on other sites

Unless you have a card in the 3D-secure scheme you can't test against the live server.

 

The test server is supposedly a direct imitation of the live - i.e. if it works on the test server it'll work on the live

 

Tom

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  

×