/MaibApi

Moldova Agroindbank php sdk api

Primary LanguagePHP

MaibAPI

Maib online payments php SDK

Installing

composer require fruitware/maib-api

Usage

namespace MyProject;
require_once(__DIR__ . '/vendor/autoload.php');

use Fruitware\MaibApi\MaibClient;
use Fruitware\MaibApi\MaibDescription;
use GuzzleHttp\Client;
use GuzzleHttp\Subscriber\Log\Formatter;
use GuzzleHttp\Subscriber\Log\LogSubscriber;
use Monolog\Handler\StreamHandler;
use Monolog\Logger;

//set options
$options = [
	'base_url' => 'https://ecomm.maib.md:4455',
	'debug'  => true,
	'verify' => true,
	'defaults' => [
		'verify' => true,
		'cert'    => [__DIR__.'/cert/pcert.pem', 'Pem_pass'],
		'ssl_key' => __DIR__.'/cert/key.pem',
		'config'  => [
			'curl'  =>  [
				CURLOPT_SSL_VERIFYHOST => true,
				CURLOPT_SSL_VERIFYPEER => true,
			]
		]
	],
];

// init Client
$guzzleClient = new Client($options);

// create a log for client class, if you want (monolog/monolog required)
$log = new Logger('maib_guzzle_request');
$log->pushHandler(new StreamHandler(__DIR__.'/logs/maib_guzzle_request.log', Logger::DEBUG));
$subscriber = new LogSubscriber($log, Formatter::SHORT);

$client = new MaibClient($guzzleClient);
$client->getHttpClient()->getEmitter()->attach($subscriber);
// examples

//register sms transaction
var_dump($client->registerSmsTransaction('1', 978, '127.0.0.1', '', 'ru'));

//register dms authorization
var_dump($client->registerDmsAuthorization('1', 978, '127.0.0.1', '', 'ru'));

//execute dms transaction
var_dump($client->makeDMSTrans('1', '1', 978, '127.0.0.1', '', 'ru'));

//get transaction result
var_dump($client->getTransactionResult('1', '127.0.0.1'));

//revert transaction
var_dump($client->revertTransaction('1', '1'));

//close business day
var_dump($client->closeDay());