AJAX SSL- Wizard Reference Version 1.0.2+ - 04.04.2011 Preamble This document explains the AJAX based SSL- Wizard developed by CertCenter AG. The seemless integration of the SSL- Wzard into the partner s website can be achieved in a few steps, making it unecessary for the partner to develop their own costly software. Via the SSL- Wizard, a partner can easily and comfortably place their purchase order for their SSL- certificates.
1 Index Preamble... 1 1 Index... 2 2 System requirements... 3 2.1 Webserver requirements... 3 2.2 Client requirements... 3 3 Download- pakage... 3 4 Basis- integration of the website... 4 4.1 Integration of the SSL- Wizard PHP- Library... 4 4.2 Integration of JavaScript- and CSS- Libraries... 4 4.3 Integration of the Wizard- Containers... 5 4.4 Saving API User data... 6 5 Price list setup for SSL- Wizard... 6 6 Making use of the callback function... 6 6.1 Methode wizard_on_initialize()... 7 6.2 Methode wizard_on_ajax_request()... 7 6.3 Methode wizard_on_recaluclate($price)... 7 6.4 Methode wizard_on_order_succeed($report)... 8 6.5 Methode wizard_on_order_failed($report)... 8 7 Status query and certificate forwarding... 9
2 System requirements 2.1 Webserver requirements On server- side, the SSL- Wizard is based on PHP (5.1+) and communicates with CertCenter via SOAP. Requirements Module Earliest Version PHP 5.1+ soap json Included within 5.2 and onwards, otherwise json >= 1.2.0 from PECL 2.2 Client requirements The SSL- Wizard communicates with the SSL- Wizard- Library, which is located on the partner s webserver, via AJAX (Asynchronous JavaScript & XML). A browser which supports AJAX is thereby a minimum requirement on client- side. All modern browsers support AJAX. More information regarding the deployment of AJAX within web browsers can be found on Wikipedia: http://en.wikipedia.org/wiki/ajax_%28programming%29 To display the SLL- Wizard correctly, a desktop resolution of at least 1024x768 pixels is recommended. A browser width of at least 800 pixels will suffice for the Wizard. 3 Download- pakage The SSL- Wizard can be downloaded from the Partner- Extranet by following the link below: https://www.certcenter.de/my/ In addition to the Wizard (subfolder /sslwziard) within the package you will find a file (/index.php) with which to try out the software.
4 Basis- integration of the website The file index.php from the download- package is meant as an example of how to integrate a file into your website. In order to integrate correctly, a special source code must be copied to different locations of your website. 4.1 Integration of the SSL- Wizard PHP- Library It is necessary to add the library sslwizard/library.php to the very first line of the source code of the website on which the SSL- Wizard is to be implemented (see image 1). If it is not added to the very first line, the SSL- Wizard may not execute correctly and will display error messages. Image 1 4.2 Integration of JavaScript- and CSS- Libraries After the library has been integrated, please add the necessary Java Scripts and CCS- Libraries to the <head></head> section of the website. Currently the SSL- Wizard requires the Prototype Library v1.7, the effects.js from the script.aculo.us Library, as well as the SSL- Wizard- Library of the CertCenter AG. All necessary scripts and css- files are included in the download- package and should be applied unaltered. Image 1
4.3 Integration of the Wizard- Containers Through the placement of your Wizard- Containers you can determine the location and dimensions of your SSL- Wizard. Just place the <div id= cc_ssl_wizard ></div>- Container at the desired location (see Image 3). Image 2 As you can see on image 3, the parameters of product and tax can be displayed. The value tax determines the value added tax to be applied. The value product determines the products to be configured and bought via the wizard. The following values can all be used as ProductCode: QuickSSLPremium RapidSSL RapidSSLWildcard TrueBusinessID TrueBusinessIDWildcard TrueBusinessIDEV SecureSite SecureSitePro SecureSiteEV SecureSiteProEV SSLWebServer SGCSuperCerts SSL123 SSLWebServerWildcard SSLWebServerEV
4.4 Saving API User data As a last step, you will need to save the users data within the PHP- Library /sslwizard/inc/conf.inc.php in order to allow access to the partner s API and Database. In the editor, open the Library and adjust the constant DB_* as well as CC_API_USERNAME and CC_API_PASSWORD (see image 4) Abbildung 3 Now, after having correctly integrated all the necessary Libraries, the SSL- Wizard should load automatically wenn accessing the website. Should this not be the case, please check all the necessary steps and ensure that all System requirements (2.1) have been met. 5 Price list setup for SSL- Wizard Die Preise, die Sie Ihren Kunden über den SSL- Wizard anbieten möchten, können über das CertCenter Partner- Extranet konfiguriert werden. Loggen Sie sich hierzu auf das Extranet ein und wählen Sie in der Navigation Partner- Ressourcen - > SSL- Wizard Preiskonfiguration. Hyperlink to pricing configuration: https://www.certcenter.de/my/resources/sslwizard/pricelist 6 Making use of the callback function The callback- methods, found under /sslwizard/callback.php, are well suited for the individual integration into the partner s systems. These methods are not only
particularly viable for authenticating users and session management, but also for transmitting ordering details to the partner s local databanks. 6.1 Methode wizard_on_initialize() Diese Methode wird beim Start des Wizards aufgerufen und kann zum Abbruch der Initialisierung oder z.b. zur Weiterleitung auf eine Login- Seite genutzt werden, insofern der Nutzer über keine aktive oder über keine gültige Sitzung verfügt. This method is executed when starting the Wizard and can be used to either cancel the initialization process or to forward the user to a login site, provided that the user is not running an active or valid session. No parameters are transmitted. 6.2 Methode wizard_on_ajax_request() This method is executed every time an AJAX- function is initiated. It possible, for example, to run a validity check for every session to prevent an unauthorized purchase order from being processed. 6.3 Methode wizard_on_recaluclate($price) Whenever a change in the product configuration results in a price change, the function wizard on recalculate is executed. As a parameter, the new price will be transmitted. The return value of true/false will be accepted. True causes the configuration to continue, whereas false will notify the User that the current expenditure limit has been exceeded and that the last change to the configuration must be cancelled to be able to continue with the ordering process. The error message is completely customizable under callback.php. Image 4
6.4 Methode wizard_on_order_succeed($report) After successfully forwarding a purchase order via the SSL- Wizard, the method wizard on order succeed with the parameter $report will be executed. &report is a PHP- object and contains all information, which qualify for the partner s databank. The following data are included: $report- >timestamp $report- >payload $report- >CertCenterOrderID Current time stamp in seconds (= mktime()) Contains all order details as further objects Contains an array with error notification You can obtain further details on the exact content of the payload- object, if you, via the callback- method, set up an email to be sent to you as a test. You can also have it logged via the same method (see image 6). Image 5 If the db.inc.php (resp. the Class CC_DB) was integrated and the MySQL- User data were correctly saved in confi.inc.php, the essential purchase order details will be copied directly to your MySQL- Databank CERTIFICATES (SQL- script to set up a table see sslwizard/database/sslwizard.sql). The partner can autonomously adjust the SQL INSERT- command in order to add, for example, customer codes or other information to the table. 6.5 Methode wizard_on_order_failed($report) If a purchase order is not forwarded successfully via the SSL- Wizard, the method wizard on order failed with the parameter $report will be executed. &report is a PHP- object and contains all information, which qualify for the partner s databank. The following data are included:
$report- >timestamp $report- >payload $report- >errors Current time stamp in seconds (= mktime()) Contains all order details further objects Contans an array with error notification You can obtain further details on the exact content of the payload- object, if you, via the callback- method, as a test, set up an email to be sent to you (see image 6.4). You can also have it logged via the same method. 7 Status query and certificate forwarding The status query and the forwarding of the issued certificate will be taken care of by the CertCenter Partner. To receive a status update, a number of different API- functions are available. The SSL- wizard contains a simple template version of a query tool, found under sslwizard/scripts/statuscheck.php. With the help of this script, all status changes will be highlighted and made accessible for re- configuration. The statuscheck.php. script, after having been manually checked, should be automatically run in regular intervals to inform the partner s clients about the completion of their certificates (and to deliver the certificate). This can be done automatically by using, for example, Cronjob. In case you have further questions in regards to the integration process, please contact out partner support (partnersupport@certcenter.de)