Giter Club home page Giter Club logo

alba-client-php's Introduction

Библиотека для работы c Alba

Библиотека содержит два базовых класса AlbaService и AlbaCallback предназначенных для наследования.

AlbaService - сервис в Alba. Позволяет получить список доступных способов оплаты, инициировать транзакцию, получать информацию о ней. Необходимо создать по экземпляру на каждый существующий сервис.

AlbaCallback - обработчик для обратного вызова от Alba. Проверяет подпись и вызывает соответствующий параметру "command" метод.

В процессе работы может сработать исключение AlbaException.

Пример использования для инициации транзакции:

   $service = new AlbaService(<service-id>, '<service-secret>');
   try {
       $service->initPayment('mc', 10, 'Test', '[email protected]', '71111111111');
   } catch (AlbaException $e) {
       echo $e->getMessage();
   }

Пример использования для обратного вызова:

   class MyAlbaCallback extends AlbaCallback {

       public function callbackSuccess($data) {
           // фиксирование успешной транзакции
       }
   }

   $service1 = new AlbaService(<service1-id>, '<service1-secret>');
   $service2 = new AlbaService(<service2-id>, '<service2-secret>');
   $callback = new MyAlbaCallback(array($service1, $service2]));
   $callback->handle(<массив-c-POST-данными>)

Пример использования для проведение рекуррентных платежей:

   $service = new AlbaService(<service-id>, '<service-secret>');
   
   try {
        // Получение токена. 
        // Доступно олько для тех сервисов у которых доступна данная опция
        // Остальные сервисы должны иницировать оплату без использования background API
        $token = $service->createCardToken(
            '4300000000000777', 11, '19', '123', True
        );
        echo "Card token: " . $token;

    } catch (AlbaException $e) {
        echo $e->getMessage();
    }

    try {
        // Инициация первого рекуррентного платежа
        $first_order_id = 'first-' . uniqid();
        $recurrent_params = RecurrentParams::first_pay(
            // Ссылка на подробное описание правил предоставления рекуррентного платежа
            'http://example.com/rules', 
             // Текстовое описание за что производится регистрация РП	
            'Test'
        );
        $service->initPayment(
             'spg_test',
             10,
             'Test',
             '[email protected]',
             '71111111111',
             $first_order_id, 
             'partner',
             $token,
             $recurrent_params
        );
     } catch (AlbaException $e) {
        echo $e->getMessage();
     }

     try {
        // Инициация последующего рекуррентного платежа
        $recurrent_params = RecurrentParams::next_pay(
            // order_id первого рекуррентного платежа
            $first_order_id  
        );
        $service->initPayment(
            'spg_test',
            10,
            'Test',
            '[email protected]',
            '71111111111',
            uniqid(),  // order_id текущего платежа
            'partner',
            $token,
            $recurrent_params
        );
      } catch (AlbaException $e) {
        echo $e->getMessage();
      }

alba-client-php's People

Contributors

pitcons avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.