coderok / tinkoff-aquaring
Тинькофф aquaring api
dev-master
2022-09-28 16:35 UTC
Requires
- php: ^7.1 || ^8.0
This package is auto-updated.
Last update: 2024-09-28 20:56:04 UTC
README
为 Тинькофф 银行提供互联网支付接收的库。
功能
- 生成商品支付 URL
- 支付确认
- 查看支付状态
- 取消支付
安装
使用 Composer
composer require coderok/tinkoff-aquaring
在控制器中连接
use Coderok\TinkoffAquaring;
使用示例
1. 初始化
$api = new TinkoffAquaring( 'xxxxxxxxxxxxxxxxx', //Ваш Terminal_Key 'xxxxxxxxxxxxxxxxx' //Ваш Secret_Key );
2. 获取支付 URL
//Подготовка массива с данными об оплате $email = 'test@test.com'; $emailCompany = 'testCompany@test.com'; $phone = '89179990000'; $taxations = [ 'osn' => 'osn', // Общая СН 'usn_income' => 'usn_income', // Упрощенная СН (доходы) 'usn_income_outcome' => 'usn_income_outcome', // Упрощенная СН (доходы минус расходы) 'envd' => 'envd', // Единый налог на вмененный доход 'esn' => 'esn', // Единый сельскохозяйственный налог 'patent' => 'patent' // Патентная СН ]; $paymentMethod = [ 'full_prepayment' => 'full_prepayment', //Предоплата 100% 'prepayment' => 'prepayment', //Предоплата 'advance' => 'advance', //Аванc 'full_payment' => 'full_payment', //Полный расчет 'partial_payment' => 'partial_payment', //Частичный расчет и кредит 'credit' => 'credit', //Передача в кредит 'credit_payment' => 'credit_payment', //Оплата кредита ]; $paymentObject = [ 'commodity' => 'commodity', //Товар 'excise' => 'excise', //Подакцизный товар 'job' => 'job', //Работа 'service' => 'service', //Услуга 'gambling_bet' => 'gambling_bet', //Ставка азартной игры 'gambling_prize' => 'gambling_prize', //Выигрыш азартной игры 'lottery' => 'lottery', //Лотерейный билет 'lottery_prize' => 'lottery_prize', //Выигрыш лотереи 'intellectual_activity' => 'intellectual_activity', //Предоставление результатов интеллектуальной деятельности 'payment' => 'payment', //Платеж 'agent_commission' => 'agent_commission', //Агентское вознаграждение 'composite' => 'composite', //Составной предмет расчета 'another' => 'another', //Иной предмет расчета ]; $vats = [ 'none' => 'none', // Без НДС 'vat0' => 'vat0', // НДС 0% 'vat10' => 'vat10', // НДС 10% 'vat20' => 'vat20' // НДС 20% ]; $enabledTaxation = true; $amount = 1000 * 100; $receiptItem = [[ 'Name' => 'product1', 'Price' => 200 * 100, 'Quantity' => 2, 'Amount' => 200 * 2 * 100, 'PaymentMethod' => $paymentMethod['full_prepayment'], 'PaymentObject' => $paymentObject['service'], 'Tax' => $vats['none'] ], [ 'Name' => 'product2', 'Price' => 500 * 100, 'Quantity' => 1, 'Amount' => 500 * 100, 'PaymentMethod' => $paymentMethod['full_prepayment'], 'PaymentObject' => $paymentObject['service'], 'Tax' => $vats['vat10'] ], [ 'Name' => 'shipping', 'Price' => 100 * 100, 'Quantity' => 1, 'Amount' => 100 * 100, 'PaymentMethod' => $paymentMethod['full_prepayment'], 'PaymentObject' => $paymentObject['service'], 'Tax' => $vats['vat20'], ]]; //подготовка массива с покупками $receipt = [ 'EmailCompany' => $emailCompany, 'Email' => $email, 'Taxation' => $taxations['osn'], 'Items' => balanceAmount($isShipping, $receiptItem, $amount), ]; //Получение url для оплаты $params = [ 'OrderId' => 200001, 'Amount' => $amount, 'DATA' => [ 'Email' => $email, 'Connection_type' => 'example' ], ]; if ($enabledTaxation) { $params['Receipt'] = $receipt; } $api->init($params);
3. 获取支付状态
$params = [ 'PaymentId' => '1816627256', ]; $api->getState($params);