php-dreamkas
Π€ΠΈΡΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΡΠΈΠΌΠΊΠ°Ρ-Π€ Π΄Π»Ρ PHP 7.0, (*1)
ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΡ
Π²Π΅ΡΡΠΈΠΉ PHP ΠΏΡΠΈΠ΄ΡΡΡΡ ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄ Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ ΡΠΈΠΏΠΎΠ² Ρ ΡΡΠ½ΠΊΡΠΈΠΉ., (*2)
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
composer require devgroup/php-dreamkas
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°
<?php
use DevGroup\Dreamkas\Api;
use DevGroup\Dreamkas\CustomerAttributes;
use DevGroup\Dreamkas\exceptions\ValidationException;
use DevGroup\Dreamkas\Payment;
use DevGroup\Dreamkas\Position;
use DevGroup\Dreamkas\Receipt;
use DevGroup\Dreamkas\TaxMode;
use GuzzleHttp\Exception\ClientException;
/***
* 123 - ID ΠΊΠ°ΡΡΡ
* MODE_MOCK - ΡΠ΅ΠΆΠΈΠΌ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ MODE_MOCK, MODE_PRODUCTION, MODE_MODE_DEBUG
*/
$api = new Api('ACCESS_TOKEN ΠΈΠ· ΠΏΡΠΎΡΠΈΠ»Ρ', 123, Api::MODE_MOCK);
$receipt = new Receipt();
$receipt->taxMode = TaxMode::MODE_SIMPLE;
$receipt->positions[] = new Position([
'name' => 'ΠΠΈΠ»Π΅Ρ - ΡΠ΅ΡΡ',
'quantity' => 2,
'price' => 210000, // ΡΠ΅Π½Π° Π² ΠΊΠΎΠΏΠ΅ΠΉΠΊΠ°Ρ
Π·Π° 1 ΡΡ. ΠΈΠ»ΠΈ 1 Π³ΡΠ°ΠΌΠΌ
]);
$receipt->payments[] = new Payment([
'sum' => 420000, // ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΎΠΏΠ»Π°ΡΡ ΠΏΠΎ ΡΠ΅ΠΊΡ
]);
$receipt->attributes = new CustomerAttributes([
'email' => 'info@devgroup.ru', // ΠΏΠΎΡΡΠ° ΠΏΠΎΠΊΡΠΏΠ°ΡΠ΅Π»Ρ
'phone' => '74996776566', // ΡΠ΅Π»Π΅ΡΠΎΠ½ ΠΏΠΎΠΊΡΠΏΠ°ΡΠ΅Π»Ρ
]);
// ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΡΡΠΌΠΌΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΎΠΌ
// $receipt->calculateSum();
// Π ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π²Π°Π»ΠΈΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊ
// $receipt->validate();
$response = [];
try {
$response = $api->postReceipt($receipt);
} catch (ValidationException $e) {
// ΠΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΈΠ΄Π°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΠ΅ΠΊΠ΅ Π½Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ
} catch (ClientException $e) {
echo $e->getResponse()->getBody();
// ΠΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΈΠ΄Π°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠ΅ΠΊΠ° Π² ΠΡΠΈΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°. ΠΡΡΡΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠ΅ΠΊ Π΅ΡΡ ΡΠ°Π·
// ΠΡΠ»ΠΈ Π±ΡΠ΄ΡΡ Π΄ΡΠ±Π»ΠΈ - ΠΏΠΎΡΠΎΠΌ ΠΎΡΠΌΠ΅Π½ΡΠΉΡΠ΅ ΡΠ΅ΡΠ΅Π· $receipt->type = Receipt::TYPE_REFUND;
}
Made by DevGroup.ru - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ²., (*3)