PHPackages                             kksoftwareag/first-data-gateway - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. kksoftwareag/first-data-gateway

ActiveLibrary[Payment Processing](/categories/payments)

kksoftwareag/first-data-gateway
===============================

PHP SDK to be used with a First Data Gateway account. 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 returns; transaction inquiries; setting up scheduled payments and much more.

1.8.1(5y ago)030MITPHPPHP &gt;=5.6

Since Sep 13Pushed 5y agoCompare

[ Source](https://github.com/kksoftwareag/PHP)[ Packagist](https://packagist.org/packages/kksoftwareag/first-data-gateway)[ Docs](https://docs.firstdata.com/org/gateway)[ RSS](/packages/kksoftwareag-first-data-gateway/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (3)Dependencies (2)Versions (5)Used By (0)

IPG API for payment processing.

IPG API Specification.

- API version: 6.10.0

This PHP package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 1.6.0
- Package version: 1.6.0
- Build package: org.openapitools.codegen.languages.PhpClientCodegen

Requirements
------------

[](#requirements)

PHP 5.5 and later

Installation &amp; Usage
------------------------

[](#installation--usage)

### Composer

[](#composer)

To install the bindings via [Composer](http://getcomposer.org/), add the following to `composer.json`:

```
{
  "repositories": [
    {
      "type": "git",
      "url": "https://github.com//.git"
    }
  ],
  "require": {
    "/": "*@dev"
  }
}

```

Repo Organization
-----------------

[](#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
---------------------

[](#api-methodsendpoints)

All URIs are relative to **

InterfaceMethodHTTP requestDescription*AuthenticationApi***getAccessToken****POST** /v2/authentication/access-tokensGenerate an access token for user authentication.*CardInfoLookupApi***cardInfoLookup****POST** /v2/card-informationCard information lookUp*CardVerificationApi***verifyCard****POST** /v2/card-verificationVerify a payment card.*CurrencyConversionApi***getExchangeRate****POST** /v2/exchange-ratesGenerate dynamic currency conversion transactions*FraudDetectApi***scoreOnly****POST** /v2/fraud/score-onlyScore a transaction for fraud.*FraudDetectApi***clientRegistration****POST** /v2/fraud/client-registrationClient Registration for fraud detect.*FraudDetectApi***paymentRegistration****POST** /v2/fraud/payment-registrationPayment Registration for fraud detect.*OrderApi***orderInquiry****GET** /v2/orders/{order-id}Retrieve the state of an order*OrderApi***orderPostAuth****POST** /v2/orders/{order-id}/postauthCapture/complete an already existing order.*OrderApi***orderReturnTransaction****POST** /v2/orders/{order-id}/returnReturn/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}/postauthCapture/complete a transaction.*PaymentApi***primaryPaymentTransaction****POST** /v2/paymentsGenerate a primary transaction.*PaymentApi***returnTransaction****POST** /v2/payments/{transaction-id}/returnReturn/refund a transaction.*PaymentApi***transactionInquiry****GET** /v2/payments/{transaction-id}Retrieve the state of a transaction.*PaymentApi***voidTransaction****POST** /v2/payments/{transaction-id}/voidReverse 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-schedulesUse 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-tokensCreate 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-urlCreate a payment URL.*PaymentUrlApi***deletePaymentUrl****DELETE** /v2/payment-urlDelete a payment URL.*PaymentUrlApi***paymentUrlDetail****GET** /v2/payment-urlRetrive the state of a payment URL.for store.Code Overview
-------------

[](#code-overview)

### MerchantCredentials

[](#merchantcredentials)

```
namespace FirstData\FirstApi\Client\Simple;

class MerchantCredentials {
  /**
   * @param string $apiSecret
   * @param string $apiKey
   */
  public function __construct($apiSecret, $apiKey);

  // ...
}
```

### ClientContext

[](#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

[](#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

[](#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

[](#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

[](#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

[](#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

[](#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

[](#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

[](#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

[](#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

[](#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

[](#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);

  // ...
}
```

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 53.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

2151d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/16a2b2ee856e671b3036956f7281045f5d8eddc49b00764411629d6bc016c93f?d=identicon)[WebsiteDeveloper](/maintainers/WebsiteDeveloper)

---

Top Contributors

[![brandon-garcia](https://avatars.githubusercontent.com/u/3475827?v=4)](https://github.com/brandon-garcia "brandon-garcia (7 commits)")[![WebsiteDeveloper](https://avatars.githubusercontent.com/u/2150814?v=4)](https://github.com/WebsiteDeveloper "WebsiteDeveloper (6 commits)")

---

Tags

sdkpaymentgatewaydeveloperfirst data

### Embed Badge

![Health badge](/badges/kksoftwareag-first-data-gateway/health.svg)

```
[![Health](https://phpackages.com/badges/kksoftwareag-first-data-gateway/health.svg)](https://phpackages.com/packages/kksoftwareag-first-data-gateway)
```

###  Alternatives

[shetabit/multipay

PHP Payment Gateway Integration Package

291348.2k3](/packages/shetabit-multipay)[omalizadeh/laravel-multi-payment

A driver-based laravel package for online payments via multiple gateways

491.1k](/packages/omalizadeh-laravel-multi-payment)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
