Skip to content
Download OpenAPI description
Overview
Easypay Documentation
License
Languages
Servers
Sandbox
https://api.test.easypay.pt/2.0
Production
https://api.prod.easypay.pt/2.0

Single Payment

Create and manage one-time payment transactions

Operations

Frequent Payment

Tokenize payment details for variable on-demand charges

Operations

Subscription Payment

Set up and manage automated recurring payments

Operations

Captures

Operations for managing payment captures

Operations

Authorisations

Operations for managing payment authorisations

Operations

Voids

Operations for managing payment voids

Operations

Refunds

Operations for managing payment refunds

Operations

Chargebacks

Operations for managing chargebacks

Operations

Notifications / Webhooks

Configure and manage webhook notifications for payment events

Webhooks

Reports

Access transaction and ledger reports

Operations

Out Payment

Transfer funds from Easypay accounts to SEPA bank accounts

Operations

Request

Full report with all the out payments from your Account Id

Security
accountId and apiKey
Query
pageinteger

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).

Default 1
Example: page=1
records_per_pageinteger

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).

Default 20
Example: records_per_page=20
methodstring

Filter by method used in the transaction.

Enum"transfer""mb"
typestring

Filter by type of out payment.

Enum"normal""instant"
idstring(uuid)

Filter by the unique identifier for the resource. Typically formatted as a UUID (Universally Unique Identifier).

Example: id=bb3e7e60-20f3-4208-9b21-64c635a51f42
keystring

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.

Example: key=01J32EESEC1Z543P7J3PKSF1Q9
valuenumber(double)

Filter records by the exact transaction amount.

Example: value=10.32
created_atstring

Filter records by creation datetime interval in UTC. Maximum allowed range is 30 days. Format: interval(YYYY-MM-DD HH:MM,YYYY-MM-DD HH:MM).

Example: created_at=interval(2006-01-02 15:04,2006-01-02 15:04)
curl -i -X GET \
  'https://api.test.easypay.pt/2.0/out_payment?page=1&records_per_page=20&method=transfer&type=normal&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'

Responses

OK

Bodyapplication/json
metaobject(metadata-page)

The Pagination object contains detailed information about the pagination of a collection of records.

This object is used to provide navigation and context for paginated results, allowing users to easily move between pages and understand the scope of the dataset.

dataArray of objects(out-payment-response)
Response
application/json
{ "meta": { "page": {}, "records": {}, "links": {} }, "data": [ {}, {} ] }

Request

Get your strong authentication RSA private key from Easypay Backoffice on menu:
Web Services->Configuration API 2.0->Keys.

Security
accountId and apiKey and signatureAuth
Bodyapplication/json
customerobject(customer)required

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.

customer.​idstring(uuid)

Unique identifier for the customer. When provided, it links the transaction to an existing customer record.

Example: "649e88cf-0b78-4c36-8f99-33f5ebb812a1"
customer.​namestring<= 255 characters

Full name of the customer. This is typically displayed on receipts and statements.

Example: "John Doe"
customer.​emailstring(email)<= 70 characters

Customer's email address. Used for sending receipts, notifications, and payment confirmations.

Example: "john.doe@example.com"
customer.​phonestring<= 15 characters

The contact phone number of the customer, excluding the country code indicator (e.g., "+351"). This field is used for communication purposes. If the payment method is MBWAY, the phone_number is required and is used to send the MBWAY push notification.

Example: "911234567"
customer.​phone_indicativestring<= 5 characters

The country code indicator for the customer's phone number (e.g., "351" for Portugal). This field is used in conjunction with the phone number to ensure proper international dialing and communication.

Example: "+351"
customer.​fiscal_numberstring<= 20 characters

Customer's tax identification number or fiscal number. Format may vary by country.

Example: "PT123456789"
customer.​keystring<= 255 characters

A customizable text field for users to input their own identifier for the customer. This can be any string that helps the user uniquely identify the customer in their own system.

Example: "customer Key Example"
customer.​languagestring= 2 characters

Preferred language for customer communications. Uses ISO 639-1 language codes.

Enum"PT""EN""ES"
Example: "PT"
keystring<= 50 characters

Merchant identification key

valuenumber(double)>= 0.5required

Value will be rounded to 2 decimals

typestring

Optional - only applicable to method transfer

Default "normal"
Enum"normal""instant"
schedule_atstring(date-time)

Schedule date to execute the payment

descriptivestring<= 140 characters^[a-zA-Z0-9 .,/+*$%]+$

Description for the out payment.

accountobject(account)
out_accountobject(out-account)required
out_account.​account_holderstring<= 100 charactersrequired

Bank account holder name

out_account.​ibanstring<= 34 charactersrequired

Only IBANS from SEPA zones are supported

out_account.​emailstring<= 50 charactersrequired
out_account.​phonestring<= 20 charactersrequired
out_account.​keystring<= 255 characters

Custom string controlled by our clients

out_account.​country_codestringDeprecated

