Create and manage one-time payment transactions
- Updates subscription payment details
Easypay Payments API (2.0)
- Sandboxhttps://api.test.easypay.pt/2.0/subscription
- Productionhttps://api.prod.easypay.pt/2.0/subscription
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
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'{ "data": [ { … } ], "meta": { "page": { … }, "records": { … }, "links": { … } } }
Payment configuration object to generate a payment
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.
The last possible time to make the payment.
Required only when max_captures and/or unlimited_payments are NOT set.
The currency code in ISO 4217 format (e.g., "EUR" for Euro). This field specifies the type of currency used in financial operation.
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.
Defining the frequency that the cycles are charged.
Defining the total of cycles that will be charged.
Required only when expiration_time and/or unlimited_payments are NOT set.
When this property is set, unlimited cycles will be charged until the subscription is inactivated or deleted.
Defining the start of billing cycles.
After all retries failed, the payment cycle can have another try with another single method.
Whether to schedule an immediate capture and schedule the second one for start_time.
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.
- Sandboxhttps://api.test.easypay.pt/2.0/subscription
- Productionhttps://api.prod.easypay.pt/2.0/subscription
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
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"
}'{ "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" } }
- Sandboxhttps://api.test.easypay.pt/2.0/subscription/{id}
- Productionhttps://api.prod.easypay.pt/2.0/subscription/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
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'{ "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" }
- Sandboxhttps://api.test.easypay.pt/2.0/subscription/{id}
- Productionhttps://api.prod.easypay.pt/2.0/subscription/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
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'Subscription Payment object to edit existing one
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.
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.
Defining the frequency that the cycles are charged.
Defining the total of cycles that will be charged.
When this property is set, unlimited_payments will be inactivated.
When this property is set, unlimited cycles will be charged until the subscription is inactivated or deleted.
After all retries failed, the payment cycle can have another try with another single method.
Number of retries in each payment cycle.
The chosen frequency will define the max number of possible retries.
- Sandboxhttps://api.test.easypay.pt/2.0/subscription/{id}
- Productionhttps://api.prod.easypay.pt/2.0/subscription/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
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"
}
}'{ "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" } }