pfpro_process

(PHP 4 >= 4.0.2, PHP 5)

pfpro_process -- Effectue une transaction avec Payflow Pro

Description

array pfpro_process ( array parameters [, string address [, int port [, int timeout [, string proxy_address [, int proxy_port [, string proxy_logon [, string proxy_password]]]]]]] )

pfpro_process() retourne un tableau associatif, contenant la réponse pour la transaction.

pfpro_process() effectue une transaction avec Payflow Pro. Le premier paramètre parameters est un tableau associatif contenant des paires clés/valeurs, qui seront encodées, puis passées au serveur.

Le second paramètre address indique quel hôte contacter. Il est optionnel. Par défaut, il vaut "test.signio.com" : vous devrez probablement le remplacer par "connect.signio.com" pour effectuer de vraies transactions.

Le troisième paramètre port spécifie le port de connexion. Par défaut, c'est 443, le port SSL standard.

Le quatrième paramètre timeout indique le temps de timeout à utiliser. Par défaut, c'est 30 secondes. Notez que ce timeout ne prend effet que lorsqu'une connexion a été établie avec un serveur : votre script peut potentiellement attendre indéfiniment en cas de problèmes DNS ou réseau.

Le cinquième paramètre proxy_address indique le nom du proxy SSL. Le sixième paramètre proxy_port indique le port à utiliser sur ce proxy.

Les septième et huitième paramètres, proxy_logon et proxy_password indiquent le nom de compte et le mot de passe à utiliser sur le proxy.

pfpro_process() retourne un tableau associatif avec les clefs/valeurs de la réponse.

Note : Lisez attentivement le "Payflow Pro Developers Guide" pour connaître les détails des autres paramètres.

Exemple 1. Exemple de transaction Payflow Pro

<?php

pfpro_init
();

$transaction = array(
       
'USER'   => 'monlogin',
       
'PWD'    => 'monmotdepasse',
       
'PARTNER' => 'VeriSign',
       
'TRXTYPE' => 'S',
       
'TENDER'  => 'C',
       
'AMT'    => 1.50,
       
'ACCT'   => '4111111111111111',
       
'EXPDATE' => '0904'
);

$response = pfpro_process($transaction);

if (!
$response) {
  die(
"Impossible d'établir un lien avec Verisign.\n");
}

echo
"La réponse de Verisign était ", $response['RESULT'], "\n";
echo
"C'est-à-dire : ", $response['RESPMSG'], "\n";

echo
"\nLa requête de transaction: ";
print_r($transaction);

echo
"\nLa réponse: ";
print_r($response);

pfpro_cleanup();
?>