Quickpay is a fast growing Danish payment gateway. They operate both in Denmark and abroad and it’s a good idea to have their system in your toolbox.
Quickpay offers modules that integrate with many existing shop-systems but just in case your shop-system is hand-crafted have a look at this quick overview of how to integrate secure payment window into any system.
Note: this overview describes integrating Quickpay into php-based website but the general remarks should be useful for .NET users as well.
3 Steps To Quickpay
- If you don’t have an account yet, log in to the demo manager
- Under Tools (Værktøjer) in the menu you will find generate code options
- Get your PHP or ASP.NET code. In the simplest, php-version the folder you download contains 4 files: call-quickpay.php, error.php, form-quickpay.php and ok.php. You are most interested in form-quickpay.php. This is the form that needs to be posted to Quickpay. You place it on the page that stores the hidden details of the transaction, just before the page you want to make people pay. For example if your shop system has the following flow: Your shopping cart – Enter your shipping details – Review Order – Pay, you want to place your form on the Review Order page and the pay button should post the form.
The Code Explained
<?php $protocol='6'; $msgtype='authorize'; $merchant='89898978'; $language='en'; $ordernumber = time(); $amount='100'; $currency='DKK'; $continueurl='http://www.dyrernesnetsalg.dk/ok.php'; $cancelurl='http://www.dyrernesnetsalg.dk/error.php'; $callbackurl='http://www.dyrernesnetsalg.dk/callback.php'; //see http://quickpay.dk/clients/callback-quickpay.php.txt $md5secret ='29p61DveBZ79c3144LW61lVz1qrwk2gfAFCxPyi5sn49m3Y3IRK5M6SN5d8a68u7'; $md5check = md5($protocol.$msgtype.$merchant.$language.$ordernumber.$amount.$currency.$continueurl.$cancelurl.$callbackurl.$md5secret); ?> <form action="https://secure.quickpay.dk/form/" method="post"> <input type="hidden" name="protocol" value="<?php echo $protocol ?>" /> <input type="hidden" name="msgtype" value="<?php echo $msgtype ?>" /> <input type="hidden" name="merchant" value="<?php echo $merchant ?>" /> <input type="hidden" name="language" value="<?php echo $language ?>" /> <input type="hidden" name="ordernumber" value="<?php echo $ordernumber ?>" /> <input type="hidden" name="amount" value="<?php echo $amount ?>" /> <input type="hidden" name="currency" value="<?php echo $currency ?>" /> <input type="hidden" name="continueurl" value="<?php echo $continueurl ?>" /> <input type="hidden" name="cancelurl" value="<?php echo $cancelurl ?>" /> <input type="hidden" name="callbackurl" value="<?php echo $callbackurl ?>" /> <input type="hidden" name="md5check" value="<?php echo $md5check ?>" /> <input type="submit" value="Pay" /> </form>
The form code is fairly straightforward. The less obvious settings are:
- merchant – this is a number you will receive from Quickpay once you order an account. (Settings->Merchant->QuickpayId
- continueurl – Quickpay will redirect to this URL after the payment has been completed and authorized. This is basically your receipt page.
- cancelurl – similarly, this is the URL that gets called if the payment wasn’t completed or wasn’t completed sucessfully
- callbackurl – this one is a bit tricky. According to the QuickPay’s own documentation, Quickpay will make a call back to this URL with the result of the transaction. You can read more about it on Quickpay’s website. Callbackurl is not required but it provides an extra measure of security so it is advisable to use it.
- $md5check – is again a value you will find in your Quickpay manager under Settings -> MD5Secret
Setting Up Quickpay Manager
Once you have the code running you need to enter your acquirer’s details under Settings->Acquirers. The information come from the company that actually handles the payments. It is up to you to get an agreement with one of the acquirers. You can read a bit more about this on Quickpay’s website.
While you are still testing your shop your gateway mode should be set to test (Settings->Gateway Mode). That means that no money will change hands until you are ready to move to production.
To make sure that everything is going just fine, have a look at the top-right corner of your dashboard (Merchant Status). If there is anything you forgot, this box should give you a warning. Clicking on the link will take you to the settings that need to be edited.
You can also use Testsuit (Tools->Testsuite) to test your setup.