PHP client for Tinkoff REST API.
- PHP 7.0 or above
composer require 'sergey-zatulivetrov/tinkoff-acquiring-client'
use SergeyZatulivetrov\TinkoffAcquiring\Client;
$client = new Client();
$client->init($data);
$client->confirm($data);
$client->cancel($data);
$client->getState($data);
$client->resend($data);
/**
* Class InitData
*
* @property string $TerminalKey
* @property integer $Amount
* @property string $OrderId
* @property string $IP
* @property string $Description
* @property string $Language
* @property string $CustomerKey
* @property string $Recurrent
* @property string $RedirectDueDate
* @property array $DATA
* @property string $NotificationURL
* @property string $SuccessURL
* @property string $FailURL
* @property string $PayType
* @property array $Receipt
*/
/**
* Class ReceiptData
*
* @property array $Items
* @property string $Email
* @property string $Phone
* @property string $EmailCompany
* @property string $Taxation
*/
/**
* Class ItemData
*
* @property string $Name
* @property integer $Price
* @property float $Quantity
* @property integer $Amount
* @property string $PaymentMethod
* @property string $PaymentObject
* @property string $Tax
* @property string $Ean13
* @property string $ShopCode
*/
use SergeyZatulivetrov\TinkoffAcquiring\Constants\PaymentMethod;
use SergeyZatulivetrov\TinkoffAcquiring\Constants\PaymentObject;
use SergeyZatulivetrov\TinkoffAcquiring\Constants\Taxation;
use SergeyZatulivetrov\TinkoffAcquiring\Constants\Vat;
use SergeyZatulivetrov\TinkoffAcquiring\Data\InitData;
use SergeyZatulivetrov\TinkoffAcquiring\Data\ItemData;
use SergeyZatulivetrov\TinkoffAcquiring\Data\ReceiptData;
$data = new InitData();
$data->TerminalKey = "TestB";
$data->Amount = 140000;
$data->OrderId = "21050";
$data->Description = "Подарочная карта на 1400.00 рублей";
$data->DATA = [
"Phone" => "+71234567890",
"Email" => "[email protected]",
];
$item1 = new ItemData();
$item1->Name = "Наименование товара 1";
$item1->Price = 10000;
$item1->Quantity = 1.00;
$item1->Amount = 10000;
$item1->PaymentMethod = PaymentMethod::FULL_PREPAYMENT;
$item1->PaymentObject = PaymentObject::COMMODITY;
$item1->Tax = Vat::VAT10;
$item1->Ean13 = "0123456789";
$item2 = new ItemData();
$item2->Name = "Наименование товара 2";
$item2->Price = 20000;
$item2->Quantity = 2.00;
$item2->Amount = 40000;
$item2->PaymentMethod = PaymentMethod::PREPAYMENT;
$item2->PaymentObject = PaymentObject::SERVICE;
$item2->Tax = Vat::VAT20;
$item3 = new ItemData();
$item3->Name = "Наименование товара 3";
$item3->Price = 30000;
$item3->Quantity = 3.00;
$item3->Amount = 90000;
$item3->Tax = Vat::VAT10;
$receipt = new ReceiptData();
$receipt->Email = "[email protected]";
$receipt->Phone = "+79031234567";
$receipt->EmailCompany = "[email protected]";
$receipt->Taxation = Taxation::OSN;
$receipt->Items = [$item1, $item2, $item3];
$data->Receipt = $receipt;
/**
* Class ConfirmData
*
* @property string $Token
* @property string $TerminalKey
* @property integer $PaymentId
* @property string $IP
* @property integer $Amount
* @property array $Receipt
*/
use SergeyZatulivetrov\TinkoffAcquiring\Data\ConfirmData;
$data = new ConfirmData();
$data->TerminalKey = "TinkoffBankTest";
$data->PaymentId = "2164657";
$data->generateToken("password");
/**
* Class CancelData
*
* @property string $Token
* @property string $TerminalKey
* @property integer $PaymentId
* @property string $IP
* @property integer $Amount
* @property array $Receipt
*/
use SergeyZatulivetrov\TinkoffAcquiring\Data\CancelData;
$data = new CancelData();
$data->TerminalKey = "TinkoffBankTest";
$data->PaymentId = "2164657";
$data->generateToken("password");
/**
* Class GetStateData
*
* @property string $Token
* @property string $TerminalKey
* @property integer $PaymentId
* @property integer $Amount
* @property string $IP
*/
use SergeyZatulivetrov\TinkoffAcquiring\Data\GetStateData;
$data = new GetStateData();
$data->TerminalKey = "TinkoffBankTest";
$data->PaymentId = "2164657";
$data->generateToken("password");
/**
* Class ResendData
*
* @property string $Token
* @property string $TerminalKey
*/
use SergeyZatulivetrov\TinkoffAcquiring\Data\ResendData;
$data = new ResendData();
$data->TerminalKey = "TinkoffBankTest";
$data->generateToken("password");
Copyright (c) Zatulivetrov Sergey. Distributed under the MIT.