Совсем недавно я писал о модуле оплаты CloudPayments для OpenCart. Сегодняшний пост будет посвящен модулю для Laravel 5 для того же сервиса приема платежей через банковские карты VISA и MasterCard.
Скачать модуль CloudPayments для Laravel 5 можно используя Composer:
composer require albakov/laravelcloudpayments
После установки в массив providers в файле app/config/app.php нужно добавить:
Albakov\LaravelCloudPayments\ServiceProvider::class,
И, для использования фасада, в массив aliases:
‘CloudPayments’ => Albakov\LaravelCloudPayments\Facade::class,
И, наконец, опубликовать конфигурационный файл командой:
php artisan vendor:publish —provider=’Albakov\LaravelCloudPayments\ServiceProvider’ —tag=config
В папке config появится файл cloudpayments.php. Необходимо указать свои данные:
‘apiSecret’ => ‘YOUR_API_SECRET’,
‘publicId’ => ‘YOUR_PUBLICID’,
Теперь можно пользоваться API. Например для оплаты по криптограмме (для одностадийного платежа):
$result = CloudPayments::cardsCharge($array);
Массив $array содержит обязательные и не обязательные поля:
$array = [
'Amount' => $order['amount'], // Обязательно
'Currency' => 'USD', // Обязательно
'Name' => $order['firstname'], // Обязательно
'IpAddress' => getHostByName(getHostName()), // Обязательно
'CardCryptogramPacket' => $CardCryptogramPacket, // Обязательно
'InvoiceId' => $order['orderId'],
'Description' => 'Payment for order №' . $order['orderId'],
'AccountId' => '999',
'Email' => $order['email'],
'JsonData' => json_encode([
'middleName' => $order['lastname'],
'lastName' => $order['surname'],
'phone' => $order['phone'],
]),
];
Остальные методы можно посмотреть в документации CloudPayments https://cloudpayments.ru/Docs/Api
Более подробно смотрите на Guthub: https://github.com/albakov/LaravelCloudPayments