Saltar para o conteúdo
Transferir a descrição da OpenAPI
Visão geral
Easypay Documentation
Licença
Idiomas
Servidores
Sandbox
https://api.test.easypay.pt/2.0
Production
https://api.prod.easypay.pt/2.0

Create and manage one-time payment transactions

Operações

Tokenize payment details for variable on-demand charges

Operações

Set up and manage automated recurring payments

Operações

Pedido

Full report with all the subscriptions payments from your Account Id

Segurança
accountId and apiKey
Consulta
pagenumber

Page Number

records_per_pagenumber

Limit records per page (Max: 100)

Padrão 20
expiration_timestring

Filter by expiration time interval (max 30 days)

methodstring

Filter by method

customerstring

Filter by customer key

idstring

Filter by id

keystring

Filter by subscription key

created_atstring

Filter by created datetime interval (max 30 days)

statusstring

Filter by Subscription Status

Exemplo: status=active
valuestring

Filter by Subscription Value

Exemplo: value=10.55
curl -i -X GET \
  'https://api.test.easypay.pt/2.0/subscription?page=0&records_per_page=20&expiration_time=string&method=string&customer=string&id=string&key=string&created_at=string&status=active&value=10.55' \
  -H 'AccountId: 2b0f63e2-9fb5-4e52-aca0-b4bf0339bbe6' \
  -H 'ApiKey: eae4aa59-8e5b-4ec2-887d-b02768481a92'

Respostas

OK

Corpoapplication/json
dataArray of objects(subscription-response-on-list)
metaobject(meta)

Metadata object containing pagination and result information for list responses.

Resposta
application/json
{ "data": [ {} ], "meta": { "page": {}, "records": {}, "links": {} } }

Pedido

Creates a Subscription.

Segurança
accountId and apiKey
Corpoapplication/jsonobrigatório

Payment configuration object to generate a payment

frequent_idstring(uuid)

Only required to create a subscription from an active Frequent Payment.
Some properties like customer and sdd_mandate are inherited by the subscriptions.
So it's not necessary to send them in the request creation.

Exemplo: "9234ef0f-b666-41cc-8ad2-5b54c1a84150"
captureobject
expiration_timestring(Y-m-d H:i)

The last possible time to make the payment.
Required only when max_captures and/or unlimited_payments are NOT set.

Exemplo: "2037-12-12 16:05"
currencystring

The currency code in ISO 4217 format (e.g., "EUR" for Euro). This field specifies the type of currency used in financial operation.

customerobject(customer)

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.

keystring<= 50 characters

The merchant's key for identifying the payment.

Exemplo: "Example Key"
valuenumber(double)>= 0.5obrigatório

The payment value.
Will be rounded to 2 decimals.

Exemplo: 12.55
frequencystring(frequency)obrigatório

Defining the frequency that the cycles are charged.

Enum"1D""1W""2W""1M""2M""3M""4M""6M""1Y""2Y"
max_capturesinteger

Defining the total of cycles that will be charged.
Required only when expiration_time and/or unlimited_payments are NOT set.

unlimited_paymentsboolean

When this property is set, unlimited cycles will be charged until the subscription is inactivated or deleted.

Padrão false
start_timestring(Y-m-d H:i)obrigatório

Defining the start of billing cycles.

Exemplo: "2027-01-11 16:05"
failoverboolean

After all retries failed, the payment cycle can have another try with another single method.

Padrão false
capture_nowboolean

Whether to schedule an immediate capture and schedule the second one for start_time.

Padrão false
retriesinteger

Number of tries for every cycle of payments.
The maximum number of retries that can occur will be determined by the frequency that is selected.
If a capture is unsuccessful for any reason, it will attempt to charge once more until the allotted number of attempts is reached.

Padrão 0
methodstringobrigatório

The payment methods.

Enum"cc""dd"
Exemplo: "cc"
sdd_mandateobject(sdd-mandate)

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.

curl -i -X POST \
  https://api.test.easypay.pt/2.0/subscription \
  -H 'AccountId: 2b0f63e2-9fb5-4e52-aca0-b4bf0339bbe6' \
  -H 'ApiKey: eae4aa59-8e5b-4ec2-887d-b02768481a92' \
  -H 'Content-Type: application/json' \
  -d '{
    "expiration_time": "2022-12-04 12:00",
    "max_captures": 2,
    "start_time": "2022-12-04 12:00",
    "value": 17.55,
    "frequency": "1D",
    "method": "cc"
  }'

