abeta-io / abeta-punchout
Abeta extension for Laravel
dev-main
2023-12-10 12:22 UTC
Requires
- php: ~7.0|~8.0
Requires (Dev)
- phpunit/phpunit: ^8.1
This package is auto-updated.
Last update: 2024-09-10 13:54:16 UTC
README
The official Laravel plugin for Abeta. Offer OCI and cXML PunchOut quickly and easily with Abeta. Connect with procurement systems / ERPs such as Coupa, Oracle and Sap Ariba. Increase the turnover of existing customers or acquire new customers with the help of B2B connections.
Installation
Install via composer:
composer require abeta-io/laravel
Quick start
Using the class
use AbetaIO\Laravel\AbetaPunchout; // Don't forget to make the necessary changes to your VerifyCsrfToken file! //Create an endpoint for the setupRequest Route::post('/abeta-setup-request', function (Request $request) { return AbetaPunchout::setupRequest($request); }); //Create an endpoint for a login Route::post('/abeta-login', function (Request $request) { $loggedInUser = AbetaPunchout::login($request); // redirect logged in user to shop }); //Create an endpoint for a login Route::post('/abeta-cart', function (Request $request) { //Return Cart and Product Model or Array to Abeta $returned = AbetaPunchout::returnCart($cart, $products); //Return Customer to Abeta return AbetaPunchout::returnCustomer(); });
Use the global helper to check if a user is a PunchOut user
if( is_abeta_punchout_user() ) { //show button to abeta return cart } else { //show regulal checkout button }
Using other model than User model
Want to use another model than Laravels default User model? Create a config file called abeta.php (in the config/ folder). After that replace the desired values by your own.
<?php /* * Configuration of the Abeta Punchout Package, used to offer OCI and cXML via the Abeta Middleware. */ return [ /* * Customer model, used to select customer from. */ 'customerModel' => '\App\Models\User', /* * Auth provider */ 'auth' => '\Illuminate\Support\Facades\Auth', /* * String, representing database column of username */ 'username' => 'email', /* * String, representing database column of password */ 'password' => 'password', ];