Проект предполагает через установку с использованием composer.
composer require payprocessing/phpsdk
Для работы тестов необходим PHPUnit, для установки необходимо выполнить команду
composer require phpunit/phpunit
Запустить unit тесты можно выполнив команду из корня проекта
vendor/bin/phpunit tests/unit
Для того, чтобы запустить интеграционные тесты нужно скопировать файл tests/integration/MerchantSettingsSample.php удалив из названия Sample и вставив настройки магазина. После выполнить команду из корня проекта
vendor/bin/phpunit tests/integration
$client = new Platron\PhpSdk\request\clients\PostClient('82', 'sdvsfdvsfdvsdv');
try {
$requestBuilder = new Platron\PhpSdk\request\request_builders\InitPaymentBuilder('10.00', 'Test transaction');
$requestBuilder->addTestingMode()
->addUserEmail('test@test.ru')
->addUserPhone('79055770000')
->addPaymentSystem('TEST');
$response = $client->request($requestBuilder);
}
catch (Platron\PhpSdk\Exception\Exception $e){
var_dump($e);
die();
}
$client = new Platron\PhpSdk\request\clients\PostClient('82', 'sdvsfdvsfdvsdv');
try {
$requestBuilder = new Platron\PhpSdk\request\request_builders\GetRegistryBuilder(new DateTime('now - 1 day'));
$response = $client->request($requestBuilder);
} catch (Platron\PhpSdk\Exception $e) {
var_dump($e);
die();
}
$client = new Platron\PhpSdk\request\clients\PostClient('82', 'sdvsfdvsfdvsdv');
try {
$requestBuilder = new Platron\PhpSdk\request\request_builders\DoCaptureBuilder(323334422);
$response = $client->request($requestBuilder);
} catch (Exception $e) {
var_dump($e);
die();
}
$order_available = 1;
$callback = new platron_sdk\callback\Callback('platron_dispatch.php', 'sdvsfdvsfdvsdv');
if ($callback->validateSig($request)) {
try {
if ($order_available) {
echo $callback->responseOk($request);
} elseif ($callback->canReject($request)) {
echo $callback->responseRejected($request, 'Заказ недоступен');
} else {
echo $callback->responseOk($request);
/*
* Вернуть транзакцию через манибек систему или через заявку на возврат
*/
}
} catch (Platron\PhpSdk\samples $e) {
echo $callback->responseError($request, 'Невозможно принять запрос. Повторите еще раз');
}
}
$order_available - вместо переменной долже быть метод, проверящий - доступен ли для оплаты заказ