Skip to main content

PHP SDK

Comgate PHP SDK

Táto oficiálna PHP knižnica slúži na jednoduchú integráciu platobnej brány Comgate do vašich projektov.

Hlavné funkcie:

  • Vytváranie platieb: Podpora pre rôzne meny, testovací režim aj nastavenie metód (karta, prevod, Apple Pay atď.).

  • Správa platieb: Jednoduché overenie stavu platby, vykonávanie refundácií (vrátenie peňazí) a správa opakovaných platieb.

  • Notifikácie: Zabudované nástroje na spracovanie potvrdení o platbe (server-to-server), ktoré zaistia bezpečný update objednávky vo vašom systéme.

  • CloudPOS: Podpora pre terminálové platby cez CloudPOS.

Rýchly štart:

  1. Inštalácia: Cez Composer príkazom composer require comgate/sdk.

  2. Konfigurácia: Stačí zadať váš Merchant ID a Secret získaný v portáli Comgate.

  3. Prostredie: Vyžaduje PHP verzie 7.3 a vyššej.

Odkazy a dokumentácia:

Ukážkový kód na vytvorenie platby:

use Comgate\SDK\Comgate;
use Comgate\SDK\Entity\Codes\CategoryCode;
use Comgate\SDK\Entity\Codes\CurrencyCode;
use Comgate\SDK\Entity\Codes\DeliveryCode;
use Comgate\SDK\Entity\Codes\PaymentMethodCode;
use Comgate\SDK\Entity\Money;
use Comgate\SDK\Entity\Payment;
use Comgate\SDK\Utils\Helpers;
use Comgate\SDK\Entity\Codes\RequestCode;
use Comgate\SDK\Exception\ApiException;

// Nastavenie klienta
$client = Comgate::defaults()
->setMerchant('123456') // získate na portal.comgate.cz
->setSecret('foobarbaz') // získate na portal.comgate.cz
->createClient();

// Vytvoriť platbu
$payment = new Payment();
$payment
->setPrice(Money::ofInt(50)) // 50 CZK
->setPrice(Money::ofFloat(50.25)) // 50,25 CZK
->setPrice(Money::ofCents(5025)) // 50,25 CZK
// -----
->setCurrency(CurrencyCode::CZK)
->setLabel('Test item')
// alebo ->setParam('label', 'Test item') // toto použijete na nastavenie všetkých parametrov
->setReferenceId('test001')
->setEmail('foo@bar.tld')
->addMethod(PaymentMethodCode::ALL)
//->setRedirect()
//->setIframe()
->setTest(false)
->setFullName('Jan Novák')
->setCategory(CategoryCode::PHYSICAL_GOODS_ONLY)
->setDelivery(DeliveryCode::HOME_DELIVERY)
->setInitRecurring(true)
->setInitRecurringId('XXXX-YYYY-ZZZZ'); // pre opakované platby, nekombinujte s setInitRecurring


try {
// používa sa pri vytváraní opakovaných platieb namiesto createPayment
// $createPaymentResponse = $client->initRecurringPayment($payment);
$createPaymentResponse = $client->createPayment($payment);
if ($createPaymentResponse->getCode() === RequestCode::OK) {
Helpers::redirect($createPaymentResponse->getRedirect());
} else {
var_dump($createPaymentResponse->getMessage());
}
} catch (ApiException $e) {
var_dump($e->getMessage());
}