54 lines
1.7 KiB
Markdown
54 lines
1.7 KiB
Markdown
# Requests
|
|
|
|
## Overview
|
|
|
|
The Mollie API client uses request classes to communicate with the Mollie API. Each request class handles specific API endpoints and operations. The response is casted into a dedicated `Mollie\Api\Resources\*` class.
|
|
|
|
## Sending a Request
|
|
|
|
To send a request using the Mollie API client, you typically need to:
|
|
|
|
1. **Create an instance of the client**:
|
|
```php
|
|
use Mollie\Api\MollieApiClient;
|
|
|
|
$mollie = new MollieApiClient();
|
|
$mollie->setApiKey('test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM');
|
|
```
|
|
|
|
2. **Create and configure the request**:
|
|
Depending on the operation, you might need to create an instance of a specific request class and configure it with necessary parameters.
|
|
|
|
3. **Send the request**:
|
|
Use the client to send the request and handle the response.
|
|
|
|
```php
|
|
use Mollie\Api\MollieApiClient;
|
|
use Mollie\Api\Http\Data\Money;
|
|
use Mollie\Api\Http\Requests\CreatePaymentRequest;
|
|
|
|
$mollie = new MollieApiClient();
|
|
$createPaymentRequest = new CreatePaymentRequest(
|
|
'Test payment',
|
|
new Money('EUR', '10.00'),
|
|
'https://example.org/redirect',
|
|
'https://example.org/webhook'
|
|
);
|
|
|
|
/** @var \Mollie\Api\Resources\Payment $payment */
|
|
$payment = $mollie->send($createPaymentRequest);
|
|
|
|
$this->assertEquals(200, $payment->getResponse()->status());
|
|
```
|
|
|
|
## Adding unsupported properties
|
|
If the SDK is not up to date with the API, you can manually add a property to a request via the `query()` or `payload()` methods.
|
|
|
|
```php
|
|
$someRequestUsingPayload = new SomePayloadRequest(...);
|
|
$someRequestUsingPayload->payload()->add('foo', 'bar');
|
|
|
|
$someRequestUsingQueryParams = new SomeQueryRequest(...);
|
|
$someRequestUsingQueryParams->query()->add('foo', 'bar');
|
|
```
|