revlenuwe/gearer

MyceliumGear 网关支付处理

1.1.2 2020-12-05 12:45 UTC

This package is auto-updated.

Last update: 2024-09-05 20:56:14 UTC


README

GEAR

实现MyceliumGear网关支付处理对Laravel的支持

更多信息请查看 Mycelium Gear

安装

通过Composer

$ composer require revlenuwe/gearer

如果您使用Laravel 5.4,请注册服务提供者和外观

// config/app.php

'providers' => [
    ...
    Revlenuwe\Gearer\GearerServiceProvider::class,
];


'aliases' => [
    ...
    Revlenuwe\Gearer\Facades\Gearer::class,
];

对于Laravel 5.5+,它们将自动注册

您可以使用以下命令发布 gearer.php 配置

$ php artisan vendor:publish --provider="Revlenuwe\Gearer\GearerServiceProvider"

用法

创建订单
$order = Gearer::createOrder($amount, $lastKeyChainId);
取消订单
$result = Gearer::cancelOrder($orderOrPaymentId);
接收最后一个钱包ID
$lastKeyChainId = Gearer::getLastKeychainId();

// 1
手动检查订单状态
$orderData = Gearer::checkOrderStatusManually($paymentId);

/*
{
  "status": 2,
  "amount": 7894000,
  "address": "1NZov2nm6gRCGW6r4q1qHtxXurrWNpPr1q",
  "transaction_ids": ["f0f9205e41bf1b79cb7634912e86bb840cedf8b1d108bd2faae1651ca79a5838"],
  "id": 1,
  "payment_id": "y78033435ea02f024f9abdfd04adabe314a322a0d353c33beb3acb7d97f1bdeb",
  "amount_in_btc": "0.07894",
  "amount_paid_in_btc": "0.07894",
  "keychain_id": 3,
  "last_keychain_id": 3
}
*/
订单WebSocket URL
$websocketUrl = Gearer::getOrderWebsocketUrl($orderId);


// https://gateway.gear.mycelium.com/gateways/:api_gateway_id/orders/:orderId:/websocket
接收订单状态变更回调
public function handleCallback(Request $request)
{
    //Passing $request is optional
    $order = Gearer::handleOrderStatusCallback($request);

    if($order !== false){
        /*
        [
          "status": 2,
          "amount": 7894000,
          "address": "1NZov2nm6gRCGW6r4q1qHtxXurrWNpPr1q",
          "transaction_ids": ["f0f9205e41bf1b79cb7634912e86bb840cedf8b1d108bd2faae1651ca79a5838"],
          "id": 1,
          "payment_id": "y78033435ea02f024f9abdfd04adabe314a322a0d353c33beb3acb7d97f1bdeb",
          "amount_in_btc": "0.07894",
          "amount_paid_in_btc": "0.07894",
          "keychain_id": 3,
          "last_keychain_id": 3
        ]
        */
    }
}
动态设置配置
$gearer = Gearer::setConfig($gatewayId, $gatewaySecret);

$lastKeychainId = $gearer->getLastKeychainId();

许可

MIT许可(MIT)。更多信息请参阅 许可文件