vinceg / firstdataapi
First Data Api
1.0
2015-11-04 19:35 UTC
Requires
- php: >=5.3.3
- ext-curl: *
This package is auto-updated.
Last update: 2024-09-10 11:16:59 UTC
README
此组件提供了一个PHP包装器,用于向First Data支付处理器发送API调用。
它需要curl和php curl扩展。
特性
- 支持所有交易类型。
- 支持Transarmor令牌,可以在不存储实际卡号的情况下多次对信用卡进行扣费。
安装
现在可以使用Composer安装此库。
将以下内容添加到您的项目composer.json中
"require": {
"vinceg/firstdataapi": "dev-master"
},
使用组件
<?php use VinceG\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, true);
文档和示例
First Data 文档
在这些示例中
- API_LOGIN是您的商业终端的终端网关ID。
- API_KEY是在终端屏幕上生成的密码。
示例
预授权
// Pre Auth Transaction Type
$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()) {
// there was an error
} else {
// transaction passed
}
购买
// Purchase Transaction type
$firstData = new FirstData(API_LOGIN, API_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, 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, 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, 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, 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
}
© Vadim Vincent Gabriel 关注 @gabrielva 2013
许可协议
MIT许可协议 (MIT)
版权所有 (c) 2013 - Vincent Gabriel
在此协议下,任何获得此软件及其相关文档副本(“软件”)的人均可免费使用该软件,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向软件提供方提供软件的人士行使上述权利,但需遵守以下条件
上述版权声明和本许可协议应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论该索赔、损害或其他责任是基于合同、侵权或其他原因,是否与软件或软件的使用或其他交易有关。