Sample code for 30+ languages & platforms
PHP ActiveX

Bitfinex v2 REST Submit Order

See more Bitfinex v2 REST Examples

Submit an order.

Chilkat PHP ActiveX Downloads

PHP ActiveX
<?php

$success = 0;

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

$http = new COM("Chilkat.Http");

$crypt = new COM("Chilkat.Crypt2");

$apiPath = 'v2/auth/w/order/submit';
$apiKey = 'MY_API_KEY';
$apiSecret = 'MY_API_SECRET';

$dt = new COM("Chilkat.CkDateTime");
$dt->SetFromCurrentSystemTime();

$sbNonce = new COM("Chilkat.StringBuilder");
$sbNonce->Append($dt->getAsUnixTimeStr(0));
$sbNonce->Append('000');
$nonce = $sbNonce->getAsString();

$json = new COM("Chilkat.JsonObject");
$json->UpdateString('type','LIMIT');
$json->UpdateString('symbol','tBTCUSD');
$json->UpdateString('price','15');
$json->UpdateString('amount','0.001');
$json->UpdateInt('flags',0);
$body = $json->emit();

$sbSignature = new COM("Chilkat.StringBuilder");
$sbSignature->Append('/api/');
$sbSignature->Append($apiPath);
$sbSignature->Append($nonce);
$sbSignature->Append($body);

$crypt->EncodingMode = 'hex_lower';
$crypt->HashAlgorithm = 'sha384';
$crypt->MacAlgorithm = 'hmac';
$crypt->SetMacKeyString($apiSecret);

$sig = $crypt->macStringENC($sbSignature->getAsString());

$http->SetRequestHeader('bfx-apikey',$apiKey);
$http->SetRequestHeader('bfx-signature',$sig);
$http->SetRequestHeader('bfx-nonce',$nonce);

$resp = new COM("Chilkat.HttpResponse");
$success = $http->HttpStr('POST','https://api.bitfinex.com/v2/auth/w/order/submit',$body,'utf-8','application/json',$resp);
if ($success == 0) {
    print $http->LastErrorText . "\n";
    exit;
}

print 'Response body:' . "\n";
print $resp->BodyStr . "\n";

?>