QuickPay Payment Window
Implementing QuickPay as payment provider
The QuickPay Payment Window checkout handler is designed to work with QuickPay v10 – released in 2015 – which supports Danske Bank's MobilePay Online and embedded payment windows.
If you don’t have a QuickPay account you can sign up for a free test account – this comes with standard system users called Payment Window and API User. You can use either one, but please note that the API User is intended for advanced scenarios where you need to tweak the QuickPay user permissions.
Provider configuration
To obtain the keys you need to configure the QuickPay Payment Window provider:
- Log into QuickPay Manager
- Open Settings > Integration
- Copy the Merchant ID & Private key for the account
- For the user you decide to use (API user or Payment Window) copy the Agreement id and the Api key
When you have the four keys you can configure the payment provider. Go to Settings > Areas > Commerce > Order Management > Payment and create a new payment method, then select the QuickPay Payment Window provider and fill in the details.
For a basic configuration:
- Enter the Merchant ID, Agreement ID, API Key and Private key from QuickPay
- Check the Card types you want to activate – you can select All cards, only 3D Secure cards, or individual cards – and so on
- Select a post mode
- Auto post (do not use the template)
- Render inline form
- Render template - this allows you to customize the information sent to QuickPay via the post template
- Select or create templates:
- The Post template is used to post data to QuickPay when the render mode is Render template or Render inline form
- The Cancel template is shown if the user cancels payment at some point during the checkout process
- The Error template is shown if an error occurs
You can also:
- Supply a branding ID, a tracking ID and a Client id from a Google Analytics account
- Check Auto capture to capture orders as soon as they have been authorized
Since QuickPay is a Payment Service Provider(PSP) – and not an acquirer like Nets, Teller or PayPal – you must also supply them with details about the acquirers you have an agreement with. This is done in QuickPay Manager under Settings > Acquirers.
Payment templates
Templates for the QuickPay Payment Window provider should be placed in a QuickPayPaymentWindow-folder with subfolders located under Files/Templates/eCom7/CheckoutHandler
:
/CheckoutHandler/
├── QuickPayPaymentWindow/
│ ├── Cancel/
│ │ ├── cancel_payment.cshtml
│ ├── Error/
│ │ ├── payment_error.cshtml
│ ├── Post/
│ │ ├── payment_form.cshtml
Please note that we recommend that you use the auto post-mode with QuickPay, in which case the post template is not used. If you need to use the render template mode and the template is not present on your solution, this is the one supplied by us at the present time:
<form action="https://payment.quickpay.net" method="post">
<input type="hidden" name="version" value="v10">
<input type="hidden" name="agreement_id" value="<!--@QuickPayPaymentWindow.agreement_id-->" />
<input type="hidden" name="merchant_id" value="<!--@QuickPayPaymentWindow.merchant_id-->" />
<input type="hidden" name="language" value="<!--@QuickPayPaymentWindow.language-->" />
<input type="hidden" name="order_id" value="<!--@QuickPayPaymentWindow.order_id-->" />
<input type="hidden" name="amount" value="<!--@QuickPayPaymentWindow.amount-->" />
<input type="hidden" name="currency" value="<!--@QuickPayPaymentWindow.currency-->" />
<input type="hidden" name="continueurl" value="<!--@QuickPayPaymentWindow.continueurl-->" />
<input type="hidden" name="cancelurl" value="<!--@QuickPayPaymentWindow.cancelurl-->" />
<input type="hidden" name="callbackurl" value="<!--@QuickPayPaymentWindow.callbackurl-->" />
<input type="hidden" name="autocapture" value="<!--@QuickPayPaymentWindow.autocapture-->" />
<input type="hidden" name="autofee" value="<!--@QuickPayPaymentWindow.autofee-->" />
<input type="hidden" name="payment_methods" value="<!--@QuickPayPaymentWindow.payment_methods-->" />
<input type="hidden" name="branding_id" value="<!--@QuickPayPaymentWindow.branding_id-->" />
<input type="hidden" name="google_analytics_tracking_id" value="<!--@QuickPayPaymentWindow.google_analytics_tracking_id-->" />
<input type="hidden" name="google_analytics_client_id" value="<!--@QuickPayPaymentWindow.google_analytics_client_id-->" />
<input type="hidden" name="checksum" value="<!--@QuickPayPaymentWindow.checksum-->" />
<input type="submit" value="Start payment" />
</form>
Testing QuickPay Payment Window
For the QuickPay v10 platform, all tests happen with your regular account and a number of test cards. Make sure you've activated test transactions under Settings > Integration.
Like for all payment providers, make sure your website has a public URL.
You should also note that not all acquirers allow you to complete test orders or have special requirements – MobilePay Online requires a real phone number to be used, and ViaBill requires a valid social security number to complete an order, etc.
Please also note that it may take a while before an acquirer is registered on your account - in the meantime you will be served an error code from QuickPay when trying to test the setup. You may find this list of error codes useful in other scenarios too.