.. You may want to use the usual include line. Uncomment and adjust the path. .. include:: ../Includes.txt ================================= 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: EXT: Payment method "quickpay.dk" ================================= Extension Key: paymentlib\_quickpay\_dk Language: en Keywords: forDevelopers, forIntermediates Copyright 2000-2010, Jacob Hammeken, 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: Table of Contents ----------------- `EXT: Payment method "quickpay.dk" 1 <#1.EXT:%20Payment%20method%20"quickpay.dk"|outline>`_ **`Introduction 3 <#Introduction|outline>`_** `What does it do? 3 <#2.1.1.What%20does%20it%20do_|outline>`_ `Screenshots 3 <#2.1.2.Screenshots|outline>`_ `What is it used for? 3 <#2.1.3.What%20is%20it%20used%20for_|outline>`_ `About Quickpay 3 <#2.1.4.About%20Quickpay|outline>`_ **`Installation and setup 4 <#Installation%20and%20setup|outline>`_** `Installation 4 <#2.1.5.Installation|outline>`_ `Basic setup 4 <#2.1.6.Basic%20setup|outline>`_ `Advanced setup 4 <#2.1.7.Advanced%20setup|outline>`_ **`Users manual 5 <#Users%20manual|outline>`_** `Administration 5 <#2.1.8.Administration|outline>`_ `Development 5 <#2.1.9.Development|outline>`_ **`Quickstart 6 <#Quickstart|outline>`_** `tt\_products 6 <#2.1.10.tt_products|outline>`_ **`Tutorial 7 <#Tutorial|outline>`_** `Setting up a web shop 7 <#2.1.11.Setting%20up%20a%20web%20shop|outline>`_ **`Known problems 8 <#Known%20problems|outline>`_** **`ChangeLog 9 <#ChangeLog|outline>`_** **`Version 0.9.0 9 <#2.2.Version%200.9.0|outline>`_** .. _Introduction: Introduction ------------ .. _What-does-it-do: 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: Screenshots ^^^^^^^^^^^ Example of the Quickpay payment window (multiple languages are supported): |img-3| .. _What-is-it-used-for: 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: 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 and setup ---------------------- .. _Installation: 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: Basic setup ^^^^^^^^^^^ For accepting payment with tt\_products, the following extension configuration should be set in the Extension Manager during installation. .. ### BEGIN~OF~TABLE ### .. _Quickpay-merchant-ID: Quickpay merchant ID """""""""""""""""""" .. container:: table-row a Quickpay merchant ID b This field is required. Enter the merchant ID you received from Quickpay. .. _Quickpay-shared-secret: Quickpay shared secret """""""""""""""""""""" .. container:: table-row 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: Language """""""" .. container:: table-row 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: Autocapture """"""""""" .. container:: table-row 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. .. ###### END~OF~TABLE ###### .. _Advanced-setup: Advanced setup ^^^^^^^^^^^^^^ In some cases, you may want to also configure the following extension configuration: .. ### BEGIN~OF~TABLE ### .. _Default-payment-method: Default payment method """""""""""""""""""""" .. container:: table-row 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: OK URL """""" .. container:: table-row 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: Error URL """"""""" .. container:: table-row 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. .. ###### END~OF~TABLE ###### 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: Users manual ------------ .. _Administration: 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: 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: 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: tt\_products ^^^^^^^^^^^^ .. _generated: ((generated)) """"""""""""" .. _TypoScript-configuration: 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: 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: :: .. _Tutorial: Tutorial -------- .. _Setting-up-a-web-shop: 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: 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: ChangeLog --------- Version 0.9.0 First public version. 9 .. ######CUTTER_MARK_IMAGES###### .. |img-1| image:: img-1.png .. :align: left .. |img-2| image:: img-2.png .. :border: 0 .. :height: 21 .. :hspace: 9 .. :id: Grafik2 .. :name: Grafik2 .. :width: 87 .. |img-3| image:: img-3.png .. :align: left .. :border: 0 .. :height: 439 .. :id: grafik1 .. :name: grafik1 .. :width: 669