Create and manage one-time payment transactions
Easypay Payments API (2.0)
Specifies the page number of the results to retrieve. This parameter is used for paginating through a collection of records, allowing the client to navigate to different pages of the dataset. The value must be a positive integer (e.g., "1" for the first page).
Specifies the number of records to retrieve per page. This parameter is used for controlling the size of each page in a paginated collection of records. The value must be a positive integer, determining how many records are displayed on each page (e.g., "20" for 20 records per page).
Filter by type of financial operation being performed. Possible values are "Sale" (a complete transaction where funds are immediately captured) or "Authorisation" (a temporary hold on funds pending a future capture).
Filter records by expiration datetime interval. Format: interval(YYYY-MM-DD HH:MM,YYYY-MM-DD HH:MM)
Filter by payment method used in the transaction.
A user-defined identifier used to filter the customers. This parameter allows the client to specify a key to retrieve records or transactions that match the provided key. The value is a string and may not be unique, as it is determined by the user.
Filter by the unique identifier for the resource. Typically formatted as a UUID (Universally Unique Identifier).
A user-defined identifier used to filter the results. This parameter allows the client to specify a key to retrieve records or transactions that match the provided key. The value is a string and may not be unique, as it is determined by the user.
- Sandboxhttps://api.test.easypay.pt/2.0/single
- Productionhttps://api.prod.easypay.pt/2.0/single
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.test.easypay.pt/2.0/single?page=1&records_per_page=20&type=sale&expiration_time=interval%282006-01-02+15%3A04%2C2006-01-02+15%3A04%29&method=mb&customer=01J32EDWGNX94XMWP8PWB23KBK&id=bb3e7e60-20f3-4208-9b21-64c635a51f42&key=01J32EESEC1Z543P7J3PKSF1Q9&value=10.32&created_at=interval%282006-01-02+15%3A04%2C2006-01-02+15%3A04%29' \
-H 'AccountId: 2b0f63e2-9fb5-4e52-aca0-b4bf0339bbe6' \
-H 'ApiKey: eae4aa59-8e5b-4ec2-887d-b02768481a92'{ "meta": { "page": { … }, "records": { … }, "links": { … } }, "data": [ { … } ] }
Configuration object to generate a single payment
Specifies the type of financial operation being performed.
| TYPE | DESCRIPTION |
|---|---|
| sale | a complete transaction where funds are immediately captured. |
| authorisation | a temporary hold on funds pending a future capture. |
The Capture object contains all the necessary information for executing a fund capture action. It defines how and where the funds should be routed upon capturing a transaction. This object is essential for finalizing transactions and ensuring the correct allocation of funds. Object required when the operation type is Sale.
ISO 4217 currency code. If not specified, the default currency is set to EUR.
The monetary amount for the transaction. This field specifies the value of the payment in the designated currency. It must be a positive decimal number representing the exact amount to be processed.
Enumerates the possible values for the payment method used in the transaction. This field helps to identify the selected payment method. Possible values include:
| METHOD | DESCRIPTION |
|---|---|
| CC | Credit Card |
| VI | Digital IBAN |
| DD | Direct Debit |
| MB | Multibanco |
| MBW | MBWay |
| GP | Google Pay* |
| AP | Apple Pay* |
| SW | Samsung Wallet* |
*payment only available through checkout yet
A customizable text field for users to input their own identifier for the resource. This can be any string that helps the user uniquely identify or reference the resource in their own system.
The Customer object contains the necessary details about the customer involved in the transaction. This includes identification information, contact details, and preferences. All fields are optional unless specified otherwise.
The SDD Mandate object contains the necessary fields to create a SEPA Direct Debit mandate. This object ensures that all required information is provided to authorize and process SEPA Direct Debit transactions. Object required when method is Direct Debit.
- Sandboxhttps://api.test.easypay.pt/2.0/single
- Productionhttps://api.prod.easypay.pt/2.0/single
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.test.easypay.pt/2.0/single \
-H 'AccountId: 2b0f63e2-9fb5-4e52-aca0-b4bf0339bbe6' \
-H 'ApiKey: eae4aa59-8e5b-4ec2-887d-b02768481a92' \
-H 'Content-Type: application/json' \
-d '{
"customer": {
"name": "Customer Example",
"email": "customer@example.com",
"phone": "911234567",
"phone_indicative": "+351",
"key": "customer Key Example",
"language": "EN"
},
"key": "merchant identification key Example",
"value": 15.5,
"method": "MB",
"capture": {
"descriptive": "transaction descriptive Example",
"transaction_key": "transaction key Example"
},
"notification": {
"customer_method_instructions_email": true
}
}'Created
Indicates the overall status of the API response. 'ok' means the request was successful, 'error' indicates there was a problem.
An array of messages providing details about the response status. These messages give additional context about the operation result.
Method information returned in POST responses after creating a payment
An object that holds the details specific to a Multibanco transaction response.
{ "status": "ok", "message": [ "Your request was successfully created" ], "id": "ed7f8dac-0ea2-4846-8433-f5f8b0e70ed7", "method": { "type": "dd", "status": "pending", "entity": "21098", "reference": "503564027", "sdd_mandate": { … } }, "customer": { "id": "2544ce48-ccec-465e-9722-d42ccf0aa640" }, "capture": { "id": "c6101a8b-b8c6-44a7-b128-bef8888e14d7" } }
- Sandboxhttps://api.test.easypay.pt/2.0/single/{id}
- Productionhttps://api.prod.easypay.pt/2.0/single/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.test.easypay.pt/2.0/single/{id}' \
-H 'AccountId: 2b0f63e2-9fb5-4e52-aca0-b4bf0339bbe6' \
-H 'ApiKey: eae4aa59-8e5b-4ec2-887d-b02768481a92'OK
A text field that describes the transaction as it will appear on the end user's account statement. This is typically used to provide clear, recognizable information about the payment, such as "Payment of Invoice Nº 1982652" or "Ticket for Queen".
The monetary amount for the transaction. This field specifies the value of the payment in the designated currency. It must be a positive decimal number representing the exact amount to be processed.
ISO 4217 currency code. If not specified, the default currency is set to EUR.
The Customer object contains the necessary details about the customer involved in the transaction. This includes identification information, contact details, and preferences. All fields are optional unless specified otherwise.
Indicates the current status of the payment. Possible values include:
"pending": The payment is awaiting processing. "paid": The payment has been completed successfully. "authorised": The payment has been authorized but not yet captured. "error": An error occurred during the payment process. "deleted": The payment has been deleted. "failed": The payment attempt failed. "active": The payment is currently active. "voided": The payment has been voided.
An object that holds the details specific to a Multibanco transaction response.
{ "id": "c6056234-a3f9-42de-b944-3ed793fcb6bb", "created_at": "string", "captures": [ { … } ], "key": "Payment of Invoice Nº 1982652", "descriptive": "Payment of Invoice Nº 1982652", "value": 17.5, "expiration_time": "string", "currency": "EUR", "customer": { "id": "649e88cf-0b78-4c36-8f99-33f5ebb812a1", "name": "John Doe", "email": "john.doe@example.com", "phone": "911234567", "phone_indicative": "+351", "fiscal_number": "PT123456789", "key": "customer Key Example", "language": "PT" }, "method": { "type": "CC", "status": "active", "sdd_mandate": { … }, "card_type": "VISA", "last_four": "1234", "expiration_date": "string", "url": "https://cc.easypay.pt/v3/public/card-details/cec55ab6-bda3-4ab3-af22-04d2ad2c046a", "alias": "string", "entity": "11683", "reference": "665876931", "iban": "PT50002700000001234567833" }, "paid_at": "string", "transactions": [ { … } ], "payment_status": "paid", "multibanco": { "expiration_time": "2025-09-28T12:41:08Z", "start_time": "2025-08-26T12:41:09Z", "product": "SPG" }, "notification": { "customer_method_instructions_email": true } }
Request
This endpoint allows for the deletion of a single payment identified by its unique ID. The DELETE operation performs the following actions based on the payment method:
- MBWay and Credit Cards: Voids all authorizations.
- Multibanco: Cancels the Multibanco Reference.
- Direct Debit: Cancels the Direct Debit if the request is made before the cutoff hour(18:00 Europe/Lisbon).
This operation ensures that all associated authorizations and references are properly handled and terminated according to the specified payment method.
- Sandboxhttps://api.test.easypay.pt/2.0/single/{id}
- Productionhttps://api.prod.easypay.pt/2.0/single/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X DELETE \
'https://api.test.easypay.pt/2.0/single/{id}' \
-H 'AccountId: 2b0f63e2-9fb5-4e52-aca0-b4bf0339bbe6' \
-H 'ApiKey: eae4aa59-8e5b-4ec2-887d-b02768481a92'ISO 4217 currency code. If not specified, the default currency is set to EUR.
The Customer object contains detailed information about the customer involved in the transaction. Used for update operations where all fields are optional.
A customizable text field for users to input their own identifier for the resource. This can be any string that helps the user uniquely identify or reference the resource in their own system.
The SDD Mandate object contains the necessary fields to update a SEPA Direct Debit mandate. All fields are optional for update operations.
- Sandboxhttps://api.test.easypay.pt/2.0/single/{id}
- Productionhttps://api.prod.easypay.pt/2.0/single/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PATCH \
'https://api.test.easypay.pt/2.0/single/{id}' \
-H 'AccountId: 2b0f63e2-9fb5-4e52-aca0-b4bf0339bbe6' \
-H 'ApiKey: eae4aa59-8e5b-4ec2-887d-b02768481a92' \
-H 'Content-Type: application/json' \
-d '{
"expiration_time": "string",
"currency": "EUR",
"customer": {
"name": "Jonh Doe",
"email": "customer@example.com",
"phone": "962496235",
"phone_indicative": "351",
"fiscal_number": "PT277712580",
"key": "01J1PKR2RPHJNJQGFWGDYXY0KM",
"language": "PT"
},
"key": "01J1PKR2RPHJNJQGFWGDYXY0KM",
"sdd_mandate": {
"iban": "PT50002700000001234567833",
"key": "Sdd mandate Key Example",
"name": "John Doe",
"email": "john.doe@example.com",
"phone": "911234567",
"account_holder": "John Doe"
}
}'{ "status": "ok", "message": [ "Your request was successfully created" ], "id": "d4851c0a-66e2-4b34-9587-1e453ddcc650", "method": { "type": "CC", "status": "pending", "url": "https://cc.easypay.pt/v3/public/card-details/d4851c0a-66e2-4b34-9587-1e453ddcc650" }, "customer": { "id": "156de567-b17d-4591-a154-442c873b76c7" } }