first-data/gateway
最新稳定版本:v1.14.0
Composer 安装命令:
composer require first-data/gateway
包简介
PHP SDK to be used with First Data IPG API v21.5.0. This SDK has been created and packaged to offer the easiest way to integrate your application into the First Data Gateway. This SDK gives you the ability to run transactions such as sales, preauthorizations, postauthorizations, credits, voids, and
README 文档
README
IPG API for payment processing.
IPG API Specification.
- API version: 21.5.0
- Package version: 1.14.0
- Build package: org.openapitools.codegen.languages.PhpClientCodegen
Requirements
PHP 5.5 and later
Installation & Usage
Composer
To install the bindings via Composer, add the following to composer.json:
{ "repositories": [ { "type": "git", "url": "https://github.com//.git" } ], "require": { "/": "*@dev" } } Repo Organization
- FirstData\FirstApi\Client\api: code auto-generated from api specification
- FirstData\FirstApi\Client\simple: code manually created for simpler API
API Methods/Endpoints
All URIs are relative to https://cert.api.firstdata.com/gateway
| Interface | Method | HTTP request | Description |
|---|---|---|---|
| AuthenticationApi | getAccessToken | POST /v2/authentication/access-tokens | Generate an access token for user authentication. |
| CardInfoLookupApi | cardInfoLookup | POST /v2/card-information | Card information lookUp |
| CardVerificationApi | verifyCard | POST /v2/card-verification | Verify a payment card. |
| CurrencyConversionApi | getExchangeRate | POST /v2/exchange-rates | Generate dynamic currency conversion transactions |
| FraudDetectApi | scoreOnly | POST /v2/fraud/score-only | Score a transaction for fraud. |
| FraudDetectApi | clientRegistration | POST /v2/fraud/client-registration | Client Registration for fraud detect. |
| FraudDetectApi | paymentRegistration | POST /v2/fraud/payment-registration | Payment Registration for fraud detect. |
| OrderApi | orderInquiry | GET /v2/orders/{order-id} | Retrieve the state of an order |
| OrderApi | orderPostAuth | POST /v2/orders/{order-id}/postauth | Capture/complete an already existing order. |
| OrderApi | orderReturnTransaction | POST /v2/orders/{order-id}/return | Return/refund an order. |
| PaymentApi | finalizeSecureTransaction | PATCH /v2/payments/{transaction-id} | Update a 3DSecure or UnionPay payment and continue processing. |
| PaymentApi | performPaymentPostAuthorisation | POST /v2/payments/{transaction-id}/postauth | Capture/complete a transaction. |
| PaymentApi | primaryPaymentTransaction | POST /v2/payments | Generate a primary transaction. |
| PaymentApi | returnTransaction | POST /v2/payments/{transaction-id}/return | Return/refund a transaction. |
| PaymentApi | transactionInquiry | GET /v2/payments/{transaction-id} | Retrieve the state of a transaction. |
| PaymentApi | voidTransaction | POST /v2/payments/{transaction-id}/void | Reverse a previous action on an existing transaction. |
| PaymentSchedulesApi | cancelPaymentSchedule | DELETE /v2/payment-schedules/{order-id} | Cancel a gateway payment schedule. |
| PaymentSchedulesApi | createPaymentSchedule | POST /v2/payment-schedules | Use this to create a gateway payment schedule. |
| PaymentSchedulesApi | inquiryPaymentSchedule | GET /v2/payment-schedules/{order-id} | View a gateway payment schedule. |
| PaymentSchedulesApi | updatePaymentSchedule | PATCH /v2/payment-schedules/{order-id} | Update a gateway payment schedule. |
| PaymentTokenApi | createPaymentToken | POST /v2/payment-tokens | Create a payment token from a payment card. |
| PaymentTokenApi | deletePaymentToken | DELETE /v2/payment-tokens/{token-id} | Delete a payment token. |
| PaymentTokenApi | getPaymentTokenDetails | GET /v2/payment-tokens/{token-id} | Get payment token details. |
| PaymentUrlApi | createPaymentUrl | POST /v2/payment-url | Create a payment URL. |
| PaymentUrlApi | deletePaymentUrl | DELETE /v2/payment-url | Delete a payment URL. |
| PaymentUrlApi | paymentUrlDetail | GET /v2/payment-url | Retrive the state of a payment URL. |
| for store. |
Code Overview
MerchantCredentials
namespace FirstData\FirstApi\Client\Simple; class MerchantCredentials { /** * @param string $apiSecret * @param string $apiKey */ public function __construct($apiSecret, $apiKey); // ... }
ClientContext
namespace FirstData\FirstApi\Client\Simple; class ClientContext { /** * base path defaults to https://cert.api.firstdata.com/gateway * * @param MerchantCredentials $creds * @param string $apiBasePath (optional) * @param string $defaultRegion (optional) * @param string $defaultStoreId (optional) * @return ClientContext */ public static function create(MerchantCredentials $creds, $apiBasePath = ClientContext::DEFAULT_BASE_PATH, $defaultRegion = null, $defaultStoreId = null); /** * @return ClientFactory */ public function getFactory(); /** * @param string $basePath */ public function setApiBasePath($basePath); // ... }
ClientFactory
namespace FirstData\FirstApi\Client\Simple; class ClientFactory { /** * @return AuthenticationApi */ public function getAuthenticationApi(); /** * @return CardInfoLookupApi */ public function getCardInfoLookupApi(); /** * @return CardVerificationApi */ public function getCardVerificationApi(); /** * @return CurrencyConversionApi */ public function getCurrencyConversionApi(); /** * @return FraudDetectApi */ public function getFraudDetectApi(); /** * @return OrderApi */ public function getOrderApi(); /** * @return PaymentApi */ public function getPaymentApi(); /** * @return PaymentSchedulesApi */ public function getPaymentSchedulesApi(); /** * @return PaymentTokenApi */ public function getPaymentTokenApi(); /** * @return PaymentUrlApi */ public function getPaymentUrlApi(); // ... }
AuthenticationApi
namespace FirstData\FirstApi\Client\Simple; use FirstData\FirstApi\Client\Model\AccessTokenResponse; use FirstData\FirstApi\Client\Model\ErrorResponse; class AuthenticationApi { /** * @return AccessTokenResponse|ErrorResponse */ public function authenticationAccessTokensPost(); // ... }
CardInfoLookupApi
namespace FirstData\FirstApi\Client\Simple; use FirstData\FirstApi\Client\Model\CardInfoLookupRequest; use FirstData\FirstApi\Client\Model\CardInfoLookupResponse; use FirstData\FirstApi\Client\Model\ErrorResponse; class CardInfoLookupApi { /** * @param CardInfoLookupRequest $payload * @param string $region (optional) * @return CardInfoLookupResponse|ErrorResponse */ public function cardInfoLookup(CardInfoLookupRequest $payload, $region = null); // ... }
CardVerificationApi
namespace FirstData\FirstApi\Client\Simple; use FirstData\FirstApi\Client\Model\CardVerificationRequest; use FirstData\FirstApi\Client\Model\TransactionResponse; use FirstData\FirstApi\Client\Model\ErrorResponse; class CardVerificationApi { /** * @param CardVerificationRequest $payload * @param string $region (optional) * @return TransactionResponse|ErrorResponse */ public function verifyCard(CardVerificationRequest $payload, $region = null); // ... }
CurrencyConversionApi
namespace FirstData\FirstApi\Client\Simple; use FirstData\FirstApi\Client\Model\ExchangeRateRequest; use FirstData\FirstApi\Client\Model\ExchangeRateResponse; use FirstData\FirstApi\Client\Model\ErrorResponse; class CurrencyConversionApi { /** * @param ExchangeRateRequest $payload * @param string $region (optional) * @return ExchangeRateResponse|ErrorResponse */ public function getExchangeRate(ExchangeRateRequest $payload, $region = null); // ... }
FraudDetectApi
namespace FirstData\FirstApi\Client\Simple; use FirstData\FirstApi\Client\Model\ScoreOnlyRequest; use FirstData\FirstApi\Client\Model\ScoreOnlyResponse; use FirstData\FirstApi\Client\Model\ClientRegistration; use FirstData\FirstApi\Client\Model\PaymentRegistration; use FirstData\FirstApi\Client\Model\FraudRegistrationResponse; use FirstData\FirstApi\Client\Model\ErrorResponse; class FraudDetectApi { /** * @param ScoreOnlyRequest $payload * @param string $region (optional) * @return ScoreOnlyResponse|ErrorResponse */ public function scoreOnly(ScoreOnlyRequest $payload, $region = null); /** * Operation Client Registration * * CLient Registration for fraud * * @param ClientRegistration $payload payload (required) * @param string $region The region where client wants to process the transaction (optional) * * @throws ApiException on non-2xx response * @throws InvalidArgumentException * @return FraudRegistrationResponse|ErrorResponse */ public function fraudClientRegistrationPost(ClientRegistration $payload,$region = null); /** * Operation Payment Registration * * Payment Registration for fraud * * @param PaymentRegistration $payload payload (required) * @param string $region The region where client wants to process the transaction (optional) * * @throws ApiException on non-2xx response * @throws InvalidArgumentException * @return FraudRegistrationResponse|ErrorResponse */ public function fraudPaymentRegistrationPost(PaymentRegistration $payload,$region = null); // ... }
OrderApi
namespace FirstData\FirstApi\Client\Simple; use FirstData\FirstApi\Client\Model\OrderResponse; use FirstData\FirstApi\Client\Model\SecondaryTransaction; use FirstData\FirstApi\Client\Model\TransactionResponse; use FirstData\FirstApi\Client\Model\ErrorResponse; class OrderApi { /** * @param string $orderId * @param string $region (optional) * @param string $storeId (optional) * @return OrderResponse|ErrorResponse */ public function orderInquiry($orderId, $region = null, $storeId = null); /** * @param string $orderId * @param SecondaryTransaction $payload * @param string $region (optional) * @param string $storeId (optional) * @return TransactionResponse|ErrorResponse */ public function submitSecondaryTransaction($orderId, SecondaryTransaction $payload, $region = null, $storeId = null); }
PaymentApi
namespace FirstData\FirstApi\Client\Simple; use FirstData\FirstApi\Client\Model\AuthenticationVerificationRequest; use FirstData\FirstApi\Client\Model\PrimaryTransaction; use FirstData\FirstApi\Client\Model\SecondaryTransaction; use FirstData\FirstApi\Client\Model\TransactionResponse; use FirstData\FirstApi\Client\Model\ErrorResponse; class PaymentApi { /** * @param string $transactionId * @param AuthenticationResponseVerificationRequest $payload * @param string $region (optional) * @return TransactionResponse|ErrorResponse */ public function finalizeSecureTransaction($transactionId, AuthenticationVerificationRequest $payload, $region = null); /** * @param PrimaryTransaction $payload * @param string $region (optional) * @return TransactionResponse|ErrorResponse */ public function primaryPaymentTransaction(PrimaryTransaction $payload, $region = null); /** * @param string $transactionId * @param SecondaryTransaction $payload * @param string $region (optional) * @param string $storeId (optional) * @return TransactionResponse|ErrorResponse */ public function secondaryPaymentTransaction($transactionId, SecondaryTransaction $payload, $region = null, $storeId = null); /** * @param string $transactionId * @param string $region (optional) * @param string $storeId (optional) * @return TransactionResponse|ErrorResponse */ public function transactionInquiry($transactionId, $region = null, $storeId = null); // ... }
PaymentSchedulesApi
namespace FirstData\FirstApi\Client\Simple; use FirstData\FirstApi\Client\Model\PaymentSchedulesRequest; use FirstData\FirstApi\Client\Model\PaymentSchedulesResponse; use FirstData\FirstApi\Client\Model\RecurringPaymentDetailsResponse; use FirstData\FirstApi\Client\Model\ErrorResponse; class PaymentSchedulesApi { /** * @param string $orderId * @param string $region (optional) * @param string $storeId (optional) * @return PaymentSchedulesResponse|ErrorResponse */ public function cancelPaymentSchedule($orderId, $region = null, $storeId = null); /** * @param PaymentSchedulesRequest $payload * @param string $region (optional) * @return PaymentSchedulesResponse|ErrorResponse */ public function createPaymentSchedule(PaymentSchedulesRequest $payload, $region = null); /** * @param string $orderId * @param string $region (optional) * @param string $storeId (optional) * @return RecurringPaymentDetailsResponse|ErrorResponse */ public function inquiryPaymentSchedule($orderId, $region = null, $storeId = null); /** * @param string $orderId * @param PaymentSchedulesRequest $payload * @param string $region (optional) * @param string $storeId (optional) * @return PaymentSchedulesResponse|ErrorResponse */ public function updatePaymentSchedule($orderId, PaymentSchedulesRequest $payload, $region = null, $storeId = null); // ... }
PaymentTokenApi
namespace FirstData\FirstApi\Client\Simple; use FirstData\FirstApi\Client\Model\PaymentTokenizationRequest; use FirstData\FirstApi\Client\Model\PaymentTokenizationResponse; use FirstData\FirstApi\Client\Model\ErrorResponse; class PaymentTokenApi { /** * @param PaymentTokenizationRequest $payload * @param string $authorization (optional) * @param string $region (optional) * @return PaymentTokenizationResponse|ErrorResponse */ public function createPaymentToken(PaymentTokenizationRequest $payload, $authorization = null, $region = null); /** * @param string $tokenId * @param string $authorization (optional) * @param string $region (optional) * @param string $storeId (optional) * @return PaymentTokenizationResponse|ErrorResponse */ public function deletePaymentToken($tokenId, $authorization = null, $region = null, $storeId = null); /** * @param string $tokenId * @param string $authorization (optional) * @param string $region (optional) * @param string $storeId (optional) * @return PaymentTokenizationResponse|ErrorResponse */ public function getPaymentTokenDetails($tokenId, $authorization = null, $region = null, $storeId = null) // ... }
PaymentUrlApi
namespace FirstData\FirstApi\Client\Simple; use FirstData\FirstApi\Client\Model\PaymentUrlRequest; use FirstData\FirstApi\Client\Model\PaymentUrlResponse; use FirstData\FirstApi\Client\Model\PaymentUrlDetailResponse; use FirstData\FirstApi\Client\Model\ErrorResponse; class PaymentUrlApi { /** * @param PaymentUrlRequest $payload * @param string $region (optional) * @return PaymentUrlResponse|ErrorResponse */ public function createPaymentUrl(PaymentUrlRequest $payload, $region = null); /** * Operation deletePaymentUrl * * Delete a payment URL. * * @param transactionId * @param orderId * @param paymentUrlId * @param transactionTime * @param storeId * @param string $region The region where client wants to process the transaction (optional) * * @throws ApiException on non-2xx response * @throws InvalidArgumentException * @return PaymentUrlResponse|ErrorResponse */ public function deletePaymentUrl($region = null,$storeId = null,$transactionId = null,$orderId = null,$paymentUrlId = null,$transactionTime = null); /** * Operation paymentUrlDetailResponse * * get detials of a payment URL. * * @param fromDate(required) * @param orderId * @param toDate(required) * @param merchantTransactionId * @param status * @param storeId * @param string $region The region where client wants to process the transaction (optional) * * @throws ApiException on non-2xx response * @throws InvalidArgumentException * @return PaymentUrlResponse|ErrorResponse */ public function paymentUrlDetail($region = null,$storeId = null,$fromDate,$toDate,$orderId = null,$merchantTransactionId = null,$status = null); // ... }
first-data/gateway 适用场景与选型建议
first-data/gateway 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 26.75k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 01 月 04 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「payment」 「sdk」 「gateway」 「developer」 「first data」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 first-data/gateway 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 first-data/gateway 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 first-data/gateway 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
repository php library
Payyo Gateway for the Omnipay payment processing library
Client library to send SMS using Comilio SMS Gateway API (https://www.comilio.it)
GovPayNet driver for the Omnipay payment processing library
BlueSnap driver for the Omnipay payment processing library
TrinkPOS Sanal POS (Virtual POS) API client for PHP
统计信息
- 总下载量: 26.75k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 35
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-01-04