Posted: 9th December 2014

Author: Ric

Tagged: Tutorials

Setting up a Barclaycard ePDQ account to use with Egg Basket

Barclaycard ePDQ is one of the easiest payment gateways to integrate into a website, but the merchant panel is a little overwhelming at first and, without trawling through the developer guides and error logs generated by failed test payments, it can take some time to figure out what needs setting and where. This quick set-up guide aims to get you going a little quicker.

These are the steps you need to take to get your ePDQ account ready and set-up with the Egg Basket eCommerce framework, but the same steps should apply for just about any integration.

  1. Log in to the Barclaycard backoffice panel via payments.epdq.co.uk/Ncol/Prod/BackOffice or to your test account via mdepayments.epdq.co.uk/Ncol/Test/BackOffice.

  2. Navigate to Configuration -> Technical Information.

  3. From the Global Transaction Parameters tab, make sure the Default Data Capture Procedure is set to "Online but switch to offline when the online acquiring system is unavailable". This will ensure that if ePDQ is unable to talk to your website when payment is made, for some reason, it will then queue the notification and try again later.

  4. Next, from the Data And Origin Verification tab, you need to tell ePDQ what the URL of your payment page is. With Egg Basket, this is always /payment, so you might enter https://www.my-amazing-new-shop.com/payment. If need be you can enter multiple addresses separated by a semicolon (;), for example if your page is available both under http and https, or if you have multiple stores using the same ePDQ account. For ePDQ integration you don't need an SSL certificate, but if you have one you should use https.

  5. While on the Data And Origin Verification tab, you need to make up a SHA-IN pass key. This can be anything you like, but make sure you remember it. Transactions are encrypted and decrypted using this pass key as a seed so you need to tell Egg Basket what your key is later on.

  6. Next, from the Transaction Feedback tab, set Direct HTTP Server-To-Server Request to "Online but switch to a deferred request when the online requests fail." and enter the path of a script that ePDQ can talk to when a payment is made. With Egg Basket, this will always be /gateways/epdq-response for both fields, so again your URL might be https://www.my-amazing-new-shop.com/gateways/epdq-response. You can only enter one address this time. Again you don't need an SSL certificate for ePDQ but if you have one, you should use https.

  7. You should enter the same value into the SHA-OUT field as you used for SHA-IN, so that ePDQ can encrypt the transactions properly.

  8. Egg Basket notifies you of new orders already, so from the Transactional Emails tab you can turn off ePDQ's notifications if you like.

  9. Finally, in your Egg Basket source code, copy /required/settings.php to /local/required/settings.php if you haven't already done so, and then set $enableBarclaycardEPDQ to true, populate $epdqPSPID with your merchant ID, and either $epdqTestSHA1 or $epdqLiveSHA1 with the SHA-IN key you defined earlier. If you're using a test account, set $paymentTestMode to true too, otherwise make sure it's set to false.

That's it, your ePDQ account is all set up and Egg Basket has everything it needs to know. You should always place a test order before going live though, just to be sure there were no errors.

QWeb is a partner of Barclaycard, so if you need any further assistance or you're interested in signing up for a merchant account, we'd be happy to help.

Blog posts written by former QWeb employees are not necessarily an accurate indication of the current opinions of QWeb Ltd and the information provided in tutorials might be biased or subjective, or might become out of date.

Discuss this post

Leave a comment

Your email address is used to notify you of new comments to this thread, and also to pull your Gravatar image. Your name, email address, and message are stored as encrypted text and you won't be added to any mailing list and your details won't be shared with any third party.