DEPRECATION WARNING

This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.

EXT: Payment method "quickpay.dk"

Author:Kasper Skårhøj
Created:2002-11-01T00:32:00
Changed:2010-04-09T12:48:37
Classification:paymentlib_quickpay_dk
Description:The keywords help with categorizing and tagging of the manuals. You can combine two or more keywords and add additional keywords yourself. Please use at least one keyword from both lists. If your manual is NOT in english, see next tab "language" ---- forEditors (use this for editors / german "Redakteure") forAdmins (use this for Administrators) forDevelopers (use this for Developers) forBeginners (manuals covering TYPO3 basics) forIntermediates (manuals going into more depth) forAdvanced (covering the most advanced TYPO3 topics) see more: http://wiki.typo3.org/doc_template#tags ----
Keywords:forDevelopers, forIntermediates
Author:Jacob Hammeken
Email:jacob@wildside.dk
Info 4:
Language:en

img-1 img-2 EXT: Payment method "quickpay.dk" - paymentlib_quickpay_dk

EXT: Payment method "quickpay.dk"

Extension Key: paymentlib_quickpay_dk

Language: en

Keywords: forDevelopers, forIntermediates

Copyright 2000-2010, Jacob Hammeken, <jacob@wildside.dk>

This document is published under the Open Content License

available from http://www.opencontent.org/opl.shtml

The content of this document is related to TYPO3

- a GNU/GPL CMS/Framework available from www.typo3.org

Table of Contents

EXT: Payment method "quickpay.dk" 1

`Introduction 3 <#Introduction|outline>`_

What does it do? 3

Screenshots 3

What is it used for? 3

About Quickpay 3

`Installation and setup 4 <#Installation%20and%20setup|outline>`_

Installation 4

Basic setup 4

Advanced setup 4

`Users manual 5 <#Users%20manual|outline>`_

Administration 5

Development 5

`Quickstart 6 <#Quickstart|outline>`_

tt_products 6

`Tutorial 7 <#Tutorial|outline>`_

Setting up a web shop 7

`Known problems 8 <#Known%20problems|outline>`_

`ChangeLog 9 <#ChangeLog|outline>`_

`Version 0.9.0 9 <#2.2.Version%200.9.0|outline>`_

Introduction

What does it do?

This extension enables you to accept payment using the Quickpay payment gateway. It would typically be used with the tt_products web shop. Once installed, developers may also use Paymentlib directly to develop extensions that accept payment via Quickpay. There is rudimentary support for subscriptions (i.e. recurring payments).

There is already a similar public extension for Quickpay available. By implementing a newer version of the Quickpay protocol, this extension is more future proof.

Screenshots

Example of the Quickpay payment window (multiple languages are supported):

img-3

What is it used for?

  • tt_products (simple web shop)
  • Commerce (web shop)
  • rlmp_eventdb (event calendar)

The above is an incomplete list of extensions that use Paymentlib, and may thus work with this extension.

About Quickpay

Quickpay is the safe choice for payment for Internet transactions. Quickpay works with all common credit- and debit cards. Quickpay is the payment solution that allows easy and safe integration all common credit-/debit cards with an arbitrary site on the Internet. Quickpay handles transactions for ~4500 merchants (October 09).

Get a Quickpay account at: http://www.quickpay.dk/

Installation and setup

Installation

  • Import and install the extension “paymentlib” via the Extension Manager.
  • Install this extension, paymentlib_quickpay_dk, via the Extension Manager. NOTE: not to be confused with the extension paymentlib_quickpay. During installation, some of the extension configuration below is required.

Basic setup

For accepting payment with tt_products, the following extension configuration should be set in the Extension Manager during installation.

Quickpay merchant ID

a

Quickpay merchant ID

b

This field is required. Enter the merchant ID you received from Quickpay.

Quickpay shared secret

a

Quickpay shared secret

b

This field is required. Enter the shared secret for your Quickpay account. Go to www.quickpay.dk and login. After you have logged in to the “Payment Manager”, look for the shared secret.

Language

a

Language

b

Enter the language code for the language that should be used by the Payment Window (the final part of payments, where card info is entered). Defaults to english. Enter “da” for danish, “de” for german. The full list of supported languages can be seen here:

http://doc.quickpay.dk/appendix/supportedlanguagecodes.html

Autocapture

a

Autocapture

b

If unsure, leave this unchecked. In that case, it is essential that you login to Quickpay regularly and manually capture pending transactions, so they do not time out.

If checked, transactions will be captured automatically, thus transfering the transaction amount from the cardholders account. According to the Quickpay documentation, it is not allowed to perform a capture before the goods are shipped. The web shop owner should thus consider whether autocapture is appropriate.

Advanced setup

In some cases, you may want to also configure the following extension configuration:

Default payment method

a

Default payment method

b

This defaults to “authorize”, which is used for normal purchases, where something is purchased for a one-time amount. If you change this to “subscribe”, all payments will by default instead be subscriptions, which are used for recurring payments. Beware that this is not the behaviour you want from a typical web shop. If you use Paymentlib directly, you can override the payment method on a per transaction basis.

