PayflowPro_Guide.pdf, страница 31. Пример "Sale" транзакции:
PHP:
<?php
$commands = 'TRXTYPE=S&TENDER=C&USER=SuperUser&PWD=SuperUserPassword&VENDOR=SuperUser';
$commands .= '&PARTNER=PayPal&ACCT=5105105105105100&EXPDATE=1209&CVV2=123&AMT=99.00'
$commands .= '&FNAME=Bill&LNAME=Smith&STREET=123 MainSt.&CITY=Anywhere&STATE=CA&ZIP=12345'
$commands .= '&COMMENT1=Reservation&INVNUM=1234567890&PONUM=C12345&CVV2=567&VERBOSITY=MEDIUM';
putenv('PFPRO_CERT_PATH=/usr/local/share/certs');
$result = exec('/usr/local/bin/pfpro test-payflow.verisign.com 443 "' . $commands . '" 30');
var_dump($result);
?>
USER, PWD, VENDOR - данные твоего аккаунта;
ACCT - номер кредитки;
EXPDATE - срок действия кредитки;
AMT - сумма платежа.
Все остальные поля необязательные.
Имя плательщика можно передать одним полем NAME=... (так удобнее); Если имя содержит спец. символы, то нужно указывать длину этого поля, например так: NAME[13]=hello & world
Чтобы данные о кредитки брались от другой транзакции нужно указывать ORIGID=номер_транзакции
Ответ от PayFlow может быть таким:
Код:
RESULT=0&PNREF=VXYZ01234567&RESPMSG=APPROVED&AUTHCODE=123456&AVSADDR=Y&AVSZIP=N
RESULT= Если "0" значит транзакция прошла, т.е. все "хорошо"

PNREF= Номер транзакции, этот номер потом можно использовать в ORIGID=...