> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alumio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Pay.nl

> Connect Alumio to Pay.nl.

## Extra information

System documentation: [Pay.NL API Reference](https://developer.pay.nl/reference/get_services-config)

## Connector package documentation

### Table of Contents

* **1.** Setting up HTTP Client Pay.NL
  * **1.1** Steps
* **2.** Subscribing to entities from Pay.NL
  * **2.1** Steps
  * **2.2** General concept
* **3.** Publishing entity to Pay.NL
  * **3.1** Steps
  * **3.2** General concept

### 1. Setting up HTTP Client Pay.NL

**1.1 Steps**

1. In the Alumio Dashboard, go to Clients -> HTTP Clients. Create a new HTTP Client.
2. Select Pay.NL HTTP Client as PlatForm and click next step
3. Fill in the Username and Password.
4. You can optionally enable logging of request to get the log of the authentication.
5. Click next step, fill the name of the HTTP Client and finally you can save the HTTP Client for use.

<img src="https://mintcdn.com/alumio/-tL8RwSQz0uJjAmm/images/connectors/pay-nl-01.png?fit=max&auto=format&n=-tL8RwSQz0uJjAmm&q=85&s=0c44c6facd7ee85a8c803969f32d76a8" alt="Pay.nl connector screenshot 1" width="690" height="311" data-path="images/connectors/pay-nl-01.png" />

### 2. Subscribing to Entities from Pay.NL

**2.1 Steps**

1. Go to Connections -> Incoming and create a new incoming configuration and select "Pay.NL Subscriber" as the subscriber.
2. Select the entity you want to subscribe to from Pay.NL.
3. Add any request parameters needed to subscribe to the entity.
4. Select the Pay.NL HTTP Client to use.
5. You can optionally add a transformer to transform the request parameters into something you will request from Pay.NL.
6. You can also optionally enable pagination to allow Alumio fetches paginated entities.

**2.2 General Concept**

We follow Pay.NL documentation on building this connector, so you can easily use the connector based on [Pay.NL API Reference](https://developer.pay.nl/reference/get_services-config).

**Entity**

The entity you want to subscribe to Pay.NL. Please refer to the entities from v2.0 [Pay.NL API Reference](https://developer.pay.nl/reference/get_services-config) page.

**Request Parameters**

These are the parameters you can provide to get the needed entity based on the [Pay.NL API Reference](https://developer.pay.nl/reference/get_services-config).

Please look at the example below on how to fill path field when subscribing ["MERCHANT MANAGEMENT - Fetch a service"](https://developer.pay.nl/reference/get_services-serviceid) entity.

<img src="https://mintcdn.com/alumio/-tL8RwSQz0uJjAmm/images/connectors/pay-nl-02.png?fit=max&auto=format&n=-tL8RwSQz0uJjAmm&q=85&s=31956773ca30b34c7d2ca3f82c05b82a" alt="Pay.nl connector screenshot 2" width="690" height="438" data-path="images/connectors/pay-nl-02.png" />

<img src="https://mintcdn.com/alumio/-tL8RwSQz0uJjAmm/images/connectors/pay-nl-03.png?fit=max&auto=format&n=-tL8RwSQz0uJjAmm&q=85&s=1a781048827fccc271912cef25cd8255" alt="Pay.nl connector screenshot 3" width="690" height="472" data-path="images/connectors/pay-nl-03.png" />

From the end point, we can see that we need to set "serviceId" as parameters. That is why we set the "serviceId" inside the path key in the Request Parameters.

Alumio will then make a request to Pay.NL with the URL `https://rest.pay.nl/v2/services/SL-9999-9999`

* Path is the path parameter of the url. For example the \{id}.
* Query is defined set of parameters attached to the end of a url.\
  Example: `www.url.com?type=true&start=0`

**HTTP Client**

The HTTP Client configuration you will use to access Pay.NL.

### 3. Publishing Entity to Pay.NL

**3.1 Steps**

1. Go to Connections -> Outgoing, create a new outgoing configuration and select "Pay.NL Publisher" as the publisher.
2. Select the Method that you want the publisher to perform with the data.
3. Select the Pay.NL entity you want the data to be published to.
4. You can optionally add any query data to the request on the key query.
5. You can optionally add any payload data to the request on the key payload.
6. Select the HTTP Client to use.

**3.2 General Concept**

Like the subscriber, the publisher has similar methods on how to use it. The difference is the payload that will be submitted by the publisher originating from the data (from routes, from transformers in outgoing configuration), though you can also add or modify payload using the Request Transformer.

**Method**

Currently, we support HTTP Post method, HTTP Patch method and HTTP Delete method on submitting data to Pay.NL.

**Entity**

We support publishing to all Pay.NL v2.0 endpoints.
Please refer to [Pay.NL API Reference](https://developer.pay.nl/reference/get_services-config) page.

For example, we want to create a payment page. Please select “Post” as the Method and ["MERCHANT MANAGEMENT - PaymentLink:Create"](https://developer.pay.nl/reference/post_services-serviceid-paymentlink) as the entity of the publisher.

<img src="https://mintcdn.com/alumio/-tL8RwSQz0uJjAmm/images/connectors/pay-nl-04.png?fit=max&auto=format&n=-tL8RwSQz0uJjAmm&q=85&s=428aa13fda1904a6205c028f379eebd4" alt="Pay.nl connector screenshot 4" width="690" height="268" data-path="images/connectors/pay-nl-04.png" />

<img src="https://mintcdn.com/alumio/-tL8RwSQz0uJjAmm/images/connectors/pay-nl-05.png?fit=max&auto=format&n=-tL8RwSQz0uJjAmm&q=85&s=bdf6a7012221cc08760562140e9a5f51" alt="Pay.nl connector screenshot 5" width="676" height="500" data-path="images/connectors/pay-nl-05.png" />

From the end point, we can see that we need to set "serviceId" as parameters. That is why we set the "serviceId" inside the path key in the data.
Based on the documentation, it requires a request body. That is why we set the request body in the payload key inside Alumio data.

<img src="https://mintcdn.com/alumio/-tL8RwSQz0uJjAmm/images/connectors/pay-nl-06.png?fit=max&auto=format&n=-tL8RwSQz0uJjAmm&q=85&s=781d33e61ec92140fd5e5bf0539466d2" alt="Pay.nl connector screenshot 6" width="345" height="500" data-path="images/connectors/pay-nl-06.png" />

Alumio will send an API request to Pay.NL with URL `https://rest.pay.nl/v2/services/SL-9999-9999/paymentlink`

* Path is the path parameter of the url. For example the \{id}.
* Query is defined set of parameters attached to the end of a url.\
  Example: `www.url.com?type=true&start=0`
* Payload is the data contained within a request.

**HTTP Client**

The HTTP Client configuration you will use to access Pay.NL.
