# 4. Pair/Request/Cancel

<mark style="color:red;">`DELETE`</mark> `{{Base Address}}/api/pair/async/request/delete`

It will be sufficient to send a request to the address provided above. You can use the 'Base Address' as you wish for both the test environment and the production environment.

{% hint style="info" %}
Important: In order to use the **Async Matching Request Cancellation** service, you need to send the '**apikeyprivate**' and '**apiclientprivate**' parameters in the 'Header' field.

\
[<mark style="color:green;">**PhysicalAPI Ad**</mark>](https://developer.paywall.one/payment-orchestration-integration-document/environment)<mark style="color:green;">**dress**</mark>
{% endhint %}

The header information that needs to be sent to the service is as follows:

<table><thead><tr><th width="243">Parameter</th><th width="106.33333333333331">Type</th><th width="153">Compulsory</th><th>Description</th></tr></thead><tbody><tr><td>apikeyprivate</td><td>string</td><td>Yes</td><td>The Private Key obtained from the merchant panel.</td></tr><tr><td>apiclientprivate</td><td>string</td><td>Yes</td><td>The Private Key obtained from the merchant panel.</td></tr></tbody></table>

**The body information that needs to be sent to the service is as follows:**

{% tabs %}
{% tab title="JSON" %}

```json
{
    "PairAsyncRequestId": "4c1bcf08-d842-4e4a-9570-449c1f364f5c"
}
```

{% endtab %}
{% endtabs %}

<table><thead><tr><th width="268">Parameter</th><th width="80.33333333333331">Type</th><th width="161">Compulsory</th><th width="116">Length</th><th>Description</th></tr></thead><tbody><tr><td><pre><code>PairAsyncRequestId
</code></pre></td><td>Guid</td><td>Yes</td><td>-</td><td>Matching request ID</td></tr></tbody></table>

Response from the service:

<table><thead><tr><th width="182">Parameter</th><th width="107.33333333333331">Type</th><th>Description</th></tr></thead><tbody><tr><td>Result</td><td>object</td><td>It returns the details of the service.</td></tr><tr><td>ErrorCode</td><td>int</td><td>Error code. If the operation is successful, it returns the value '0'.</td></tr><tr><td>Succeeded</td><td>bool</td><td>It returns a true or false value. If the operation is successful, it returns the value 'true'.</td></tr><tr><td>Failed</td><td>bool</td><td>It returns a true or false value. If the operation is unsuccessful, it returns the value 'true'.</td></tr><tr><td>Message</td><td>string</td><td>If the operation is faulty, this is the error message, and it provides language support based on the locale parameter.</td></tr><tr><td>ClientMessage</td><td>string</td><td>It returns the fixed values of Paywall error codes. You can perform mapping.</td></tr></tbody></table>

{% tabs %}
{% tab title="JSON" %}
{% code overflow="wrap" lineNumbers="true" %}

```json5
{
    "Result": {
        "PairRequestId": "93d27c03-c38e-4711-819b-c796f009c17f"
    },
    "Failed": false,
    "Message": null,
    "ClientMessage": null,
    "Succeeded": true
}
```

{% endcode %}
{% endtab %}
{% endtabs %}
