Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Urgent Help Needed with ePDQ Payments


rickhudson

Recommended Posts

  • Replies 388
  • Created
  • Last Reply

Top Posters In This Topic

CPI only as far as I'm aware. MPI works with XML/JAVA etc. only. Not with HTML Posts (I may be wrong here). But yes, this is defo developed for the CPI version where you will havce to log in to Barclays CPI 'lite' to process the transactions.

Johan a.k.a. T0PS3O elsewhere.

 

Contributed Barclay's ePDQ Payment Module though not originally mine. Made it work though...

Link to comment
Share on other sites

You got me even more confused now lol. Is this Barclays ePDQ is CPI or MPI?

 

Assuming it's CPI for now...

Let me check I'm setting it up right....

I've got the allowed URl set to

 

http://www.raydirect.co.uk/checkout_confirmation.php

 

and the POST URL set to

 

http://www.raydirect.co.uk/cpi/complete.php

 

If these are right then I've got a problem else where as I'm still getting the error: Unable to read configuration file

 

I've setup the htpass file with the username and password of the cpi user.

Link to comment
Share on other sites

The CPI POST is an option, a useful one but just an option. For now, just to see if the CPI is the problem, go to your ePDQ admin panel (the Barclays one not the osCommerce module) and disable it. Then we'll find out if the CPI is the problem or if it's elsewhere.

 

Vger

Link to comment
Share on other sites

You got me even more confused now lol. Is this Barclays ePDQ is CPI or MPI?

 

This sentence seems clear to me: "But yes, this is defo developed for the CPI version where you will havce to log in to Barclays CPI 'lite' to process the transactions."

 

CPI it is.

 

Now go ring Barclays and ask what that message means.

Johan a.k.a. T0PS3O elsewhere.

 

Contributed Barclay's ePDQ Payment Module though not originally mine. Made it work though...

Link to comment
Share on other sites

For your information. The protection for the CPI folder is provided by being password protected, outside of that the permissions for the folder need to be 755. The complete.php file inside it needs to be 644.

 

However, that doesn't explain why you can't disable the CPI POST function.

 

Vger

Edited by Vger
Link to comment
Share on other sites

I found that using a windows install of Apache

 

Sorry Dave, but I don't know what you are referring to. If a server is Apache then its an Apache server. Maybe you're referring to running PHP on a Windows server?

 

In any case Barclays ePDQ has to pass http headers for it work and not https headers. A major failing with their system, as you have to define some files which should be https as being http. If I remember correctly they're checkout_payment.php and checkout_confirmation.php.

 

Vger

Link to comment
Share on other sites

Hi,

 

Seems like the problem was a mixture of things - Barclays had set us up with a MPI account not a CPI one, and I had put our merchant number in the OSC setup (where it says merchant number) instead of the store ID number.

 

Only one problem to fix now :) (well two but the second I think I know whats up)...

1) How do I send our logo to the Barclays server?

Link to comment
Share on other sites

You need to put the logo in an https:// area. I don't think https is mandatory but it would definitely avoid the browser messaage about some elements in the page not being secure when the customers reaches the ePDQ screen. Then in the epdq checkout form, create another hidden field along with other fields like returnurl, merchantdisplayname, bname etc

 

.tep_draw_hidden_field('cpi_logo', "https://path-to-your-logo.gif"). "\n"

There are other parameters you can pass to ePDQ. For example, the background colour of the page as given below.

 

.tep_draw_hidden_field('cpi_bgcolor', "#FFFFDD"). "\n"

 

 

There are a few more parameteres that can be passed to ePDQ. Check the ePDQ documentation.

 

- Ram Bhamidi

Link to comment
Share on other sites

Thanks RB - will get that sorted.

 

The next problem seems to be when Barclays hands back to OSC. I can see the URL is correct (http://www.raydirect.co.uk/cpi/complete.php?oid=15) but the page is blank.

 

That doesn't output anything. It's never meant to be opened in a browser. It's a feature, not a problem.

 

Study its contents to see what it does.

Johan a.k.a. T0PS3O elsewhere.

 

Contributed Barclay's ePDQ Payment Module though not originally mine. Made it work though...

Link to comment
Share on other sites

Joe,

 

Ok, I've looked at the file and can see what it's doing (updating the db: order status, status history etc).

 

Obvously osc needs to redirect to a epdq_success page... how is that done?

 

perhaps I should of reworded my original question to "Why is everything stopping on the complete.php page when surely it should carry on back to the store with either a success or failure notice?"

 

Sorry if I'm asking obvious questions, but this is the first time I've worked with PHP or OSC.

Link to comment
Share on other sites

Customers will not see the complete.php file. It is for ePDQ to communicate with your server back-end about the status of the transaction so you can take necessary (automated) action about updating order status, sending emails etc. Customers are redirected to checkout_success.php when they click the final button on ePDQ. Even if they don't ( 40% of my customers don't !), the order / payment status is still updated because ePDQ has already communicated with cpi/complete.php. That's the reason Barclays insists that the cpi folder must be password protected so that only they can post the data back.

 

- Ram

 

 

Obvously osc needs to redirect to a epdq_success page... how is that done?

 

Link to comment
Share on other sites

the cpi/complete has nothing to do with the chronological sequence of events as far as the end user is concerned. When they click the final 'complete order' button on the very page on Barclays servers that says 'Success' + their order details, that's when they go back to your site.

 

They might never click that button, hence the necessity of complete.php to update the already stored order (something osCommerce doesn't do natively).

 

Because of this 'design fault' these vital functions had to be performed prior to checkout_process and checkout_success. Hence this contrib doing all that for you.

 

Ideally punters hit that final button and go back to your site but you'll find that around 2 out of 5 don't. No worries for you since the system captured all it needs for you.

Johan a.k.a. T0PS3O elsewhere.

 

Contributed Barclay's ePDQ Payment Module though not originally mine. Made it work though...

Link to comment
Share on other sites

I meant epdq_success.php.  In my case, I redirect this to checkout_success.php page and display appropriate message to the customer and do some custom- processing.

 

tep_redirect(tep_href_link(FILENAME_CHECKOUT_SUCCESS));

 

- Ram

 

There's indeed multiple ways of doing it. I have it redirect to epdq_success.php which finds out whether the transaction was accepted or declined. If declined it redirects back to the shopping cart and adds an error message to the error stack saying the transaction was declined and asks them to use alternative payment methods.

 

If it was successful it redirects to checkout_process so the e-mail confirmation business can take place and people can opt in for notifications.

Johan a.k.a. T0PS3O elsewhere.

 

Contributed Barclay's ePDQ Payment Module though not originally mine. Made it work though...

Link to comment
Share on other sites

RB,

 

I see. So let me get this right - in the barclays cpiadmin I've set up a CPI user. What should be POST URL be set to? cpi/complete, checkout_success or something different? When I've set it to cpi/complete I end up on the complete.php page with nothing else happening. The same thing happens if i set the POST url to checkout_success + I get an error message (via email) from Barclays.

 

With everything I've tried I still end up looking at a blank screen.

Link to comment
Share on other sites

Just reading back through some of Joe's comments and he says that "Whilst on Barclays, during payment authorization Barclays interacts with cpi/complete.php ... Barclays sends them on ... to epdq_success ... " That doesn't seem to be happening here. Any suggestions as to what I've got wrong?

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...