我正在尝试使用 PHP 集成 First Data e4 Gateway。我下载了VinceG/php-first-data-api PHP First Data Service API 类。该代码带有一些示例。
我有我的终端 ID (API_LOGIN) 和密码(32 个字符串)。
让我困惑的是,当我使用其中一个示例时,我不知道如何告诉班级我要使用演示 url,而不是生产 url。
该类带有两个常量:
const LIVE_API_URL = 'https://api.globalgatewaye4.firstdata.com/transaction/';
const TEST_API_URL = 'https://api.demo.globalgatewaye4.firstdata.com/transaction/';
在 First Data 控制台中,当我生成密码时,它说使用 v12 api /transaction/v12
,所以我更改了protected $apiVersion = 'v12';
我要做的就是使用 First Data e4 编写我的第一个开发事务。我还没有得到任何回应。显然,我需要很多手才能开始。
当我建立一个使用 BalancedPayments 的网站时,他们有一个非常好的支持论坛,我能够很快地让它运行起来。First Data 有很多文档,但由于某种原因,其中没有多少有好的 PHP 示例。
我希望一些专家已经掌握了 VinceG/php-first-data-api,并且可以帮助我编写一个有效的脚本。
这是我正在使用的预授权代码,它调用 FirstData 类:
// Pre Auth Transaction Type
define("API_LOGIN", "B123456-01");
define("API_KEY", "xxxxxxxxxxyyyyyyyyyyyyzzzzzzzzzz");
$data = array();
$data['type'] = "00";
$data['number'] = "4111111111111111";
$data['name'] = "Cyrus Vance";
$data['exp'] = "0618";
$data['amount'] = "100.00";
$data['zip'] = "33333";
$data['cvv'] = "123";
$data['address'] = "1111 OCEAN BLVD MIAMI FL";
$orderId = "0001";
require_once("FirstData.php");
$firstData = new FirstData(API_LOGIN, API_KEY, true);
// Charge
$firstData->setTransactionType(FirstData::TRAN_PREAUTH);
$firstData->setCreditCardType($data['type'])
->setCreditCardNumber($data['number'])
->setCreditCardName($data['name'])
->setCreditCardExpiration($data['exp'])
->setAmount($data['amount'])
->setReferenceNumber($orderId);
if($data['zip']) {
$firstData->setCreditCardZipCode($data['zip']);
}
if($data['cvv']) {
$firstData->setCreditCardVerification($data['cvv']);
}
if($data['address']) {
$firstData->setCreditCardAddress($data['address']);
}
$firstData->process();
// Check
if($firstData->isError()) {
echo "!!!";
// there was an error
} else {
echo "@@@";
// transaction passed
}