Respostas

Created

Corpoapplication/json
idstring(uuid)
Exemplo: "458b2fc4-3092-4de3-abd4-fe1600c09420"
statusstring
Exemplo: "ok"
keystring
Exemplo: "payment 02536985"
expiration_timestring(date-time)
Exemplo: "2099-01-15 00:00"
start_timestring(date-time)
Exemplo: "2027-01-15 00:00"
frequencyany
Enum"1D""1W""2W""1M""2M""3M""4M""6M""1Y""2Y"
retriesinteger
Exemplo: 2
max_capturesinteger
Exemplo: 12
failoverboolean
Padrão false
capture_nowboolean
unlimited_paymentsboolean
customerobject(customer-response-on-detail)

The Customer object contains detailed information about the customer involved in the transaction.

methodobject(subscription-method-response-on-detail)
transactionsArray of objects(payment-transactions)
currencystring(currency)

ISO 4217 currency code. If not specified, the default currency is set to EUR.

Valor"EUR"
valuenumber(double)
Exemplo: 10.55
created_atstring(date-time)
Exemplo: "2025-08-05 13:44:29"
Resposta
application/json
{ "status": "ok", "message": { "id": "458b2fc4-3092-4de3-abd4-fe1600c09420", "key": "subscription 02536985", "expiration_time": "2099-01-15 00:00", "start_time": "2027-01-15 00:00", "frequency": "1M", "retries": 2, "max_captures": 12, "failover": false, "capture_now": true, "unlimited_payments": false, "customer": {}, "method": {}, "transactions": [], "currency": "EUR", "value": 10.55, "created_at": "2025-08-05 13:44:29" } }

Shows subscription payment details

Pedido

Retrieves the subscription payment details

Segurança
accountId and apiKey
Caminho
idstring(uuid)obrigatório

Resource Identification

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

Respostas

OK

Corpoapplication/json
idstring(uuid)
Exemplo: "458b2fc4-3092-4de3-abd4-fe1600c09420"
statusstring
Exemplo: "ok"
keystring
Exemplo: "payment 02536985"
expiration_timestring(date-time)
Exemplo: "2099-01-15 00:00"
start_timestring(date-time)
Exemplo: "2027-01-15 00:00"
frequencyany
Enum"1D""1W""2W""1M""2M""3M""4M""6M""1Y""2Y"
retriesinteger
Exemplo: 2
max_capturesinteger
Exemplo: 12
failoverboolean
Padrão false
capture_nowboolean
unlimited_paymentsboolean
customerobject(customer-response-on-detail)

The Customer object contains detailed information about the customer involved in the transaction.

methodobject(subscription-method-response-on-detail)
transactionsArray of objects(payment-transactions)
currencystring(currency)

ISO 4217 currency code. If not specified, the default currency is set to EUR.

Valor"EUR"
valuenumber(double)
Exemplo: 10.55
created_atstring(date-time)
Exemplo: "2025-08-05 13:44:29"
Resposta
application/json
{ "id": "458b2fc4-3092-4de3-abd4-fe1600c09420", "key": "subscription 02536985", "expiration_time": "2099-01-15 00:00", "start_time": "2027-01-15 00:00", "frequency": "1M", "retries": 2, "max_captures": 12, "failover": false, "capture_now": true, "unlimited_payments": false, "customer": { "id": "e66c4f80-3dc6-11eb-b378-0242ac130002", "name": "João Silva", "email": "joao.silva@test.com", "phone": "+351911234567", "fiscal_number": "123456789", "key": "customer_key_123", "phone_indicators": {} }, "method": { "type": "CC", "status": "active", "url": "https://cc.easypay.pt/v3/public/card-details/cec55ab6-bda3-4ab3-af22-04d2ad2c046a", "last_four": "2222", "card_type": "VISA", "expiration_date": "07/29" }, "transactions": [ {} ], "currency": "EUR", "value": 10.55, "created_at": "2025-08-05 13:44:29" }

Pedido

Deletes the subscription

Segurança
accountId and apiKey
Caminho
idstring(uuid)obrigatório

