# Overview

The APM Checkout (BLIK) integration allows customers to complete transactions using the BLIK payment method. This integration supports server-to-server (S2S) payments for Alternative Payment Methods (APMs) that involve a redirect flow. In this process, transaction details are securely exchanged between servers, and customers are redirected to a BLIK payment page to finalize the transaction, ensuring secure and efficient payment handling.

## **How It Works**

When customers select BLIK at checkout, the merchant creates a session with Converge Gate, providing necessary transaction details and customer information. Converge Gate generates a session ID and a redirect URL, which the customer uses to proceed with the payment.

1. **Customer Pays with APM**:

* The customer initiates the payment by selecting APM (BLIK) as their payment method during the checkout process.

2. **Merchant Creates a Session**:

* The merchant sends the transaction details and customer information to Converge Gate to create a checkout session.

3. **Returns ID and Redirect URL**:

* Converge Gate processes the session creation request and returns a unique session ID along with a redirect URL.

4. **Redirects to URL**:

* The customer is redirected to the provided URL (managed by APM) to proceed with the payment.

5. **Receives Result from Bank via APM**:

* The APM communicates with the bank to process the transaction and receives the result, indicating whether the payment was successful or not.

6. **Returns to the success\_url**:

* Based on the transaction result, the customer is redirected back to the merchant's success URL if the payment was successful.

7. **Retrieves Session ID & Updates Status**:

* The merchant retrieves the session ID from Converge Gate to check the transaction status and updates their records accordingly.

## Process Flow

{% content-ref url="/pages/3BmLjbx0i4DIjLMObhpL" %}
[Process Flow](/legacy/apm-checkout-blik/overview/process-flow.md)
{% endcontent-ref %}

## Testing

{% content-ref url="/pages/AQ6iToG3xlOCquUPIwNA" %}
[Testing](/legacy/apm-checkout-blik/overview/testing.md)
{% endcontent-ref %}

## Errors

{% content-ref url="/pages/PeQN5dIpheCHqs0QT8zM" %}
[Errors](/legacy/apm-checkout-blik/errors.md)
{% endcontent-ref %}

## Create a Checkout Session

{% content-ref url="/pages/6mt8gkE31qNPwUqnAGxf" %}
[Create a checkout session](/legacy/apm-checkout-blik/create-a-checkout-session.md)
{% endcontent-ref %}

## Retrieve a Checkout Session

{% content-ref url="/pages/a08vYY78xq1DuSrcjtel" %}
[Retrieve a Checkout Session](/legacy/apm-checkout-blik/retrieve-a-checkout-session.md)
{% endcontent-ref %}

## Webhook Event Notification

{% content-ref url="/pages/C43BVlhwfXteE1nSueXU" %}
[Webhoook Event Notification](/legacy/apm-checkout-blik/webhoook-event-notification.md)
{% endcontent-ref %}

## Pay a Checkout Session

{% content-ref url="/pages/kIuEf0y3mtu0cNBnsk2i" %}
[Pay a Checkout Session](/legacy/apm-checkout-blik/pay-a-checkout-session.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.convergegate.com/legacy/apm-checkout-blik/overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
