Jump to content
Sign in to follow this  
perfectpassion

[Contribution] Protx Direct v5 Support Thread

Recommended Posts

That's brilliant, not sure how I missed that one. Many thanks for the continued support on this amazing contribution Tom!

-R

Share this post


Link to post
Share on other sites

v5.1 Uploaded

 

This supports the v2.23 protocol and new SagePay URLs. This version does not yet support the PayPal integration.

 

Please note that this module will not yet work in live mode until Protx launch the new SagePay URLs on Tues 21st April - it does however work successfully in Simulator and Test modes.

 

Version 5.0c should continue to work after the switch over as Protx are putting in URL redirects however you may have to change the "Disable cURL SSL check" to true in your osC admin settings to prevent SSL cert error messages.

 

I'm afraid we'll have to watch this space and see what happens - I think we all have experience of how badly upgrades and system changes tend to go at the Protx end :-(

Share this post


Link to post
Share on other sites

Hi

 

I need to get some information on the credit card type used following a protx transaction going through. The field cc_type in the order header is blank. Is it possible to get this field, or the protx table updated with the card type used. This is needed to help with our bank reconciliation and cash flow as amex payments are settled separately to all other cards that we process.

 

Any guidance appreciated.

Share this post


Link to post
Share on other sites

Hi, what a great contribution - many thanks!

 

All is working fine except the after process:

 

function after_process() {

global $insert_id;

 

tep_db_query("UPDATE " . TABLE_PROTX_DIRECT . " SET order_id = " . (int)$insert_id . " WHERE id = " . $this->protx_id);

}

 

 

This is giving me a MySQL error as the "$this->protx_id" part is unset, e.g:

 

UPDATE protx_direct SET order_id = 10000 WHERE id =

 

This code is different to the hsbc version but it seems as if many of you are working okay with it.

 

I also see that protx_id is unregistered in the before process - could that be the problem or am I missing something here?

 

Any help appreciated.

Share this post


Link to post
Share on other sites

That's quite odd.

 

To follow the process:

function before_process()
{
 // Payment should be complete by this stage - if not abort order
 if (tep_session_is_registered('protx_id') && $_SESSION['protx_id'] > 0)
 {
  $this->protx_id = (int)$_SESSION['protx_id'];
  tep_session_unregister('protx_id');
 }
 else
 {
tep_redirect(str_replace('&amp','&', tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'payment_error=protx_direct&error='.urlencode('Sorry, your order could not be processed as no payment transaction was found (ID Missing). Please try again or contact the store owner.'), 'SSL')));
 }
...
}

So $this->protx_id from the session, then the session variable (not the class variable) is destroyed - if it isn't there you are redirected away so can't get to after_process()

 

The only thing I can think is that something in checkout_process.php is causing the id to be lost.

Share this post


Link to post
Share on other sites
The only thing I can think is that something in checkout_process.php is causing the id to be lost.

 

Thanks Tom, actually, I am not sure why the after process is required at all?

 

If I comment it out, the order ID is still in the table, checkout continues to success, the email is sent and everything works fine.

 

The order id is inserted in the start_transaction function - do you think it would be safe to leave it commented out?

Share this post


Link to post
Share on other sites

It is safe to comment out only on low volume sites.

 

It is required because the order_id of an order is not known until we reach after_process() - the order_id before then is best guess - this normally works but it you have a busy site with several customers placing orders at the same time but some taking longer than others then the order_id in the protx_direct table will be wrong.

Share this post


Link to post
Share on other sites

The link you posted is for an "official, osCommerce certified" module. That module does not contain any of the admin-side features that my module includes (anti-fraud results, ability to refund/repeat/release payments, live status etc) and also does not use the "lightbox" type feature that my v5 module does on the customer side.

 

It also contains a referral ID so that Harald receives commission.

 

I shall continue to support my module for those that prefer to us it instead - minor update due in the next few days to correct an issue that a small number of people have had with "virtual" orders and an issue that sometimes presents during the 3D-Secure phase on IE6.

