paneedesign / flypme-bundle
Flyp.me API 的 Symfony 扩展包
Requires
- php: >=7.0.0
- ext-curl: *
- ext-json: *
- mashape/unirest-php: ^3.0
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"
}