2017 © Pedro Peláez
 

library coingate-php

CoinGate library for PHP

image

coingate/coingate-php

CoinGate library for PHP

  • Friday, May 4, 2018
  • by TomasAchmedovas
  • Repository
  • 6 Watchers
  • 15 Stars
  • 5,119 Installations
  • PHP
  • 2 Dependents
  • 0 Suggesters
  • 7 Forks
  • 2 Open issues
  • 8 Versions
  • 40 % Grown

The README.md

CoinGate PHP library for API v2

The CoinGate PHP library provides convenient access to the CoinGate API from applications written in the PHP language., (*1)

Requirements

PHP 7.3.0 and later., (*2)

Composer

You can install library via Composer. Run the following command:, (*3)

composer require coingate/coingate-php

Manual Installation

If you do not wish to use Composer, you can download the latest release. Then, to use the library, include the init.php file., (*4)

require_once('/path/to/coingate-php/init.php');

Dependencies

The library require the following extensions in order to work properly:, (*5)

  • curl, although you can use your own non-cURL client if you prefer
  • json

If you use Composer, these dependencies should be handled automatically. If you install manually, you'll want to make sure that these extensions are available., (*6)

Getting Started

You can sign up for a CoinGate account at https://coingate.com for production and https://sandbox.coingate.com for testing (sandbox)., (*7)

Please note, that for Sandbox you must generate separate API credentials on https://sandbox.coingate.com. API credentials generated on https://coingate.com will not work for Sandbox mode., (*8)

Usage of CoinGate PHP library looks like:, (*9)

$client = new \CoinGate\Client('YOUR_API_TOKEN');

In order, to use sandbox mode, you need to set second parameter to true., (*10)

$client = new \CoinGate\Client('YOUR_API_TOKEN', true);

If you plan to use Public API endpoints only, authentication is not required., (*11)

$client = new CoinGate\Client();

// if needed you can set configuration parameters later
$client->setApiKey('YOUR_API_TOKEN');
$client->setEnvironment('sandbox');

Full documentation of the CoinGate API can be found here, (*12)

Example

An example of an app using this library can be found here, (*13)

Payment Gateway API

Create Order

Create order at CoinGate and redirect shopper to invoice (payment_url)., (*14)

$params = [
    'order_id'          => 'YOUR-CUSTOM-ORDER-ID-115',
    'price_amount'      => 1050.99,
    'price_currency'    => 'USD',
    'receive_currency'  => 'EUR',
    'callback_url'      => 'https://example.com/payments?token=6tCENGUYI62ojkuzDPX7Jg',
    'cancel_url'        => 'https://example.com/cart',
    'success_url'       => 'https://example.com/account/orders',
    'title'             => 'Order #112',
    'description'       => 'Apple Iphone 13'
];

try {
    $order = $client->order->create($params);
} catch (\CoinGate\Exception\ApiErrorException $e) {
    // something went wrong...
    // var_dump($e->getErrorDetails());
}

echo $order->id;

Checkout

Placing created order with pre-selected payment currency (BTC, LTC, ETH, etc). Display payment_address and pay_amount for shopper or redirect to payment_url. Can be used to white-label invoices., (*15)

$checkout = $client->order->checkout(7294, [
    'pay_currency' => 'BTC'
]);

Get Order

After creating an order, you will get an ORDER ID. This ID will be used for GET ORDER requests., (*16)

$order = $client->order->get(7294);

List Orders

Retrieving information of all placed orders., (*17)

$orders = $client->order->list([
    'created_at' => [
        'from' => '2022-01-25'
    ]
]);

Public API

Get Exchange Rate

Current exchange rate for any two currencies, fiat or crypto. This endpoint is public, authentication is not required., (*18)

$client->getExchangeRate('BTC', 'EUR');

List Exchange Rates

Current CoinGate exchange rates for Merchants and Traders. This endpoint is public, authentication is not required., (*19)

$client->listExchangeRates();

Ping

A health check endpoint for CoinGate API. This endpoint is public, authentication is not required., (*20)

$client->ping();

IP Addresses

Get IP addresses of CoinGate servers, (*21)

$client->getIPAddresses();

Currencies

$client->getCurrencies();

// Crypto + Native + Merchant Pay 
$client->getCheckoutCurrencies();

// get Merchant Pay currencies only
$client->getMerchantPayCurrencies();

// get Merchant Receive currencies only
$client->getMerchantPayoutCurrencies();

Platforms

$client->getPlatforms();

Custom Request Timeout

To modify request timeouts (connect or total, in seconds) you'll need to tell the API client to use a CurlClient other than its default. You'll set the timeouts in that CurlClient., (*22)

// set up your tweaked Curl client
$curl = new \CoinGate\HttpClient\CurlClient();
$curl->setTimeout(10);
$curl->setConnectTimeout(5);

// tell CoinGate Library to use the tweaked Curl client
\CoinGate\Client::setHttpClient($curl);

// use the CoinGate API client as you normally would

Test API Connection

$result = \CoinGate\Client::testConnection('YOUR_API_TOKEN');

In order, to test API connection on sandbox mode, you need to set second parameter to true., (*23)

$result = \CoinGate\Client::testConnection('YOUR_API_TOKEN', true);

Attention plugin developers

Are you writing a plugin that integrates CoinGate and embeds our library? Then please use the setAppInfo function to identify your plugin. For example:, (*24)

\CoinGate\Client::setAppInfo("MyAwesomePlugin", "1.0.0");

The method should be called once, before any request is sent to the API. The second parameter is optional., (*25)

The Versions

04/05 2018

dev-master

9999999-dev https://coingate.com

CoinGate library for PHP

  Sources   Download

MIT

The Requires

  • ext-curl *
  • ext-json *

 

The Development Requires

payment gateway merchant bitcoin altcoin litecoin coingate

04/05 2018

3.0.1

3.0.1.0 https://coingate.com

CoinGate library for PHP

  Sources   Download

MIT

The Requires

  • ext-curl *
  • ext-json *

 

The Development Requires

payment gateway merchant bitcoin altcoin litecoin coingate

24/04 2018

3.0.0

3.0.0.0 https://coingate.com

CoinGate library for PHP

  Sources   Download

MIT

The Requires

  • ext-curl *
  • ext-json *

 

The Development Requires

merchant bitcoin coingate

25/08 2017

v2.x-dev

2.9999999.9999999.9999999-dev https://coingate.com

CoinGate library for PHP

  Sources   Download

MIT

The Requires

  • ext-curl *
  • ext-json *

 

The Development Requires

merchant bitcoin coingate

28/04 2017

2.0.1

2.0.1.0 https://coingate.com

CoinGate library for PHP

  Sources   Download

MIT

The Requires

  • ext-curl *
  • ext-json *

 

The Development Requires

merchant bitcoin coingate

23/05 2016

2.0.0

2.0.0.0 https://coingate.com

CoinGate library for PHP

  Sources   Download

MIT

The Requires

  • ext-curl *
  • ext-json *

 

The Development Requires

merchant bitcoin coingate

24/03 2016

v1.0.1

1.0.1.0 https://coingate.com

CoinGate library for PHP

  Sources   Download

MIT

The Requires

  • ext-curl *
  • ext-json *

 

merchant bitcoin coingate

24/03 2016

v1.0.0

1.0.0.0 https://coingate.com

CoinGate library for PHP

  Sources   Download

MIT

The Requires

  • ext-curl *
  • ext-json *

 

merchant bitcoin coingate