integready / firstdataapi
FirstData API
1.2.0.4
2020-07-13 14:40 UTC
Requires
- php: >=7.3
- ext-curl: *
- ext-json: *
- guzzlehttp/guzzle: ~6.0
README
此组件提供了一个PHP包装器,用于向First Data支付处理器发送API调用。
它需要curl和php_curl扩展。
安装
现在可以使用Composer安装此库
将以下内容添加到项目的composer.json中
"require": {
// ...
"integready/firstdataapi": "dev-master"
},
要使用组件
<?php use integready\firstdataapi\FirstData; /** * 3rd Parameter sets debug mode on. * In debug mode, the demo gateway is used. * You will need to create a demo gateway account with First Data */ $firstData = new FirstData(API_LOGIN, API_KEY, HMAC_ID, HMAC_KEY, true);
文档和示例
First Data文档
在这些示例中
API_LOGIN是您的商业终端的终端网关ID。API_KEY是在终端屏幕中生成的密码。HMAC_ID是您的商业终端的HMAC ID。HMAC_KEY是在终端屏幕中生成的HMAC Key。
示例
预授权
// Pre Auth Transaction Type
$firstData = new FirstData(API_LOGIN, API_KEY, HMAC_ID, HMAC_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()) {
// there was an error
} else {
// transaction passed
}
购买
// Purchase Transaction type
$firstData = new FirstData(API_LOGIN, API_KEY, HMAC_ID, HMAC_KEY, true);
// Charge
$firstData->setTransactionType(FirstData::TRAN_PURCHASE);
$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()) {
// there was an error
} else {
// transaction passed
}
带有TransArmor令牌的购买
// Purchase Transaction type
$firstData = new FirstData(API_LOGIN, API_KEY, HMAC_ID, HMAC_KEY, true);
// Charge
$firstData->setTransactionType(FirstData::TRAN_PURCHASE);
$firstData->setCreditCardType($data['number'])
->setTransArmorToken($data['token'])
->setCreditCardName($data['name'])
->setCreditCardExpiration($data['exp'])
->setAmount($data['amount'])
->setReferenceNumber($orderId);
$firstData->process();
// Check
if($firstData->isError()) {
// there was an error
} else {
// transaction passed
}
预授权完成
// Purchase Transaction type
$firstData = new FirstData(API_LOGIN, API_KEY, HMAC_ID, HMAC_KEY, true);
// Charge
$firstData->setTransactionType(FirstData::TRAN_PREAUTHCOMPLETE);
$firstData->setCreditCardType($data['number'])
->setTransArmorToken($data['token'])
->setCreditCardName($data['name'])
->setCreditCardExpiration($data['exp'])
->setAuthNumber($dat['auth_number'])
->setAmount($data['amount'])
->setReferenceNumber($orderId);
$firstData->process();
// Check
if($firstData->isError()) {
// there was an error
} else {
// transaction passed
}
退款
// Purchase Transaction type
$firstData = new FirstData(API_LOGIN, API_KEY, HMAC_ID, HMAC_KEY, true);
// Charge
$firstData->setTransactionType(FirstData::TRAN_REFUND);
$firstData->setCreditCardNumber($data['number'])
->setTransArmorToken($data['token'])
->setCreditCardName($data['name'])
->setCreditCardExpiration($data['exp'])
->setAmount($data['amount'])
->setReferenceNumber($orderId);
$firstData->process();
// Check
if($firstData->isError()) {
// there was an error
} else {
// transaction passed
}
取消
// Purchase Transaction type
$firstData = new FirstData(API_LOGIN, API_KEY, HMAC_ID, HMAC_KEY, true);
// Charge
$firstData->setTransactionType(FirstData::TRAN_VOID);
$firstData->setCreditCardType($data['number'])
->setTransArmorToken($data['token'])
->setCreditCardName($data['name'])
->setCreditCardExpiration($data['exp'])
->setAmount($data['amount'])
->setReferenceNumber($orderId);
$firstData->process();
// Check
if($firstData->isError()) {
// there was an error
} else {
// transaction passed
}
许可
MIT许可证(MIT)
版权所有 (c) 2013 - Vincent Gabriel
特此授予任何获得此软件及其相关文档副本(以下简称“软件”)的个人免费使用软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许获得软件副本的个人使用软件,但须遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何形式的保证,无论是明示的、暗示的,包括但不限于适销性、特定用途的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他方式,无论是由于软件或软件的使用或其他方式引起的。