Forum und email
pfpro_process

pfpro_process

(PHP 4 >= 4.0.2, PHP 5)

pfpro_process -- Zpracovat transakci s Payflow Pro

Popis

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

Vrací asociativní pole obsahující odpověď.

pfpro_process() zpracuje transakci s Payflow Pro. První argument je asociativní pole obsahující klíče a hodnoty, které se zakódují a odešlou zpracovateli.

Druhý argument je volitelný a určuje serveer, ke kterému se připojit. Default je "test.signio.com", takže pokud chcete zpracovávat skutečné transakce, budete chtít tento argument nastavit na "connect.signio.com".

Třetí argument určuje port, ke kterému se připojit. Default je 443, standardní SSL port.

Čtvrtý argument určuje v sekundách, jaký časový limit se má použít. Default je 30 sekund. Tento časový limit vstupuje v platnost v okamžiku spojení se zpracovatelem, a tak by váš skript mohl potenciálně běžet velmi dlouhou dobu, pokud by nastaly problémy s DNS nebo sítí.

Pátý argument určuje hostname vaší případné SSL proxy. Šestý argument specifikuje port.

Sedmý a osmý argument určují přihlašovací jméno a heslo na tuto proxy.

Tato funkce vrací asociativní pole klíčů a hodnot odpovědi.

Poznámka: Kompletní detaily vyžadovaných parametrů viz Payflow Pro Developer's Guide.

Příklad 1. Ukázka Payflow Pro

<?php

pfpro_init
();

$transaction = array(USER    => 'login',
             
PWD    => 'heslo',
             
TRXTYPE    => 'S',
             
TENDER    => 'C',
             
AMT    => 1.50,
             
ACCT    => '4111111111111111',
             
EXPDATE    => '0904'
             
);

$response = pfpro_process($transaction);

if (!
$response) {
  die(
"Nepodařilo se spojit s Verisign.\n");
}

echo
"Response kód Verisignu byl ".$response[RESULT];
echo
", což znamená: ".$response[RESPMSG]."\n";

echo
"\nPožadavek na transakci: ";
print_r($transaction);

echo
"\nOdpověď: ";
print_r($response);

pfpro_cleanup();

?>