revlenuwe / gearer
MyceliumGear 网关支付处理
1.1.2
2020-12-05 12:45 UTC
Requires
- php: ^7.3|^8.0
- guzzlehttp/guzzle: ^7.2
- illuminate/support: ^6.0|^7.0|^8.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2024-09-05 20:56:14 UTC
README
实现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)。更多信息请参阅 许可文件