Verisign Payflow Pro™ Payment


Secure payment Home Contents

Please email any bug reports, comments or suggestions to ExperLog's Online Support


Overview

ExperShop supports Payflow Pro™ V 3.00 and later, but has not been tested against previous versions.

Currently, only the credit-card payment is supported.

Payflow Pro™ SDK installation

There are different steps to integrate a merchant server with Payflow Pro™:
  • Connect to Verisign's web site, to get the Payflow Pro™ SDK software.
    You need to download the Java version of the SDK (verisign_pfpro_java.tar.gz for the V 3.00 Unix version).
    Accessing to Payflow Pro™ SDKs requires to register for a free "Test merchant account" first.
  • Install the Payflow Pro™ SDK on your server, by simply extracting the downloaded archive (on Unix, tar xvzf verisign_pfpro_java.tar.gz). This will create a "verisign" directory, that contains the java libraries for Payflow Pro (verisign/payflowpro/java/Verisign.jar) and a sample certificate file for testing (in verisign/payflowpro/java/certs/).
  • Make the CLASSPATH of your servlet engine point to the Verisign.jar file. If using Tomcat, copying Verisign.jar in the TOMCAT_HOME/lib/common directory should be sufficient.

ExperSHOP setup for Payflow Pro™

The following properties should be set in the shop's configuration file:
  • pay.payflowpro.CertPath (MANDATORY): the full path to the directory that contains the Payflow Pro™ certificates. If on Windows, use duplicate "\" chars to separate directories (like in "c:\\ExperSHOP\\etc\\payflowpro").
  • pay.payflowpro.PARTNER (OPTIONAL, default "VeriSign"): the Verisign partner ID. The default value (VeriSign) should be used for the test account, or if you signed up yourself for your account.
  • pay.payflowpro.VENDOR (MANDATORY): Your vendor ID (= your user name, defined at registration time at Verisign)
  • pay.payflowpro.PWD (MANDATORY): Your password (defined at registration time at Verisign)
  • pay.payflowpro.HostAddress (MANDATORY): The Payflow Pro™ server address. Generally set it to "test-payflow.verisign.com" for testing, and to "payflow.verisign.com" for production environments.
  • pay.payflowpro.HostPort (OPTIONAL, default 443): The Payflow Pro™ server port number.
  • pay.payflowpro.TimeOut (OPTIONAL, default 90): The Payflow Pro™ payment timeout, in seconds. Should not be lower than 30.
  • pay.payflowpro.ProxyAddress (OPTIONAL, default none): Your proxy host address (for example, if accessing Payflow Pro™ from behind a firewall).
  • pay.payflowpro.ProxyPort (OPTIONAL, default none): Your proxy port number. Mandatory if pay.payflowpro.ProxyAddress is set.
  • pay.payflowpro.ProxyLogon (OPTIONAL, default none): Your proxy logon name. Should be pesent if pay.payflowpro.ProxyAddress is set.
  • pay.payflowpro.ProxyPassword (OPTIONAL, default none): Your proxy password. Should be pesent if pay.payflowpro.ProxyAddress is set.

Invoking Payflow Pro™ from ExperShop templates

Payflow Pro™ is invoked from ExperShop by invoking the com.expershop.pay.payflowpro.ESOrderAct action.

The action invokes the Payflow Pro™ services for payment: if the payment is successful, the shopping cart content is ordered.

Action : com.expershop.pay.payflowpro.ESOrderAct

Place Order, with Payflow Pro™ secure payment: a new order is created upon payment success, the shopping cart is emptied.
If the payment fails, no order is placed, and the shopping cart remains unchanged.

We recommend that the page that triggers this action be invoked through SSL (for credit-card info encryption).

Input parameters:

  • ACCT: The credit card number (MANDATORY)
  • EXPDATE: The credit card expiration date (format : mmyy) (MANDATORY)
  • STREET and ZIP: The credit card holder's street address and zip code (optional, for AVS check - AVS stands for "address verification service")
Output parameters:
  • OrdId: The ExperSHOP-generated Order ID, in case of success only
  • RESULT: The payment status (0 if success, or some other numeric value that gives information about the transaction failure status)
  • PNREF: The Payflow Pro™ transaction ID (upon success only).
  • AUTHCODE: The credit card authentication code (upon success only).
  • RESPMSG: The Payflow Pro™-generated error message (upon failure only).
  • AVSADDR and AVSCHECK (optional, only present if AVS is activated).

Adding payment information to the orders database

Payment information (like for example the PNREF and AUTHCODE) will be automatically added to the orders database, provided the ECustOrder table contains columns called "PNREF", "AUTHCODE", etc...