Giter Site home page Giter Site logo

coinsbank-php-sdk's Introduction

Coinsbank PHP SDK for RESTful API

use Coinsbank\Api\CoinsbankBitcoinchart;
use Coinsbank\Api\CoinsbankDeposit;
use Coinsbank\Api\CoinsbankFile;
use Coinsbank\Api\CoinsbankHead;
use Coinsbank\Api\CoinsbankTrade;
use Coinsbank\Api\CoinsbankWallet;
use Coinsbank\CoinsbankApiContext;
use Coinsbank\Filter\CoinsbankTradeFilter;
use Coinsbank\Model\CoinsbankDepositModel;
use Coinsbank\Model\CoinsbankFileModel;

$contextUnauthorized = new CoinsbankApiContext(null, null, [], CoinsbankApiContext::MODE_SANDBOX);

$headApiGuest = new CoinsbankHead($contextUnauthorized);
$response = $headApiGuest->getData();
$respponseCode = $response->getHttpResponseCode();
$bodyDecoded = $response->getBodyDecoded();

$bitcoinchartApi = new CoinsbankBitcoinchart($contextUnauthorized);
$response = $bitcoinchartApi->getTrades('BTCUSD');
$response = $bitcoinchartApi->getOrderBook('BTCUSD');

$contextAuthorized = new CoinsbankApiContext('{api-key}', '{api-secret}', [], CoinsbankApiContext::MODE_SANDBOX);

$headApiAuth = new CoinsbankHead($contextAuthorized);
$response = $headApiAuth->getData();

$walletApi = new CoinsbankWallet($contextAuthorized);
$response = $walletApi->getList();

$tradeApi = new CoinsbankTrade($contextAuthorized);
$tradeFilter = (new CoinsbankTradeFilter())->setStatus(1);//or array('status' => 1)
$response = $tradeApi->getOrders(0, 50, $tradeFilter, false);
//file_put_contents('orders.pdf', $response->getBody());//e.g. for pdf export
$response = $tradeApi->createOrder('4cdd639f-c214-45', '3cd81170-97cf-4b', 0.001, CoinsbankTrade::COMMISSION_TYPE_FROM, 711.86613, 676.2728, 747.4594);
$response = $tradeApi->getOrder('30c38325-e550-4b');
$response = $tradeApi->cancelOrder('17e9149d-7da5-40');
$response = $tradeApi->updateOrder('30c38325-e550-4b', CoinsbankTrade::ACTION_RESET_SL);
$response = $tradeApi->orderHistory('30c38325-e550-4b');
$response = $tradeApi->getFeeData('4cdd639f-c214-45', '3cd81170-97cf-4b', 0.001, CoinsbankTrade::COMMISSION_TYPE_FROM, CoinsbankTrade::DIRECTION_BUY, 711.86613, 676.2728, 747.4594);

//files processing
$fileApi = new CoinsbankFile($contextAuthorized);
$response = $fileApi->uploadFile('front.jpg', file_get_contents(__DIR__ . '/testFile.jpg'));
$httpCode = $response->getHttpResponseCode();
$filename = $response->getBodyDecoded()[0]['filename'];
$filekey = $response->getBodyDecoded()[0]['key'];
$filenameOriginal = $response->getBodyDecoded()[0]['name'];
$response = $fileApi->getFile($filekey, $filename);
file_put_contents($filenameOriginal, $response->getBody());

//deposits
$depositModelSEPA = (new CoinsbankDepositModel())
    ->setPaymentSystem('SEP')
    ->setAmount(500)
    ->setAccountId('87f8a782-1042-42')
    ->setCurrency('EUR')
    ->setDocumentPersonFront((new CoinsbankFileModel())->setAttachment($filename)->setAttachment_original($filenameOriginal)->setKey($filekey))
    ->setFirstName('John')
    ->setLastName('Doe')
    ->setPayerAccount('Account')
    ->setCountryId(40);
$depositApi = new CoinsbankDeposit($contextAuthorized);
$response = $depositApi->createDeposit($depositModelSEPA);

Installing Coinsbank SDK

The recommended way to install Coinsbank is through Composer.

# Install Composer
curl -sS https://getcomposer.org/installer | php

Next, run the Composer command to install the latest stable version of Coinsbank SDK:

php composer.phar require coinsbank/rest-api-sdk-php

After installing, you need to require Composer's autoloader:

require 'vendor/autoload.php';

You can then later update Coinsbank SDK using composer:

composer.phar update

See:

examples/examples.php
examples/example-curl-new-merchant-invoice.sh

Specification available in Swagger 2.0 file:

reference/coinsbank-sapi.json

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.