CoinGate PHP library for API v2
Switch branches/tags
Nothing to show
Clone or download
Latest commit 14e0ffe May 4, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib Release 3.0.1 May 4, 2018
tests Fix tests Apr 24, 2018
.gitignore Ignore test.php Apr 11, 2017
CHANGELOG.md Initial commit Mar 24, 2016
LICENSE Update LICENSE Oct 2, 2016
README.md PHP library for CoinGate API v2 Apr 24, 2018
composer.json Release 3.0.1 May 4, 2018
init.php Add tests Apr 28, 2016
phpunit.no_autoload.xml Init tests Apr 28, 2016
phpunit.xml Init tests Apr 28, 2016

README.md

CoinGate PHP library for API v2

PHP library for CoinGate API.

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

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.

Composer

You can install library via Composer. Run the following command in your terminal:

composer require coingate/coingate-php

Manual Installation

Donwload latest release and include init.php file.

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

Getting Started

Usage of CoinGate PHP library.

Setting up CoinGate library

Setting default authentication

use CoinGate\CoinGate;

\CoinGate\CoinGate::config(array(
    'environment'               => 'sandbox', // sandbox OR live
    'auth_token'                => 'YOUR_AUTH_TOKEN',
    'curlopt_ssl_verifypeer'    => TRUE // default is false
));

// $order = \CoinGate\Merchant\Order::find(7294);

Setting authentication individually

use CoinGate\CoinGate;

# \CoinGate\Merchant\Order::find($orderId, $options = array(), $authentication = array())

$order = \CoinGate\Merchant\Order::find(1087999, array(), array(
    'environment' => 'sandbox', // sandbox OR live
    'auth_token' => 'YOUR_AUTH_TOKEN'));

Creating Merchant Order

https://developer.coingate.com/docs/create-order

use CoinGate\CoinGate;

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

$order = \CoinGate\Merchant\Order::create($post_params);

if ($order) {
    echo $order->status;
    
    print_r($order);
} else {
    # Order Is Not Valid
}

Getting Merchant Order

https://developer.coingate.com/docs/get-order

use CoinGate\CoinGate;

try {
    $order = \CoinGate\Merchant\Order::find(7294);

    if ($order) {
      var_dump($order);
    }
    else {
      echo 'Order not found';
    }
} catch (Exception $e) {
  echo $e->getMessage(); // BadCredentials Not found App by Access-Key
}

Test API Credentials

$testConnection = \CoinGate\CoinGate::testConnection(array(
  'environment'   => 'sandbox',
  'auth_token'    => 'YOUR_AUTH_TOKEN'
));

if ($testConnection !== true) {
  echo $testConnection; // CoinGate\BadCredentials: BadCredentials Not found App by Access-Key
}