revlenuwe / gearer
MyceliumGear gateway payment processing
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-04-05 20:04:31 UTC
README
Implementation MyceliumGear gateway payment processing support for Laravel
For more information check Mycelium Gear
Installation
Via Composer
$ composer require revlenuwe/gearer
Register the service provider and facade if you work with Laravel 5.4:
// config/app.php 'providers' => [ ... Revlenuwe\Gearer\GearerServiceProvider::class, ]; 'aliases' => [ ... Revlenuwe\Gearer\Facades\Gearer::class, ];
For Laravel 5.5+ they will be registered automatically
You can publish the gearer.php
config with:
$ php artisan vendor:publish --provider="Revlenuwe\Gearer\GearerServiceProvider"
Usage
Creating order:
$order = Gearer::createOrder($amount, $lastKeyChainId);
Canceling order:
$result = Gearer::cancelOrder($orderOrPaymentId);
Receiving Last Keychain ID:
$lastKeyChainId = Gearer::getLastKeychainId(); // 1
Checking Order Status Manually:
$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 } */
Order Websocket URL:
$websocketUrl = Gearer::getOrderWebsocketUrl($orderId); // https://gateway.gear.mycelium.com/gateways/:api_gateway_id/orders/:orderId:/websocket
Receiving Order Status Change Callback:
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 ] */ } }
Setting config on the fly:
$gearer = Gearer::setConfig($gatewayId, $gatewaySecret); $lastKeychainId = $gearer->getLastKeychainId();
License
The MIT License (MIT). Please see License File for more information.