Share this post


Link to post
Share on other sites
It also contains a referral ID so that Harald receives commission.

 

What is wrong with that? Does it steal anything from anyone? It does not cost the site owner anything. Instead osc shop owners if signed up an new account, they will get 3 months free unlimited usage.

In comparision to those who steal the name of osCommerce, that is a Saint!

 

Ali

Share this post


Link to post
Share on other sites
I shall continue to support my module for those that prefer to us it instead

 

Thats good to hear Tom,

 

your assistance has always been second to none, I appreciate all your hard work in developing and maintaining this contribution

 

All the best!

 

Dave

Share this post


Link to post
Share on other sites

Hi Tom,

 

do you have any plans to incorporate Paypal into this contribution?

 

Regards

 

Dave

Share this post


Link to post
Share on other sites

Possibly - since the release of PayPal via SagePay (about 1 year) you are only the second person to request it hence why it hasn't been a priority.

 

Which type of integration would you be looking for - "Express Checkout" or "Mark" (Mark integration is where PayPal is simply presented as a card type option or similar, Express checkout has that big yellow button that bypasses the rest of the checkout process)?

Share this post


Link to post
Share on other sites

Hi Tom,

 

I haven't asked before as you said at the beginning of this thread that it was something for the future, so I've just been patiently waiting :)

 

It doesn't bother me which TBH, which ever would be easiest to code would be fine, I would imagine that would be the 'Mark'?

Share this post


Link to post
Share on other sites

Yes, "Mark" integration would be the easiest.

 

I'll see what I can do - I'm actually about to code this integration for a client who has a very heavily modified version of osc and the v5 module - I hope to get their permission to port back some of the code to this module.

Share this post


Link to post
Share on other sites

Hi Tom,

 

I'm not sure what the cause is, but recently I've been having customers who have tried to order but experienced problems. The payment is successful but the order is not completed. The customer doesn't know that the payment has been made so tries again. All in all they generally try 3 times and then give up. In that time their money has been taken 3 times but no order appears in osc.

 

Here is an example from yesterday of a customer trying to create order number 50023, in the end they fail and another customer gets the order number

 

INSERT INTO `protx_direct` VALUES (42959, 23309, 50023, '50023-12647902150395359489818885784921', 'PAYMENT', 371.1100, '{3E418917-068A-CCAE-72C0-C709424E4D7A}', 'OK', '0000 : The Authorisation was Successful.', '198993050', 'QZ7XUSYNR3', 'SECURITY CODE MATCH ONLY', 'NOTCHECKED', 'NOTCHECKED', 'MATCHED', 'OK', 'AAABCYNoJgBjYWUGJGgmAAAAAAA=', '2009-10-13 14:34:26');
INSERT INTO `protx_direct` VALUES (42960, 23309, 50023, '50023-82296545072440236690708063192640', 'PAYMENT', 371.1100, '{97FD8459-510F-5ACF-F742-B8FC4D1A511E}', 'OK', '0000 : The Authorisation was Successful.', '198993575', 'MVGQHLBOEV', 'SECURITY CODE MATCH ONLY', 'NOTCHECKED', 'NOTCHECKED', 'MATCHED', 'OK', 'AAABB3RhMJSWZhAXRWEwAAAAAAA=', '2009-10-13 14:36:06');
INSERT INTO `protx_direct` VALUES (42961, 23309, 50023, '50023-69738018776187479765790904947014', 'PAYMENT', 371.1100, '{88D782AD-2CF9-C773-D098-AF1997D06EF6}', 'OK', '0000 : The Authorisation was Successful.', '198994396', 'MMKMDNGBZ2', 'SECURITY CODE MATCH ONLY', 'NOTCHECKED', 'NOTCHECKED', 'MATCHED', 'OK', 'AAABA3UTgRCAg2mHCROBAAAAAAA=', '2009-10-13 14:38:47');
INSERT INTO `protx_direct` VALUES (42962, 30485, 50023, '50023-07503509013783256636559947905286', 'PAYMENT', 26.4800, '{93496C16-720A-F2FD-D5CC-70D1EB216B8B}', 'NOTAUTHED', '2000 : The Authorisation was Declined by the bank.', '', 'CWX1MH2OTB', 'DATA NOT CHECKED', 'NOTPROVIDED', 'NOTPROVIDED', 'NOTPROVIDED', 'ATTEMPTONLY', '', '2009-10-13 15:05:08');
INSERT INTO `protx_direct` VALUES (42963, 30485, 50023, '50023-61483683779008693538866077263030', 'PAYMENT', 26.4800, '', '3DAUTH', '2007 : Please redirect your customer to the ACSURL, passing the MD and PaReq.', '', '', '', '', '', '', 'OK', '', '2009-10-13 15:14:43');
INSERT INTO `protx_direct` VALUES (42964, 30486, 50023, '50023-40332265719588889229974544668916', 'PAYMENT', 68.5000, '{7A2185B0-7A72-53AF-10F7-1554BC41BCFA}', 'OK', '0000 : The Authorisation was Successful.', '199011079', '5EMIZJ4OKJ', 'SECURITY CODE MATCH ONLY', 'NOTMATCHED', 'NOTMATCHED', 'MATCHED', 'OK', 'jO0qQwC+yVA8ABEAAgyia4/gDr8=', '2009-10-13 15:29:49');

 

