# Verisign Payflow Pro Functions

## Introduction

This extension allows you to process credit cards and other financial transactions using Verisign Payment Services, formerly known as Signio (» http://www.verisign.com/products-services/payment-processing/online-payment/payflow-pro/index.html).

When using these functions, you may omit calls to pfpro_init() and pfpro_cleanup() as this extension will do so automatically if required. However the functions are still available in case you are processing a number of transactions and require fine control over the library. You may perform any number of transactions using pfpro_process() between the two.

These functions were added in PHP 4.0.2.

> Note: These functions only provide a link to Verisign Payment Services. Be sure to read the Payflow Pro Developers Guide for full details of the required parameters.

> Note: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

> Note: This extension is not available on Windows platforms.

## Requirements

You will require the appropriate SDK for your platform, which may be downloaded » from within the manager interface once you have registered.

Once you have downloaded the SDK you should copy the files from the lib directory of the distribution. Copy the header file pfpro.h to /usr/local/include and the library file libpfpro.so to /usr/local/lib.

Alternatively, you can extract the tarball from Verisign in one location, and reference it during build configuration with the --with-pfpro[=DIR] option:

Example#1 Explicit Configuration

    tar -zxf pfpro_sunsparc.tar.gz -C /usr/local/

    ./configure --with-pfpro=/usr/local/verisign/payflowpro/sunsparc

> Note: The last portion of the path specified in the example above, in this case sunsparc, will vary based on which architecture your Verisign SDK was built for.

## Installation

These functions are only available if PHP has been compiled with the --with-pfpro[=DIR] option.

Warning

If you are planing to use this extension along with the OpenSSL extension or with ModSSL, you should compile this extension as shared: --with-pfpro=shared,/usr/local.

## Runtime Configuration

The behaviour of these functions is affected by settings in php.ini.

Verisign Payflow Pro configuration options
Name | Default | Changeable | Changelog
--- | --- | --- | ---
pfpro.defaulthost/PFPRO_VERSION < 3 | "test.signio.com" | PHP_INI_ALL |
pfpro.defaulthost | "test-payflow.verisign.com" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
pfpro.defaultport | "443" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
pfpro.defaulttimeout | "30" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
pfpro.proxyaddress | "" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
pfpro.proxyport | "" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
pfpro.proxylogon | "" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
pfpro.proxypassword | "" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.

For further details and definitions of the PHP_INI_* constants, see the php.ini directives.

## Resource Types

This extension has no resource types defined.

## Predefined Constants

This extension has no constants defined.

## Table of Contents

- pfpro_cleanup — Shuts down the Payflow Pro library
- pfpro_init — Initialises the Payflow Pro library
- pfpro_process_raw — Process a raw transaction with Payflow Pro
- pfpro_process — Process a transaction with Payflow Pro
- pfpro_version — Returns the version of the Payflow Pro software