plutuss/amember-pro-laravel

aMember allows you to receive and send information about users, products and payments

1.2.2 2024-12-06 17:31 UTC

This package is auto-updated.

Last update: 2025-02-06 17:51:06 UTC


README

Laravel:

 composer require plutuss/amember-pro-laravel
php artisan vendor:publish --provider="Plutuss\AMember\Providers\AMemberServiceProvider"

.env

AMEMBER_URL=http://g00dsdw5vib.amdemo.com/api
AMEMBER_API_KEY=F1dbbZd3453sdfneqdsfhw
#default collection
#collection|array|json
AMEMBER_TYPE_RESPONSE=collection

Use Facade AMember

  • auth()
  • invoice()
  • payment()
  • users()
  • products()
  • refunds()
  • forms()
  • access()
  • affiliate()
<?php

class AMemberController extends Controller
{
    public function index()
    {
      \Plutuss\AMember\Facades\AMember::users()->getUsers();
    }

    public function invoice_all()
    {
      \Plutuss\AMember\Facades\AMember::invoice()->getInvoice();
    }

    public function invoice_by_id()
    {
      \Plutuss\AMember\Facades\AMember::invoice()->getInvoice(8);
    }

    public function auth()
    {
          \Plutuss\AMember\Facades\AMember::auth()->byLoginPass(
            login: 'admin',
            pass: '12341234'
        );
    }

    public function store()
    {

          \Plutuss\AMember\Facades\AMember::users()->addUsers(
            login: 'admin',
            pass: '12341234',
            email: 'admin@admin.com',
            params: [
                'name_f' => 'John',
                'name_l' => 'Smith',
                ...
              ]
          );

    }

    public function update()
    {

          \Plutuss\AMember\Facades\AMember::users()
            ->updateUser(
              id: 8,
              fieldsAndValue: [
                'email' => 'max@admin.com',
                'name_f' => 'Max',
                'name_l' => 'Smith',
              ]
          );

    }



}

Parameters

You can pass additional parameters to control output: Docs

<?php

    public function index()
    {
      \Plutuss\AMember\Facades\AMember::users()->count(12)->page(2)->getUsers();
    }

It is also possible to make a custom query

<?php

    public function index()
    {
      (new AMemberClient())->setOption('/users')
          ->format('json')
          ->filter(['user_id' => 1])
          ->count(12)
          ->sendGet();

        // Or you can
        AMemberClient::getInstance()
          ->setOption('/users')
          ->format('json')
          ->filter(['user_id' => 1])
          ->count(12)
          ->sendGet();
    }

    public function auth()
    {
      (new AMemberClient())->setOption('/check-access/by-login-pass', [
              'login' => 'admin',
              'pass' => '12341234',
          ])->sendPost();

      // Or you can
      AMemberClient::getInstance()
        ->setOption('/check-access/by-login-pass', [
              'login' => 'admin',
              'pass' => '12341234',
        ])->sendPost();

    }