integready/firstdataapi

FirstData API

1.2.0.4 2020-07-13 14:40 UTC

This package is auto-updated.

Last update: 2024-09-14 00:18:55 UTC


README

此组件提供了一个PHP包装器,用于向First Data支付处理器发送API调用。

它需要curlphp_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参考指南

在这些示例中

  • 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

特此授予任何获得此软件及其相关文档副本(以下简称“软件”)的个人免费使用软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许获得软件副本的个人使用软件,但须遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何形式的保证,无论是明示的、暗示的,包括但不限于适销性、特定用途的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他方式,无论是由于软件或软件的使用或其他方式引起的。