PHP SDK
Comgate PHP SDK
Tato oficiální PHP knihovna slouží k jednoduché integraci platební brány Comgate do vašich projektů.
Hlavní funkce:
-
Vytváření plateb: Podpora pro různé měny, testovací režim i nastavení metod (karta, převod, Apple Pay atd.).
-
Správa plateb: Snadné ověření stavu platby, provádění refundací (vrácení peněz) a správa opakovaných plateb.
-
Notifikace: Zabudované nástroje pro zpracování potvrzení o platbě (server-to-server), které zajistí bezpečný update objednávky ve vašem systému.
-
CloudPOS: Podpora pro terminálové platby skrze CloudPOS.
Rychlý start:
-
Instalace: Přes Composer příkazem composer require comgate/sdk.
-
Konfigurace: Stačí zadat váš Merchant ID a Secret získaný v portálu Comgate.
-
Prostředí: Vyžaduje PHP s verzí 7.3 a vyšší.
Odkazy a dokumentace:
- GitHub Repozitář: Comgate PHP SDK
Ukázkový kód pro vytvoření 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;
// Setup Klienta
$client = Comgate::defaults()
->setMerchant('123456') // získáte na portal.comgate.cz
->setSecret('foobarbaz') // získáte na portal.comgate.cz
->createClient();
// Vytvořit 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')
// or ->setParam('label', 'Test item') // toto použijete pro nastavení všech parametrů
->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'); // pro opakující platby, nekombinujte s setInitRecurring
try {
// používá se při vytváření opakujících plateb namísto 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());
}