Resource Identification

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

Respostas

No Content

Resposta
Sem conteúdo

Updates subscription payment details

Pedido

Updates the subscription payment details

Segurança
accountId and apiKey
Caminho
idstring(uuid)obrigatório

Resource Identification

Corpoapplication/jsonobrigatório

Subscription Payment object to edit existing one

statusstring

The Subscription Status.
When sets to inactive the next pending cycles will be deleted.
When sets to active a new billing cycle will be schedule accordingly the new frequency and start_time.
Those properties are required to active a subscription.

Enum"active""inactive"
Exemplo: "active"
captureobject
expiration_timestring(Y-m-d H:i)
Exemplo: "2039-12-12 16:05"
currencystring(currency)

ISO 4217 currency code. If not specified, the default currency is set to EUR.

Valor"EUR"
customerobject(updatable-customer)

The Customer object contains detailed information about the customer involved in the transaction. Used for update operations where all fields are optional.

keystring<= 50 characters

The merchant's key for identifying the payment.

Exemplo: "Example Key"
valuenumber(double)>= 0.5

The payment value.
Will be rounded to 2 decimals.

Exemplo: 12.55
frequencystring(frequency)

Defining the frequency that the cycles are charged.

Enum"1D""1W""2W""1M""2M""3M""4M""6M""1Y""2Y"
max_capturesinteger

Defining the total of cycles that will be charged.
When this property is set, unlimited_payments will be inactivated.

unlimited_paymentsboolean

When this property is set, unlimited cycles will be charged until the subscription is inactivated or deleted.

start_timestring(Y-m-d H:i)

Defining the start of billing cycles.

Exemplo: "2025-12-12 16:05"
failoverboolean

After all retries failed, the payment cycle can have another try with another single method.

Padrão false
retriesinteger

Number of retries in each payment cycle.
The chosen frequency will define the max number of possible retries.

Padrão 0
sdd_mandateobject(sdd-mandate)

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.

curl -i -X PATCH \
  'https://api.test.easypay.pt/2.0/subscription/{id}' \
  -H 'AccountId: 2b0f63e2-9fb5-4e52-aca0-b4bf0339bbe6' \
  -H 'ApiKey: eae4aa59-8e5b-4ec2-887d-b02768481a92' \
  -H 'Content-Type: application/json' \
  -d '{
    "capture": {
      "transaction_key": "Transaction Key",
      "descriptive": "subscription"
    },
    "retries": 2,
    "customer": {
      "email": "john.doe@example.com",
      "key": "Customer Key",
      "language": "PT"
    },
    "key": "Payment Key Key",
    "max_captures": 12,
    "start_time": "2025-08-06 11:07",
    "expiration_time": "2099-08-06 11:07",
    "value": 10.99,
    "frequency": "1M",
    "method": "dd",
    "sdd_mandate": {
      "iban": "PT50002700000001234567833",
      "name": "John Doe",
      "email": "john.doe@example.com",
      "phone": "911234567",
      "account_holder": "John Doe",
      "key": "SDD Mandate key",
      "max_num_debits": "12"
    }
  }'

Respostas

OK

Corpoapplication/json
statusstring
Exemplo: "ok"
messageobject(subscription-response-on-detail)

Subscription object that returns after a success request.

Resposta
application/json
{ "status": "ok", "message": { "id": "458b2fc4-3092-4de3-abd4-fe1600c09420", "key": "subscription 02536985", "expiration_time": "2099-01-15 00:00", "start_time": "2027-01-15 00:00", "frequency": "1M", "retries": 2, "max_captures": 12, "failover": false, "capture_now": true, "unlimited_payments": false, "customer": {}, "method": {}, "transactions": [], "currency": "EUR", "value": 10.55, "created_at": "2025-08-05 13:44:29" } }

Operations for managing payment captures

Operações

Operations for managing payment authorisations

Operações

Operations for managing payment voids

Operações

Operations for managing payment refunds

Operações

Operations for managing chargebacks

Operações

Configure and manage webhook notifications for payment events

Webhooks

Access transaction and ledger reports

Operações

Transfer funds from Easypay accounts to SEPA bank accounts

Operações

Configure account URLs for notifications and credit card transactions

Operações

Embedded payment form solution for websites

Operações

System health check endpoints

Operações