[ic] Verisign as payment gateway

David Totten interchange-users@interchange.redhat.com
Fri Aug 10 10:36:52 2001


--=-Kc0nz6Qw+uaYbQValM5k
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

On 10 Aug 2001 09:09:03 -0500, STEVE LANGE wrote:
> Hello all,
> 
>   I was wondering if anyone has pointers for setting up Verisign as a payment gateway, as opposed to Cybercash.  Any info you have would be great.
> 
>   Thanks in advance,
> 
>    Steve

Attached is a set of instructions that I wrote for setting up Verisign
as your payment gateway in interchange 4.6.5. The file was written in
vim, so if you are using a windows based machine it might look funny.
Also, the extension can easily be re-labled .txt.

Dave Totten

--=-Kc0nz6Qw+uaYbQValM5k
Content-Type: text/plain
Content-Disposition: attachment; filename=signio.faq
Content-ID: <997453774.21128.4.camel@pred>
Content-Transfer-Encoding: 7bit

How to configure interchange 4.6.5 to use VeriSign/Signio's Payflow Pro version
3.0 as your default payment gateway.

Introduction:
      The aim of this document is to explain what was necessary for me
   to get VeriSign/Signo set up as my payment gateway. At the time
   of this writing, I was using interchange 4.6.5 and the Payflow
   Pro SDK version 3.00

Getting / Installing Payflo Pro SDK
      After getting your Payflo Pro account set up, log in to your account
   at https://manager.verisign.com. Click the link towards the top of your
   screen that says download.
      Under the section labeled Payflow Pro Software Development Kit (SDK),
   will be a link for your operating system. I used the Linux version.
      Once you have downloaded the software, uncompress it. I uncompressed
   the file in my interchange users directory /home/interch/.  You should
   now have a new subdirectory named verisign.
      I changed directory to /home/interch/verisign/payflowpro/linux/lib.
   The file libpfpro.so needs to be copied into one of your system
   library paths, or you need to modify your LD_LIBRARY_CONF environment
   variable to include the directory that you want to store this file.
   I chose to copy libpfpro.so into /usr/lib/. In order to do this though
   I had to become root. If you do not have root access to the machine, you
   will need to use the LD_LIBRARY_CONF method of making this library visible
   to the system.
      Once you have moved that file you will need to run ldconfig to make
   sure the system can see the new library. A good way to test that this is
   all properly set up is to change your present directory to 
   /home/interch/verisign/payflowpro/linux/bin/ and run ./pfpro
   If you get an error that says something like it couldn't load a .so
   file, then you need to make sure that the payflow library is visible.
      Another good thing to do is edit the test.sh file located in the same
   bin directory so that it contains your information for the USER,PARTNER,
   PWD, and VENDOR variables. Once you have done that, run the program. The
   output should resemble this:

   interch@localhost:~/verisign/payflowpro/linux/bin$ ./test.sh 
   ----------------------------------------------------
   ***> Performing 'pfpro' binary test transaction.....
   RESULT=0&PNREF=V28A02586876&RESPMSG=Approved&AUTHCODE=874PNI&AVSADDR=X&AVSZIP=X
   Done with 'pfpro' binary test transaction...
   ---------------------------------------------------

Making the Payflow Pro SDK work with Interchange
      In order to facilitate my instructions a little bit, I am going to
   define a few variables that I will use in this section of instructions.

   $VENDROOT is a variable that defines where the makecat and interchange
   binaries are located. In my installation (from the tarball) it is located
   at /home/interch/interchange.

   $SRCROOT is the directory where I uncompress the interchange tarball. In
   my situation it is ~/home/interch/src/interchange-4.6.5.

   $CATROOT is the directory where my catalog is stored. In my installation,
   it is ~/home/interch/catalogs/ic_465/

      Now that these definitions have been made, let's continue. The first
   thing that we want to do is copy the pfpro binary file to $VENDROOT/lib.
   The reason being is that this is where the signio global sub will be
   looking for it.
      Next we need to make a directory in $VENDROOT called globalsubs, and 
   then copy $SRCROOT/eg/globalsubs/signio to $VENDROOT/globalsubs/signio. 
   This is where we are going to tell interchange too look for our globalsub.
      In $VENDROOT, there is a file called interchange.cfg. We must edit this
   file, and add the line:

   #include globalsub/signio

   I added this line towards the bottom with the with the usertag include.

      Now that interchange knows about the globalsub, we need to tell our
   catalog that we want to use signio as payment gateway. This is done
   by editing our $CATROOT/catalog.cfg and adding the following lines of
   information:

   #begin signio stuff
   Variable  MV_PAYMENT_ID      userid&VENDOR=userid&PARTNER=VeriSign
   Variable  MV_PAYMENT_SECRET  password
   Variable  MV_PAYMENT_SERVER  test-payflow.verisign.com
   Variable  MV_PAYMENT_MODE    custom signio
   #end signio stuff
   
   You will of course need to modify this data so that it reflects the data
   that Verisign/Signio has provided you. I inserted this information above
   the section that says CreditCardAuto    Yes. You must make sure that the
   CreditCardAuto    Yes line is either commented out (putting a # in front
   of it) or is set to No. Also, make sure you are not using any other
   payment gateway at the same time.
      While trying to get this integration set up on my own machine, I
   discovered that VeriSign/Signio now require more information than they
   used to. Above I modified MV_PAYMENT_ID from what the old instructions
   said to what VeriSign/Signio recommends now. In doing this, some of the
   old code caused some problems, and so I had to edit it. In the file
   $VENDROOT/globalsub/signio I had to comment out lines 136 - 139. These
   lines look like this:

   my $len = length($val);
   if($val =~ /[&=]/) {
     $key .= "[$len]";
   }
  
   Just put a # in front of each one of these lines in the signio file.

      Also, the pfpro executable needs to know where it can find their secure
   certificate which is found in /home/interch/verisign/payflowpro/linux/certs
   on my machine. In order to do this, I added the following line:

   $ENV{PFPRO_CERT_PATH} = '/home/interch/verisign/payflowpro/linux/certs';
 
   This will set an environment variable telling pfpro where to find
   verisigns' secure certificate.
      Once you have finished making these changes, save the file. Now we can
   restart interchange and we should have a new payment gateway up and 
   running.

--=-Kc0nz6Qw+uaYbQValM5k--