Any ideas?

 

Thanks

 

Dave

Share this post


Link to post
Share on other sites

Hi Dave,

 

Thanks for flagging this up - unfortunately I don't know what is causing this problem from the information provided. What would be really useful would be to know exactly what happened at the customer side - any error messages (or lack of messages) either from the site or the browser itself etc.

 

So far I've not had reports of this specific problem from other users which unfortunately makes it even harder to track down.

 

Is this happening frequently?

Share this post


Link to post
Share on other sites

Hi guys,

 

I'm a little confused - As Protx has now become SagePay, will this Protx Direct module work ok without problems? (I'm no expert by any means! :)

 

Also I've setup the SagePay Direct although it does seem to communicate to SagePay servers for some unknown reason, would I be able to use this 'Protx Direct v5' contribution instead (our client has already purchased an SagePay account)

 

Any advice on this topic would be greatly appreciated as our client is nagging me every day to get his site up & running :(

 

Thanks in advance

Share this post


Link to post
Share on other sites

Hi Tom,

 

where do I adjust the size of the tickbox? I've had someone call up and say they they couldn't complete their purchase as the 3D secure details were outside the viewable area of the thickbox?

 

Thanks

 

Dave

Share this post


Link to post
Share on other sites

That's odd - the size is set well above the size recommended by Visa / Mastercard.

 

The line to change is in includes/modules/payment/protx_Direct.php:

$string = '<script type="text/javascript">
	document.write("<a href=\"'.str_replace('"', '\\"', tep_href_link(FILENAME_PROTX_PROCESS_WIN, 'height=500&width=500&modal=true', 'SSL').'" class="thickbox">'.tep_image(DIR_WS_LANGUAGES.$language.'/images/buttons/button_confirm_order.gif', IMAGE_BUTTON_CONFIRM_ORDER)).'</a>");

 

Simply change the width / height settings in the url above.

Share this post


Link to post
Share on other sites

Hi Tom,

 

I thought that too, I have tried to recreate it but I was able to scroll the window if needed?

 

With regards my earlier problem,, I hadn't replied as I was trying to gather a bit more information, but so far I've been unable to. This is nonly happening every now and again, so I don't have much chance to get any info.

 

One last thing, today I had a customer whose payment was declined each time as he has a / in his phone number field. Have you come across a solution for this in your travels?

 

All the best

 

Dave

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  

×