PHPackages                             insightbase/revolut-merchant-api-nette - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. insightbase/revolut-merchant-api-nette

ActiveLibrary[API Development](/categories/api)

insightbase/revolut-merchant-api-nette
======================================

Revolut Merchant API client for PHP / Nette

v1.0.12(3w ago)01.0k—5.7%MITPHPPHP &gt;=8.1

Since Nov 22Pushed 3w agoCompare

[ Source](https://github.com/insightbase/RevolutMerchantApi-nette)[ Packagist](https://packagist.org/packages/insightbase/revolut-merchant-api-nette)[ RSS](/packages/insightbase-revolut-merchant-api-nette/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependencies (8)Versions (7)Used By (0)

RevolutMerchantApi
==================

[](#revolutmerchantapi)

PHP client pro **Revolut Merchant API** s podporou **Nette DI** a **Tracy panelu**.

Instalace
---------

[](#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);

```

Order payments:

```
try {
    $payments = $revolut->getOrderPayments($orderId);

    foreach ($payments->items as $payment) {
        dump($payment['id'], $payment['state'], $payment['payment_method']);
    }

} catch (RevolutException $e) {
    dump($e->errorCode, $e->httpStatus, $e->getMessage());
}

```

Payment detail

```
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.

Webhook verification + auto-dispatch (Nette)

```
revolutMerchantApi:
    webhook:
        signingSecret: %revolutWebhookSigningSecret%
        timestampToleranceMs: 300000

```

```
