paneedesign/flypme-bundle

Flyp.me API 的 Symfony 扩展包

v1.1.0 2019-01-03 15:33 UTC

This package is not auto-updated.

Last update: 2024-09-15 23:39:11 UTC


README

Flyp.me API 提供的 Symfony 扩展包

安装

composer require paneedesign/flypme-bundle

使用

启用扩展包

<?php
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = [
            // ...

            new PaneeDesign\FlypMeBundle\PedFlypMeBundle(),
        ];

        // ...
    }

    // ...
}

创建客户端

$flypme = $this->get('ped_flyp_me.handler');

调用 API

创建

创建新订单

最后一个参数可以是 "invoiced_amount" 或 "ordered_amount"。

您可以选择在请求中指定目的地和退款地址。

$flypme->orderNew("LTC", "ZEC", "0.02", "t1SBTywpsDMKndjogkXhZZSKdVbhadt3rVt", "LajyQBeZaBA1NkZDeY8YT5RYYVRkXMvb2T", "invoiced_amount");

结果

{
  "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"
}

更新

更新订单

最后一个参数可以是 "invoiced_amount" 或 "ordered_amount"。

您可以选择在请求中指定目的地和退款地址。

$flypme->orderUpdate("1b5929e7-0e6c-44a6-a428-e4db856d880e", "LTC", "ZEC", "0.03", "t1SBTywpsDMKndjogkXhZZSKdVbhadt3rVt", "LajyQBeZaBA1NkZDeY8YT5RYYVRkXMvb2T", "invoiced_amount");

结果

{
  "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"
}

接受

接受订单

通过 uuid 接受订单

$flypme->orderAccept("1b5929e7-0e6c-44a6-a428-e4db856d880e");

结果

{
  "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"
}

检查

通过 uuid 检查订单状态

可能的状态有:WAITING_FOR_DEPOSIT, DEPOSIT_RECEIVED, DEPOSIT_CONFIRMED, EXECUTED, NEEDS_REFUND, REFUNDED, CANCELED 和 EXPIRED。
可能的支付状态有 PENDING, UNDERPAY_RECEIVED, UNDERPAY_CONFIRMED, PAYMENT_RECEIVED, PAYMENT_CONFIRMED, OVERPAY_RECEIVED, OVERPAY_CONFIRMED。有欠付或溢付的订单将由系统退款。

$flypme->orderCheck("1b5929e7-0e6c-44a6-a428-e4db856d880e");

结果

{
    "status": "WAITING_FOR_DEPOSIT",
    "payment_status": "PENDING"
}

当支付处于某种 XXX_RECEIVED 状态时,结果也将包括 'confirmations'。

{
    "confirmations": "3/47",
    "payment_status": "PAYMENT_RECEIVED",
    "status": "DEPOSIT_RECEIVED"
}

当订单处于 EXECUTED 状态时,结果还将包括 'txid' 和 'txurl'。

{
    "payment_status": "PAYMENT_CONFIRMED",
    "status": "EXECUTED",
    "txid": "XXXXX", 
    "txurl": "https://etherscan.io/tx/XXX"
}

信息

获取订单完整信息

$flypme->orderInfo("1b5929e7-0e6c-44a6-a428-e4db856d880e");

结果

{
  "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"
}

当支付处于某种 XXX_RECEIVED 状态时,结果也将包括 'confirmations'。

{
  "order": {
    "uuid": "1b5929e7-0e6c-44a6-a428-e4db856d880e",
    (...)
  },
  (...)
  "confirmations": "47/47"
}

当订单处于 EXECUTED 状态时,结果还将包括 'txid' 和 'txurl'。

{
  "order": {
    "uuid": "1b5929e7-0e6c-44a6-a428-e4db856d880e",
    (...)
  },
  (...)
  "txid": "XXXXX",
  "txurl": "https://etherscan.io/tx/..."
}

取消订单

取消挂起的订单

$flypme->orderCancel("1b5929e7-0e6c-44a6-a428-e4db856d880e");

结果

{
    "result": "ok"
}

添加退款

为没有退款地址的订单添加退款地址

$flypme->addRefund("fc0d5579-5921-4097-8e5c-7e5ec8e7a2ea", "LajyQBeZaBA1NkZDeY8YT5RYYVRkXMvb2T");

结果

{
    "result": "ok"
}

查询汇率

获取汇率

$flypme->dataExchangeRates();

结果

{
    "LTC-BTC": "0.0174777496",
    "BTC-LTC": "55.724760293",
    (...)
    "CREA-FYP": "2.06496",
    "FYP-CREA": "0.3423985733"
}

查询活跃货币

获取可用货币信息

货币需要同时设置交换和发送为 true,才能为无账户交换启用。确认时间是以分钟为单位的预期时间(近似)。其他参数的解释自明。

$flypme->currencies();

结果

{
    "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
    }
}

查询限制

获取 $toCurrency 中的最大和最小限制。要获取 $fromCurrency 中的限制,您必须使用汇率计算。

// $flypme->orderLimits($fromCurrency, $toCurrency)
$flypme->orderLimits('BTC', 'ETH');

结果

{
  "min": "0.006",
  "max": "7.26915022"
}