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:
-
Inštalácia: Cez Composer príkazom composer require comgate/sdk.
-
Konfigurácia: Stačí zadať váš Merchant ID a Secret získaný v portáli Comgate.
-
Prostredie: Vyžaduje PHP verzie 7.3 a vyššej.
Odkazy a dokumentácia:
- GitHub Repozitár: Comgate PHP SDK
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());
}