PHP code example of struzik-vladislav / epp-ext-iddigital-charge
1. Go to this page and download the library: Download struzik-vladislav/epp-ext-iddigital-charge library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
struzik-vladislav / epp-ext-iddigital-charge example snippets
use Psr\Log\NullLogger;
use Struzik\EPPClient\EPPClient;
use Struzik\EPPClient\Extension\IdDigital\Charge\ChargeExtension;
use Struzik\EPPClient\Extension\IdDigital\Charge\Request\Addon\ChargeAgreement;
use Struzik\EPPClient\Extension\IdDigital\Charge\Response\Addon\ChargeCheckData;
use Struzik\EPPClient\Extension\IdDigital\Charge\Response\Addon\ChargeCreateData;
use Struzik\EPPClient\Extension\IdDigital\Charge\Response\Addon\ChargeInfoData;
use Struzik\EPPClient\Extension\IdDigital\Charge\Response\Addon\ChargeRenewData;
use Struzik\EPPClient\Extension\IdDigital\Charge\Response\Addon\ChargeTransferData;
use Struzik\EPPClient\Extension\IdDigital\Charge\Response\Addon\ChargeUpdateData;
use Struzik\EPPClient\Extension\RGP\Request\RGPRequestRestoreRequest;
use Struzik\EPPClient\Node\Domain\DomainContactNode;
use Struzik\EPPClient\Node\Domain\DomainPeriodNode;
use Struzik\EPPClient\Request\Domain\CheckDomainRequest;
use Struzik\EPPClient\Request\Domain\CreateDomainRequest;
use Struzik\EPPClient\Request\Domain\InfoDomainRequest;
use Struzik\EPPClient\Request\Domain\RenewDomainRequest;
use Struzik\EPPClient\Request\Domain\RequestDomainTransferRequest;
// ...
$client->pushExtension(new ChargeExtension('http://www.unitedtld.com/epp/charge-1.0', new NullLogger()));
// ...
/**
* Domain check example.
*/
$request = new CheckDomainRequest($client);
$request->addDomain('premium.tld');
$response = $client->send($request);
$checkDomainAddon = $response->findExtAddon(ChargeCheckData::class);
if ($checkDomainAddon instanceof ChargeCheckData and $checkDomainAddon->isExistsChargeData('premium.tld')) {
$category = $checkDomainAddon->getCategory('premium.tld');
$categoryName = $checkDomainAddon->getCategoryName('premium.tld');
$type = $checkDomainAddon->getType('premium.tld');
$createAmount = $checkDomainAddon->getCreateAmount('premium.tld');
$renewAmount = $checkDomainAddon->getRenewAmount('premium.tld');
$transferAmount = $checkDomainAddon->getTransferAmount('premium.tld');
$restoreAmount = $checkDomainAddon->getRestoreAmount('premium.tld');
}
/**
* Domain info example.
*/
$request = new InfoDomainRequest($client);
$request->setDomain('premium.tld');
$response = $client->send($request);
$infoDomainAddon = $response->findExtAddon(ChargeInfoData::class);
if ($infoDomainAddon instanceof ChargeInfoData) {
$category = $infoDomainAddon->getCategory();
$categoryName = $infoDomainAddon->getCategoryName();
$type = $infoDomainAddon->getType();
$createAmount = $infoDomainAddon->getCreateAmount();
$renewAmount = $infoDomainAddon->getRenewAmount();
$transferAmount = $infoDomainAddon->getTransferAmount();
$restoreAmount = $infoDomainAddon->getRestoreAmount();
}
/**
* Domain create example.
*/
$request = new CreateDomainRequest($client);
$request->setDomain('premium.tld');
$request->setPeriod(1);
$request->setUnit(DomainPeriodNode::UNIT_YEAR);
$request->setRegistrant('abc123');
$request->setContacts([
DomainContactNode::TYPE_ADMIN => 'abc123',
DomainContactNode::TYPE_TECH => 'abc123',
]);
$request->setPassword('2fooBAR');
$agreementAddon = (new ChargeAgreement())
->setCategory('premium')
->setCategoryName('AAA')
->setType('price')
->setCreateAmount('25.00');
$request->addExtAddon($agreementAddon);
$response = $client->send($request);
$createDomainAddon = $response->findExtAddon(ChargeCreateData::class);
if ($createDomainAddon instanceof ChargeCreateData) {
$category = $createDomainAddon->getCategory();
$categoryName = $createDomainAddon->getCategoryName();
$type = $createDomainAddon->getType();
$createAmount = $createDomainAddon->getCreateAmount();
$renewAmount = $createDomainAddon->getRenewAmount();
$transferAmount = $createDomainAddon->getTransferAmount();
$restoreAmount = $createDomainAddon->getRestoreAmount();
}
/**
* Domain renew example.
*/
$request = new RenewDomainRequest($client);
$request->setDomain('premium.tld');
$request->setExpiryDate(DateTime::createFromFormat('!Y-m-d', '2023-01-01'));
$request->setPeriod(1);
$request->setUnit(DomainPeriodNode::UNIT_YEAR);
$agreementAddon = (new ChargeAgreement())
->setCategory('premium')
->setCategoryName('AAA')
->setType('price')
->setRenewAmount('25.00');
$request->addExtAddon($agreementAddon);
$response = $client->send($request);
$renewDomainAddon = $response->findExtAddon(ChargeRenewData::class);
if ($renewDomainAddon instanceof ChargeRenewData) {
$category = $renewDomainAddon->getCategory();
$categoryName = $renewDomainAddon->getCategoryName();
$type = $renewDomainAddon->getType();
$createAmount = $renewDomainAddon->getCreateAmount();
$renewAmount = $renewDomainAddon->getRenewAmount();
$transferAmount = $renewDomainAddon->getTransferAmount();
$restoreAmount = $renewDomainAddon->getRestoreAmount();
}
/**
* Domain transfer example.
*/
$request = new RequestDomainTransferRequest($client);
$request->setDomain('premium.tld');
$request->setPassword('2fooBAR');
$agreementAddon = (new ChargeAgreement())
->setCategory('premium')
->setCategoryName('AAA')
->setType('price')
->setTransferAmount('25.00');
$request->addExtAddon($agreementAddon);
$response = $client->send($request);
$transferDomainAddon = $response->findExtAddon(ChargeTransferData::class);
if ($transferDomainAddon instanceof ChargeTransferData) {
$category = $transferDomainAddon->getCategory();
$categoryName = $transferDomainAddon->getCategoryName();
$type = $transferDomainAddon->getType();
$createAmount = $transferDomainAddon->getCreateAmount();
$renewAmount = $transferDomainAddon->getRenewAmount();
$transferAmount = $transferDomainAddon->getTransferAmount();
$restoreAmount = $transferDomainAddon->getRestoreAmount();
}
/**
* Domain restore example.
*/
$request = new RGPRequestRestoreRequest($client);
$request->setDomain('testprem.tld');
$agreementAddon = (new ChargeAgreement())
->setCategory('premium')
->setCategoryName('AAA')
->setType('price')
->setRestoreAmount('25.00');
$request->addExtAddon($agreementAddon);
$response = $client->send($request);
$updateDomainAddon = $response->findExtAddon(ChargeUpdateData::class);
if ($updateDomainAddon instanceof ChargeUpdateData) {
$category = $updateDomainAddon->getCategory();
$categoryName = $updateDomainAddon->getCategoryName();
$type = $updateDomainAddon->getType();
$createAmount = $updateDomainAddon->getCreateAmount();
$renewAmount = $updateDomainAddon->getRenewAmount();
$transferAmount = $updateDomainAddon->getTransferAmount();
$restoreAmount = $updateDomainAddon->getRestoreAmount();
}