Paylink API offers the following functions for managing orders:
Endpoint | Action |
---|---|
GET api/v1/orders | List orders |
POST api/v1/orders | Add order |
GET api/v1/orders/{orderId} | Get order |
POST api/v1/orders/{orderId}/deliver | Send payment request |
PUT api/v1/orders/{orderId} | Edit order |
DELETE api/v1/orders/{orderId} | Delete order |
List orders
List all orders in descending order by date of creation.
Parameters
page
Optional
Page from which orders will be fetched. API will return 50 entries in a single page.
GET api/v1/orders
cURL
curl -i -X GET -H "Authorization:Token API-KEY" 'https://test.app.paylink.fi/api/v1/orders?page=1'
Response
{
"has_more":false,
"data":[
{
"id":5735,
"display_id":"1030",
"order_number_prefix":"PL",
"due_date":"2020-08-25",
"customer_locale":"fi_FI",
"status":"pending",
"notes":"Order notes",
"info_before": "Info before line items",
"info_after": "Info after line items",
"customer_id":null,
"email":"matti.meikalainen@example.com",
"payment_url": "https://test.app.paylink.fi/pay/0ba5e6c045ac4e0cfd",
"created_at":"2020-08-14T15:06:14.000+03:00",
"updated_at":"2020-08-14T15:06:14.000+03:00",
"address":{
"firstname":"Matti",
"lastname":"Meikäläinen",
"company":null,
"company_id":null,
"address":"Testikatu 1",
"city":"Helsinki",
"postcode":"00100",
"phone":"0401234567",
"country":"FI"
},
"items":[
{
"title":"Test product",
"unit_base_price_cents":81,
"unit_tax_cents":19,
"unit_total_price_cents":100,
"tax_rate_id":"fi_standard",
"total_base_price_cents":81,
"total_tax_cents":19,
"total_price_cents":100,
"quantity":1,
"product_id":null
}
]
}
...
]
}
Add order
Add new order
Parameters
email
Required
Email address
customer_locale
Optional
Language,
fi_FI
or en_US
. Default fi_FI
notes
Optional
Internal order notes that will not be visible to customers
info_before
Optional
Info before line items in the PDF invoice
info_after
Optional
Info after line items in the PDF invoice
due_date
Optional
Due date in format
YYYY-MM-DD
(e.g. 2024-04-15
).
reference
Optional
Order reference. Has to be valid and unique bank reference if transaction-specific settlements are enabled (Settings > Paytrail > Transaction-specific settlements). Otherwise can be string containing letters and numbers.
display_id
Optional
Order number that is displayed to the customer. Has to be unique. Will be generated if left blank.
order_number_prefix
Optional
Order number prefix that can be used to separate Paylink orders from other sources. Order numbers consist of prefix and order number (
display_id
). For example, if prefix is "P-" and order number 123, the final order number will be "P-123". Prefix can contain letters, numbers and dashes. Default prefix can be set in the settings (Settings > Orders > Order number prefix).
customer_id
Optional
Customer ID
address
Required
Billing address. If some field is unknown, dash (
-
) can be used as placeholder.Parameters
address.firstname
Required
First name
address.lastname
Required
Last name
address.company
Optional
Company
address.company_id
Optional
Business ID
address.city
Required
City
address.postcode
Required
Postcode
address.phone
Optional
Phone number
address.country
Required
Country as two-letter country code (e.g.
FI
)
items
Required
Order items. Order total minimum is 0.65 €.
Parameters
items.title
Required
Name
items.unit_total_price_cents
Required
Unit price in cents including tax
items.quantity
Required
Quantity
items.tax_rate_id
Required
Tax rate ID,
fi_standard
(24 %, 25,5 % from 1.9.2024), fi_intermediate
(14 %), fi_reduced
(10 %) or fi_zero
(0 %)
items.tax_rate_pct
Optional
Tax rate in percents. If left out,
tax_rate_id
will determine the value
items.product_id
Optional
Product ID
POST api/v1/orders
cURL
curl -i -X POST \
-H "Authorization:Token API-KEY" \
-H "Content-Type:application/json" \
-d \
'{
"email": "matti.meikalainen@example.com",
"customer_locale": "fi_FI",
"notes": "Order notes",
"info_before": "Info before line items",
"info_after": "Info after line items",
"due_date": "2020-08-25",
"reference": "10003",
"display_id": 1000,
"order_number_prefix": "PL",
"customer_id": null,
"address": {
"firstname": "Matti",
"lastname": "Meikäläinen",
"address": "Testikatu 1",
"postcode": "00100",
"city": "Helsinki",
"phone": "0401234567",
"country": "FI"
},
"items": [
{
"title": "Test product",
"unit_total_price_cents": 100,
"quantity":1,
"tax_rate_id":"fi_standard",
"tax_rate_pct":25.5,
"product_id": null
}
]
}' \
'https://test.app.paylink.fi/api/v1/orders'
Response
{
"id": 5737,
"display_id": "1000",
"order_number_prefix": "PL",
"due_date": "2020-08-25",
"customer_locale": "fi_FI",
"status": "pending",
"notes": "Order notes",
"info_before": "Info before line items",
"info_after": "Info after line items",
"customer_id": null,
"email": "matti.meikalainen@example.com",
"payment_url": "https://test.app.paylink.fi/pay/0ba5e6c045ac4e0cfd",
"created_at": "2020-08-17T12:06:41.000+03:00",
"updated_at": "2020-08-17T12:06:41.000+03:00",
"address": {
"firstname": "Matti",
"lastname": "Meikäläinen",
"company": null,
"company_id": null,
"address": "Testikatu 1",
"city": "Helsinki",
"postcode": "00100",
"phone": "0401234567",
"country": "FI"
},
"items": [
{
"title": "Test product",
"unit_base_price_cents": 80,
"unit_tax_cents": 20,
"unit_total_price_cents": 100,
"tax_rate_id": "fi_standard",
"tax_rate_pct": 25.5,
"total_base_price_cents": 80,
"total_tax_cents": 20,
"total_price_cents": 100,
"quantity": 1,
"product_id": null
}
]
}
Get order
Get order details.
Parameters
orderId
Required
Order ID
GET api/v1/orders/{orderId}
cURL
curl -i -X GET \
-H "Authorization:Token API-KEY" \
'https://test.app.paylink.fi/api/v1/orders/1'
Response
{
"id": 1,
"display_id": "1000",
"order_number_prefix": "PL",
"due_date": "2020-08-25",
"customer_locale": "fi_FI",
"status": "pending",
"notes": "Order notes",
"info_before": "Info before line items",
"info_after": "Info after line items",
"customer_id": null,
"email": "matti.meikalainen@example.com",
"payment_url": "https://test.app.paylink.fi/pay/0ba5e6c045ac4e0cfd",
"created_at": "2020-08-17T12:06:41.000+03:00",
"updated_at": "2020-08-17T12:06:41.000+03:00",
"address": {
"firstname": "Matti",
"lastname": "Meikäläinen",
"company": null,
"company_id": null,
"address": "Testikatu 1",
"city": "Helsinki",
"postcode": "00100",
"phone": "0401234567",
"country": "FI"
},
"items": [
{
"title": "Test product",
"unit_base_price_cents": 81,
"unit_tax_cents": 19,
"unit_total_price_cents": 100,
"tax_rate_id": "fi_standard",
"total_base_price_cents": 81,
"total_tax_cents": 19,
"total_price_cents": 100,
"quantity": 1,
"product_id": null
}
]
}
Send payment request
Send payment request to the customer via email.
Parameters
orderId
Required
Order ID
POST api/v1/orders/{orderId}/deliver
cURL
curl -i -X POST \
-H "Authorization:Token API-KEY" \
-H "Content-Type:application/json" \
-d \
'' \
'https://test.app.paylink.fi/api/v1/orders/1/deliver'
Response
{
"id": 1,
"display_id": "1000",
"order_number_prefix": "PL",
"due_date": "2020-08-25",
"customer_locale": "fi_FI",
"status": "pending",
"notes": "Order notes",
"info_before": "Info before line items",
"info_after": "Info after line items",
"customer_id": null,
"email": "matti.meikalainen@example.com",
"payment_url": "https://test.app.paylink.fi/pay/0ba5e6c045ac4e0cfd",
"created_at": "2020-08-17T12:06:41.000+03:00",
"updated_at": "2020-08-17T12:06:41.000+03:00",
"address": {
"firstname": "Matti",
"lastname": "Meikäläinen",
"company": null,
"company_id": null,
"address": "Testikatu 1",
"city": "Helsinki",
"postcode": "00100",
"phone": "0401234567",
"country": "FI"
},
"items": [
{
"title": "Test product",
"unit_base_price_cents": 81,
"unit_tax_cents": 19,
"unit_total_price_cents": 100,
"tax_rate_id": "fi_standard",
"total_base_price_cents": 81,
"total_tax_cents": 19,
"total_price_cents": 100,
"quantity": 1,
"product_id": null
}
]
}
Edit order
Edit order details.
Note! Only notes can be edited for paid orders.
Parameters
orderId
Required
Order ID
See other parameters at Add order »
PUT api/v1/orders/{orderId}
cURL
curl -i -X PUT \
-H "Authorization:Token API-KEY" \
-H "Content-Type:application/json" \
-d \
'{
"notes": "New notes"
}' \
'https://test.app.paylink.fi/api/v1/orders/1'
Response
{
"id": 1,
"display_id": "1000",
"order_number_prefix": "PL",
"due_date": "2020-08-25",
"customer_locale": "fi_FI",
"status": "pending",
"notes": "New notes",
"info_before": "Info before line items",
"info_after": "Info after line items",
"customer_id": null,
"email": "matti.meikalainen@example.com",
"payment_url": "https://test.app.paylink.fi/pay/0ba5e6c045ac4e0cfd",
"created_at": "2020-08-17T12:06:41.000+03:00",
"updated_at": "2020-08-17T12:06:41.000+03:00",
"address": {
"firstname": "Matti",
"lastname": "Meikäläinen",
"company": null,
"company_id": null,
"address": "Testikatu 1",
"city": "Helsinki",
"postcode": "00100",
"phone": "0401234567",
"country": "FI"
},
"items": [
{
"title": "Test product",
"unit_base_price_cents": 81,
"unit_tax_cents": 19,
"unit_total_price_cents": 100,
"tax_rate_id": "fi_standard",
"total_base_price_cents": 81,
"total_tax_cents": 19,
"total_price_cents": 100,
"quantity": 1,
"product_id": null
}
]
}
Delete order
Delete order.
Note! Paid orders cannot be deleted.
Parameters
orderId
Required
Order ID
DELETE api/v1/orders/{orderId}
cURL
curl -i -X DELETE \
-H "Authorization:Token API-KEY" \
'https://test.app.paylink.fi/api/v1/orders/1'