A PHP wrapper for Flyp.me APIs
composer require vittominacori/flypme-php
require __DIR__ . '/vendor/autoload.php';
use \FlypMe\FlypMe;
$flypme = new FlypMe();
Create a new order
Last param could be "invoiced_amount" or "ordered_amount".
You can optionally specify destination and refund_address on the request.
$flypme->orderNew("LTC", "ZEC", "0.02", "t1SBTywpsDMKndjogkXhZZSKdVbhadt3rVt", "LajyQBeZaBA1NkZDeY8YT5RYYVRkXMvb2T", "invoiced_amount");
result:
{
"order": {
"uuid": "1b5929e7-0e6c-44a6-a428-e4db856d880e",
"destination": "t1SBTywpsDMKndjogkXhZZSKdVbhadt3rVt",
"exchange_rate": "0.5403268038",
"ordered_amount": "0.00980653",
"invoiced_amount": "0.02",
"charged_fee": "0.001",
"from_currency": "LTC",
"to_currency": "ZEC"
},
"expires": 1199,
"refund_address": "LajyQBeZaBA1NkZDeY8YT5RYYVRkXMvb2T"
}
Update an order
Last param could be "invoiced_amount" or "ordered_amount".
You can optionally specify destination and refund_address on the request.
$flypme->orderUpdate("1b5929e7-0e6c-44a6-a428-e4db856d880e", "LTC", "ZEC", "0.03", "t1SBTywpsDMKndjogkXhZZSKdVbhadt3rVt", "LajyQBeZaBA1NkZDeY8YT5RYYVRkXMvb2T", "invoiced_amount");
result:
{
"order": {
"uuid": "1b5929e7-0e6c-44a6-a428-e4db856d880e",
"destination": "t1SBTywpsDMKndjogkXhZZSKdVbhadt3rVt",
"exchange_rate": "0.5292734791",
"ordered_amount": "0.0148782",
"invoiced_amount": "0.03",
"charged_fee": "0.001",
"from_currency": "LTC",
"to_currency": "ZEC"
},
"expires": 1199,
"refund_address": "LajyQBeZaBA1NkZDeY8YT5RYYVRkXMvb2T"
}
Accept an order
Accept an order by uuid
$flypme->orderAccept("1b5929e7-0e6c-44a6-a428-e4db856d880e");
result:
{
"order": {
"uuid": "1b5929e7-0e6c-44a6-a428-e4db856d880e",
"destination": "t1SBTywpsDMKndjogkXhZZSKdVbhadt3rVt",
"exchange_rate": "0.5292734791",
"ordered_amount": "0.0148782",
"invoiced_amount": "0.03",
"charged_fee": "0.001",
"from_currency": "LTC",
"to_currency": "ZEC"
},
"expires": 1053,
"deposit_address": "MHoWWcJzNH4aWUKvrtMwpqMggRRBsvB7va",
"refund_address": "LajyQBeZaBA1NkZDeY8YT5RYYVRkXMvb2T"
}
Check order status by uuid
Possible status are: WAITING_FOR_DEPOSIT, DEPOSIT_RECEIVED, DEPOSIT_CONFIRMED, EXECUTED, NEEDS_REFUND, REFUNDED, CANCELED and EXPIRED.
Possible payment_status are PENDING, UNDERPAY_RECEIVED, UNDERPAY_CONFIRMED, PAYMENT_RECEIVED, PAYMENT_CONFIRMED, OVERPAY_RECEIVED, OVERPAY_CONFIRMED. Orders with underpay or overpay will be refunded by the system.
$flypme->orderCheck("1b5929e7-0e6c-44a6-a428-e4db856d880e");
result:
{
"status": "WAITING_FOR_DEPOSIT",
"payment_status": "PENDING"
}
Result will also include 'confirmations' when the payment is in some XXX_RECEIVED status.
{
"confirmations": "3/47",
"payment_status": "PAYMENT_RECEIVED",
"status": "DEPOSIT_RECEIVED"
}
Result will also include 'txid' and 'txurl' when the order is EXECUTED.
{
"payment_status": "PAYMENT_CONFIRMED",
"status": "EXECUTED",
"txid": "XXXXX",
"txurl": "https://etherscan.io/tx/XXX"
}
Get order full info
$flypme->orderInfo("1b5929e7-0e6c-44a6-a428-e4db856d880e");
result:
{
"order": {
"uuid": "1b5929e7-0e6c-44a6-a428-e4db856d880e",
"destination": "t1SBTywpsDMKndjogkXhZZSKdVbhadt3rVt",
"exchange_rate": "0.5292734791",
"ordered_amount": "0.0148782",
"invoiced_amount": "0.03",
"charged_fee": "0.001",
"from_currency": "LTC",
"to_currency": "ZEC"
},
"expires": 961,
"status": "WAITING_FOR_DEPOSIT",
"payment_status": "PENDING",
"deposit_address": "MHoWWcJzNH4aWUKvrtMwpqMggRRBsvB7va",
"refund_address": "LajyQBeZaBA1NkZDeY8YT5RYYVRkXMvb2T"
}
Result will also include 'confirmations' when the payment is in some XXX_RECEIVED status.
{
"order": {
"uuid": "1b5929e7-0e6c-44a6-a428-e4db856d880e",
(...)
},
(...)
"confirmations": "47/47"
}
Result will also include 'txid' and 'txurl' when the order is EXECUTED.
{
"order": {
"uuid": "1b5929e7-0e6c-44a6-a428-e4db856d880e",
(...)
},
(...)
"txid": "XXXXX",
"txurl": "https://etherscan.io/tx/..."
}
Cancel a pending order
$flypme->orderCancel("1b5929e7-0e6c-44a6-a428-e4db856d880e");
result:
{
"result": "ok"
}
Add a refund address for orders not having one
$flypme->addRefund("fc0d5579-5921-4097-8e5c-7e5ec8e7a2ea", "LajyQBeZaBA1NkZDeY8YT5RYYVRkXMvb2T");
result:
{
"result": "ok"
}
Get exchange rates
$flypme->dataExchangeRates();
result:
{
"LTC-BTC": "0.0174777496",
"BTC-LTC": "55.724760293",
(...)
"CREA-FYP": "2.06496",
"FYP-CREA": "0.3423985733"
}
Get available currencies information
A currency needs to have both exchange and send set to true to be enabled for the accountless exchange. Confirmation time is the expected time in minutes (approximate). Other parameters are self explanatory.
$flypme->currencies();
result:
{
"BTC": {
"code": "BTC",
"precision": 8,
"display_precision": 4,
"created_at": "2014-02-04T02:28:37.000Z",
"updated_at": "2017-12-12T17:03:52.000Z",
"name": "Bitcoin",
"website": "https://bitcoin.org/",
"confirmation_time": 20,
"default": false,
"charged_fee": "0.0008",
"currency_type": "CRYPTO",
"exchange": true,
"send": true
},
(...)
"ZEC": {
"code": "ZEC",
"precision": 8,
"display_precision": 4,
"created_at": "2017-02-24T11:41:27.000Z",
"updated_at": "2017-12-12T14:44:02.000Z",
"name": "Zcash",
"website": "https://z.cash/",
"confirmation_time": 5,
"default": false,
"charged_fee": "0.0008",
"currency_type": "CRYPTO",
"exchange": true,
"send": true
}
}
Get max and min limits in $toCurrency. To get the limits in $fromCurrency you must calculate it using the exchange rate.
// $flypme->orderLimits($fromCurrency, $toCurrency)
$flypme->orderLimits('BTC', 'ETH');
result:
{
"min": "0.006",
"max": "7.26915022"
}
Code released under the MIT License.