Authorize is used when the merchant wants to validate refund card data against the card issuer and authorize a transaction. The transaction amount is only reserved at the card holder's account and not withdrawn from the account - unless autocapture is set.

Subscribe is used when the merchant wants to validate refund card data against the card issuer. This extension does not have a way to handle withdrawals, you will need to do that manually by logging in to Quickpay. It also does not have a way to view current subscriptions, etc.

OK URL

a

OK URL

b

An URL to the page that will be redirected to after a successful payment. Note that this may be overridden by tt_products and other extensions. In that case, you should read the documentation of such extensions on how to set this.

Error URL

a

Error URL

b

An URL to the page that will be redirected to after a payment failed. Note that this may be overridden by tt_products and other extensions. In that case, you should read the documentation of such extensions on how to set this.

During installation of Paymentlib, you may also want to set the field “PID” (the page where transaction records are stored) in its extension configuration.

Users manual

Administration

Once installed, this extension does not require administration. Be sure to read relevant documentation at quickpay.dk on how to manage transactions. You should login to Quickpay and learn how to use the payment manager. You would usually need to capture or reject transactions during delivery. Beware that transactions will automatically time out if they are not captured or rejected. You may wish to inform the shop administrator of the procedure for handling transactions, and the consequences of failing to handle them.

Development

Common use is to use an extension that has support for Paymentlib, but you can also use Paymentlib directly. While Paymentlib does not have a manual, it is documented in its README.txt file. Only the TX_PAYMENTLIB_GATEWAYMODE_FORM mode is supported.

If you develop an extension which needs to accepts subscriptions using Paymentlib, you can specify on a per transaction basis whether to perform a purchase (authorize) or subscription (subscribe) using the “transaction_setDetails” method. Example:

// set transaction to “authorize” or “subscribe”
$details['quickpay'] = array('msgtype' => 'authorize');
$paymentlib_provider->transaction_setDetails($details);

Quickstart

All configuration of this extension is set during installation in the extension configuration, via the Extension Manager. Once installed, you should consult other relevant documentation, such as the tt_products documentation. The following is meant to get you started quickly.

tt_products

((generated))
TypoScript configuration

The following TypoScript setup needs to be set to add payment (to an otherwise fully functional tt_products installation):

plugin.tt_products {
   # your copy of the tt_products file template/products_template.tmpl
   templateFile = templates/products_template.tmpl

   payment {
      10 {
         title = Credit card
         handleLib = paymentlib
         handleLib {
            extName = paymentlib_quickpay_dk
            gatewaymode = form
            paymentMethod = paymentlib_quickpay_dk_cc_any
            currency = EUR
            templateFile = typo3conf/ext/tt_products/template/paymentlib.tmpl
         }
      }
   }
}

The full list of currency codes is available at: http://www.iso.org/iso/currency_codes_list-1 Do not confuse it with a label. I.e., the danish currency code would be DKK and not DKR.

Template authoring

For payment to work, you must edit the copy you made of the file products_template.tmpl. Inside the subpart ###BASKET_PAYMENT_TEMPLATE### (already be present, just search for it), you must insert the marker ###MESSAGE_PAYMENT_SCRIPT###. The marker will insert a submit-button which will POST to the Quickpay Payment Window. Thus, the marker should probably be inserted near the end of the subpart. Example:

<!-- ###BASKET_PAYMENT_TEMPLATE### →
   ...bla...
   ###MESSAGE_PAYMENT_SCRIPT###
   ...bla...
<!-- ###BASKET_PAYMENT_TEMPLATE### end -->

Tutorial

Setting up a web shop

  • Start by making sure you have the username and password to the Quickpay Payment Manager, you will need that to find further account information, to verify that transactions show up properly, and to switch from test to production mode.
  • Login to the Payment Manager, and check that all necessary information is present. Make a note of the Merchant ID and the Shared Secret, so you still have it if the password is changed.
  • Install and setup tt_products. Make sure to perform all necessary configuration and modification of templates, so you have a fully functioning web shop that only lacks payment.
  • Install “paymentlib”. Optionally, create a sysfolder where transaction records are to be stored and enter its ID during the installation.
  • Install “paymentlib_quickpay_dk”. During installation, enter appropriate information in the fields mentioned in the chapter about “Basic setup”.
  • Configure tt_products payment, as described in the chapter about configuration of tt_products.
  • Verify that payment works by buying something.
  • Switch Quickpay from test-mode to production-mode, and perform another test purchase.

Known problems

  • The extension configuration is global, and thus cannot be configured per page.
  • This extension only works with Paymentlibs FORM method, using Quickpays Payment Window. It does not support the Webservice method, which would require the merchant to be PCI certified.
  • There is no library for developers to simplify access to the Quickpay API.
  • The extension has so far only been tested with tt_products version 2.6.1.

ChangeLog

Version 0.9.0

First public version.

9