vahidkaargar / bamboo-card-portal
This is Bamboocardportal.com package
v0.9.6.2
2023-11-19 09:17 UTC
Requires
- php: >=7.4
- guzzlehttp/guzzle: ^7.2
- illuminate/support: ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0
- josantonius/http-status-code: ^1.0|^2.0
Requires (Dev)
- orchestra/testbench: ^8.10
- phpunit/phpunit: ^10
README
This is a Laravel package for using Bamboo api
What is Bamboo
BAMBOO ELECTRONIC CARDS TRADING LLC is one of the leading Digital Prepaid Products Distributor and Rewards fulfillment agency in the Middle East.
Requirement
- This is a Laravel package
- PHP >= 7.4
Installation
composer require "vahidkaargar/bamboo-card-portal"
Environment
You don't need to publish config with adding these constants to .env
file
BAMBOO_SANDBOX_USERNAME= BAMBOO_SANDBOX_PASSWORD= BAMBOO_SANDBOX_MODE= BAMBOO_PRODUCTION_USERNAME= BAMBOO_PRODUCTION_PASSWORD=
Publish config file
php artisan vendor:publish --tag=bamboo-config
Documentation
Initial
/* * You have two option to call Bamboo api * First way - use helper */ $bamboo = bamboo(); /* * Second way - call class */ use vahidkaargar\BambooCardPortal\Bamboo; $bamboo = new Bamboo(); /* * Bamboo has optional parameters * if you enter these parameters, it overwrites on configs * @param string username * @param string password * @param bool sandbox */ $bamboo = new Bamboo('username', 'password', true); // or use helper $bamboo = bamboo('username', 'password', false);
Catalog
use vahidkaargar\BambooCardPortal\Bamboo; $bamboo = new Bamboo(); $catalogs = $bamboo->catalogs()->get();
Account
use vahidkaargar\BambooCardPortal\Bamboo; $bamboo = new Bamboo(); $account = $bamboo->accounts()->get();
Order
use vahidkaargar\BambooCardPortal\Bamboo; $bamboo = (new Bamboo())->orders(); /* * checkout and create an order * you can add multiple products */ $requestedId = Str::uuid(); $checkout = $bamboo->setRequestId($requestedId) ->setAccountId($accountId) ->setProducts([ ["ProductId" => $productId, "Quantity" => $quantity, "Value" => $value], ["ProductId" => $productId2, "Quantity" => $quantity2, "Value" => $value2], ["ProductId" => $productId3, "Quantity" => $quantity3, "Value" => $value3], ]) ->setProduct($productId4, $quantity4, $value4) ->checkout(); /* * get orders between to date e.g. 2022-05-02 */ $orders = $bamboo->setStartDate('2022-05-02') ->setEndDate('2022-05-20') ->get(); /* * get orders base on $requestedId, its string */ $order = $bamboo->get($requestedId);
Exchange rate
use vahidkaargar\BambooCardPortal\Bamboo; $bamboo = new Bamboo(); $exchange = $bamboo->exchange() ->setBaseCurrency('USD') ->setCurrency('EUR') ->rate();
Transaction
use vahidkaargar\BambooCardPortal\Bamboo; $bamboo = new Bamboo(); /* * get orders between to date e.g. 2022-05-02 */ $transactions = $bamboo->transactions() ->setStartDate('2022-05-02') ->setEndDate('2022-05-20') ->get();
Notification
use vahidkaargar\BambooCardPortal\Bamboo; $bamboo = new Bamboo(); /* * get notification */ $notification = $bamboo->notifications()->get();
Test
./vendor/bin/phpunit