insightbase / revolut-merchant-api-nette
Revolut Merchant API client for PHP / Nette
Installs: 9
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/insightbase/revolut-merchant-api-nette
Requires
- php: >=8.1
- ext-curl: *
- nette/di: ^3.1
- tracy/tracy: ^2.10
README
PHP client pro Revolut Merchant API s podporou Nette DI a Tracy panelu.
Instalace
Pomocí Composeru:
composer require insightbase/revolut-merchant-api-nette
Požadavky
PHP >= 8.1
ext-curl
Nette DI
Tracy (pro debug panel)
Použití
use RevolutMerchantApi\Api\RevolutHttpClient;
use RevolutMerchantApi\Api\RevolutApi;
use RevolutMerchantApi\Dto\RevolutOrder;
use RevolutMerchantApi\Enum\CaptureMode;
use RevolutMerchantApi\Enum\ChallengeMode;
$client = new RevolutHttpClient('TVUJ_API_KEY', 'https://merchant.revolut.com/api');
$api = new RevolutApi($client);
$order = (new RevolutOrder())
->setAmount(50.25)
->setCurrency('GBP')
->setCaptureMode(CaptureMode::AUTOMATIC)
->setEnforceChallenge(ChallengeMode::AUTOMATIC)
->setDescription('Ukázková platba');
$response = $api->createOrder($order);
var_dump($response);
Payment
use RevolutMerchantApi\Api\RevolutApi;
use RevolutMerchantApi\Dto\Response\RevolutPaymentResponse;
use RevolutMerchantApi\Dto\Response\RevolutException;
/** @var RevolutApi $api */
$api = $this->revolutMerchantApi; // v Nette přes DI
$paymentId = '6633855a-0e4f-a768-8b2c-e765d8872505';
$response = $api->getPayment($paymentId);
if ($response instanceof RevolutPaymentResponse) {
dump($response->state, $response->amount, $response->paymentMethod);
} elseif ($response instanceof RevolutException) {
dump($response->statusCode, $response->raw); // raw['errorId'], raw['code'] atd.
}
Nette DI Extension
extensions:
revolutMerchantApi: RevolutMerchantApi\Nette\RevolutMerchantApiExtension
revolutMerchantApi:
apiKey: %revolutApiKey%
apiUrl: https://merchant.revolut.com/api
debug: true
Tracy Panel
Automaticky zobrazí všechny požadavky v Tracy debug baru.