Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Protx Direct v2.22


Guest

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
Link to comment
Share on other sites

  • Replies 1.2k
  • Created
  • Last Reply

Top Posters In This Topic

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!

Link to comment
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://www.oscommerce.com/forums/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!

Link to comment
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!

Link to comment
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!

Link to comment
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!

Link to comment
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)?

Link to comment
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!

Link to comment
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?

Link to comment
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!

Link to comment
Share on other sites

  • 2 weeks later...

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?

Link to comment
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

Link to comment
Share on other sites

  • 1 month later...
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

Link to comment
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

Link to comment
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
Link to comment
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

Link to comment
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

Link to comment
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

Link to comment
Share on other sites

  • 2 weeks later...

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?

Link to comment
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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...