Bank account country code

methodstringrequired
Default "transfer"
Enum"transfer""mb"
Example: "transfer"
timestampstringrequired

Unix timestamp UTC, must be no more than 1 minute before or after real time, if not the strong authentication signature will not be valid

curl -i -X POST \
  https://api.test.easypay.pt/2.0/out_payment \
  -H 'AccountId: 2b0f63e2-9fb5-4e52-aca0-b4bf0339bbe6' \
  -H 'ApiKey: eae4aa59-8e5b-4ec2-887d-b02768481a92' \
  -H 'Content-Type: application/json' \
  -H 'Signature: YOUR_API_KEY_HERE' \
  -d '{
    "customer": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "Customer Example",
      "email": "user@example.com",
      "phone": "911234567",
      "phone_indicative": "+351",
      "fiscal_number": "PT123456789",
      "key": "Example Key",
      "language": "PT"
    },
    "key": "Example Key",
    "value": 0.5,
    "type": "normal",
    "schedule_at": "2019-08-24T14:15:22Z",
    "descriptive": "Descriptive Example",
    "account": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    },
    "out_account": {
      "account_holder": "Acount Name Example",
      "iban": "PT50002700000001234567833",
      "email": "customer@example.com",
      "phone": "351911234567",
      "key": "Key Example",
      "country_code": "PT"
    },
    "method": "transfer",
    "timestamp": "1696642539"
  }'

Responses

Created

Bodyapplication/json
statusstring
Example: "ok"
messageArray of strings
Example: ["Your request was successfully created"]
idstring(uuid)

A unique identifier for the resource. While typically formatted as a UUID (Universally Unique Identifier), it can also be in other formats as defined by the user. This field ensures the resource can be distinctly recognized and referenced.

methodobject
customerobject

Customer associated with the out payment.

out_accountobject

Destination SEPA bank account for the out payment.

Response
application/json
{ "status": "ok", "message": [ "Your request was successfully created" ], "id": "c6056234-a3f9-42de-b944-3ed793fcb6bb", "method": { "type": "transfer", "status": "pending" }, "customer": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08" }, "out_account": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08" } }

Request

Security
accountId and apiKey
Path
idstring(uuid)required

Resource Identification

curl -i -X GET \
  'https://api.test.easypay.pt/2.0/out_payment/{id}' \
  -H 'AccountId: 2b0f63e2-9fb5-4e52-aca0-b4bf0339bbe6' \
  -H 'ApiKey: eae4aa59-8e5b-4ec2-887d-b02768481a92'

Responses

OK

Bodyapplication/json
idstring(uuid)

A unique identifier for the resource. While typically formatted as a UUID (Universally Unique Identifier), it can also be in other formats as defined by the user. This field ensures the resource can be distinctly recognized and referenced.

statusstring

Status of the out payment.

Enum"success""pending""deleted""delayed"
typestring

Type of out payment.

Enum"normal""instant"
methodstring

Method used for the out payment.

Enum"transfer""mb"
customerobject

Customer associated with the out payment.

accountobject

Easypay account from which the funds are transferred.

out_accountobject

Destination SEPA bank account for the out payment.

keystring

Merchant reference key for the out payment.

valuenumber(double)

Amount to be transferred.

schedule_atstring

Scheduled date and time for the out payment (YYYY-MM-DD HH:MM:SS).

transactionsobject(out-payment-transactions)

Transaction related to the out payment.

created_atstring

Date and time when the out payment was created.

Example: "2022-09-15 20:28:58"
timestampstring

Timestamp of the last update or event for this out payment.

Example: "1749054192"
Response
application/json
{ "id": "760d105e-950d-4b41-8017-cad840ca3baa", "status": "success", "type": "normal", "method": "transfer", "descriptive": "descriptive", "customer": { "id": "7e47c256-4bea-41a8-b578-727d60004c7a" }, "account": { "id": "76f190b9-2b8a-4bd0-9490-411241a9dc81" }, "out_account": { "id": "343a8a78-8deb-4d4a-aa41-0a9140c95346" }, "key": "Example Key", "value": 1, "schedule_at": "2022-11-25 10:30:11", "transactions": [ {} ], "created_at": "2022-11-25 10:30:14" }

Request

If the payment is not processed, it will be cancelled.
Get your strong authentication RSA private key from Easypay Backoffice on menu:
Web Services->Configuration API 2.0->Keys.

Security
accountId and apiKey
Path
idstring(uuid)required

Resource Identification

curl -i -X DELETE \
  'https://api.test.easypay.pt/2.0/out_payment/{id}' \
  -H 'AccountId: 2b0f63e2-9fb5-4e52-aca0-b4bf0339bbe6' \
  -H 'ApiKey: eae4aa59-8e5b-4ec2-887d-b02768481a92'

Responses

No Content

Response
No content

Config

Configure account URLs for notifications and credit card transactions

Operations

Checkout

Embedded payment form solution for websites

Operations

System

System health check endpoints

Operations