2017 © Pedro Peláez
 

library php_uapay

Library for UAPAY service integration

image

dshovchko/php_uapay

Library for UAPAY service integration

  • Friday, December 29, 2017
  • by dshovchko
  • Repository
  • 1 Watchers
  • 3 Stars
  • 17 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 31 % Grown

The README.md

Build Status Scrutinizer Code Quality Coverage Status, (*1)

php_UAPAY

PHP бібліотека, що надає інтерфейс для взаємодії c API інтернет еквайрингу UAPAY., (*2)

Встановлення

composer require dshovchko/php_uapay

Зауваження

На данний час бібліотека реалізує використання операцій з типом списання PAY "списання". Операції пов’язані з типом HOLD виконати за допомогою бібліотеки неможливо., (*3)

Використання

Тип списання PAY дозволяє виконати операції створення сесії, створення замовлення, скасування замовлення, перегляд інформації по раніше зробленому замовленню. А також отримувати інформування про платіж., (*4)

Процес поповнення рахунку складається з наступних кроків:, (*5)

  • спочатку ви маєте створити сесію в системі UAPAY;
  • якщо буде створено сесію, то далі маєте створити замовлення;
  • якщо замовлення буде успішно створене, то ви у відповіді отримаєте URL для редіректа на сторінку оплати;
  • далі робите перехід на отриманий URL (все, тепер ваша система далі не контролює процесс);
  • на сторінці оплати робиться платіж;
  • далі керування повертається до вас через інформування про платіж.

Створимо конфігураційний файл:, (*6)

<?php

// Для визначення шляхів до файлів ключів
return array(
    'clientId'      => '1234',
    'api_uri'       => 'https://api.demo.uapay.ua',
    'jwt'       => array(
        'using'     => true,
        'UAPAY_pubkey'  => 'uapay.pub',
        'our_privkey'   => 'private.pem',
        'key_type'  => Key::KEYS_IN_FILES,
        'algorithm' => 'RS512'
    )
);

// Для завдання значень ключів
return array(
    'clientId'      => '1234',
    'api_uri'       => 'https://api.demo.uapay.ua',
    'jwt'       => array(
        'using'     => true,
        'UAPAY_pubkey'  => 'AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTBWD ...',
        'our_privkey'   => 'BlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSl ...',
        'key_type'  => Key::KEYS_IN_VALUES,
        'algorithm' => 'HS256',
    )
);

Створимо файл ініціалізації журналювання:, (*7)

<?php

namespace UAPAY;

Log::set(new Logger(
    realpath('каталог з логами'.DIRECTORY_SEPARATOR,    // log path
    'uapay',    // prefix for log files (default 'my')
    true        // enable/disable debug (default false)
));

Тепер файл створення сесії, замовлення та отриманя URL сторінки оплати:, (*8)

<?php

require 'vendor/autoload.php';
require 'щлях до файла ініціалізації журналювання';

$options = include('шлях до конфігураційного файлу');

try
{
    /**
     *      session create BEGIN
     */
    $request = new \UAPAY\Sessions\Create\Request($options);
    $response = $request->send();

    $sesid = $response->id();
    /**
     *      session create END
     */

    /**
     *      create session in your system
     */
    //
    // тут записуємо сесію в нашій системі
    // та створюємо масив $data
    // зміст масива, це структура payLoad object
    // дивись в описі API UAPAY

    /**
     *      order create BEGIN
     */
    $request = new \UAPAY\Orders\Create\Request($options);
    $request->sessionId($sesid);
    $request->data($data);
    $response = $request->send();

    $orderid = $response->id();
    /**
     *      order create END
     */

    /**
     *      update session data with order id
     */
    // тут поновлюємо дані в нашій системі
    // додаємо дані замовлення

    /**
     *      generate return data
     */
    $ret = array(
        'status' => 1,
        'paymentPageUrl' => $response->paymentPageUrl()
    );
}
catch (\Exception $e)
{
    /**
     *      Attention! Got an error!
     */
    UAPAY\Log::instance()->add('an error occured during a request');

    $ret = array(
        'status' => 0,
        'error' => 'an error occured during a request'
    );
}

/**
 *      Return json
 */
ob_clean();
header("Content-Type: application/json; charset=utf-8");
echo json_encode($ret);
exit;

Нарешті файл який викликається при інформуванні про платіж., (*9)

require 'vendor/autoload.php';
require 'щлях до файла ініціалізації журналювання';

$options = include('шлях до конфігураційного файлу');

try
{
    /**
     *      get callback data
     */
    $request = new \UAPAY\Callback($options);

    /**
     *      update session data with callback data
     */
    // обвлюємо дані у нашій системі
    // та зараховуємо платіж на баланс
}
catch (\Exception $e)
{
    /**
     *      Attention! Got an error!
     */
    UAPAY\Log::instance()->add('an error occured during a callback request');
}

The Versions

29/12 2017

dev-master

9999999-dev https://github.com/dshovchko/php_UAPAY

Library for UAPAY service integration

  Sources   Download

MIT

The Requires

 

The Development Requires

by Dmitry Shovchko

uapay uapay.ua

27/11 2017

1.0.1

1.0.1.0 https://github.com/dshovchko/php_UAPAY

Library for UAPAY service integration

  Sources   Download

MIT

The Requires

 

The Development Requires

by Dmitry Shovchko

uapay uapay.ua

26/11 2017

1.0.0

1.0.0.0 https://github.com/dshovchko/php_UAPAY

Library for UAPAY service integration

  Sources   Download

MIT

The Requires

 

The Development Requires

by Dmitry Shovchko

uapay uapay.ua