Skip to content

Create subscription payment

Request

Creates a Subscription.

Required scope: subscription:create

Security
accountId and apiKey
Bodyapplication/jsonrequired

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.

Example:"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.

Example:"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.

Example:"Example Key"
valuenumber, (double), >= 0.5required

The payment value.
Will be rounded to 2 decimals.

Example:12.55
frequencystring(Frequency)required

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.

Default:false
start_timestring, (Y-m-d H:i)required

Defining the start of billing cycles.

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

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

Default:false
capture_nowboolean

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

Default: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.

Default:0
methodstringrequired

The payment methods.

Enum:"CC""DD"
Example:"CC"
sdd_mandateobject(SddMandate)

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"
  }'

Responses

Created

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

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

methodobject(SubscriptionMethodResponseOnDetail)
transactionsArray of objects(payment-transactions)
currencystring(Currency)

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

Value:"EUR"
Example:"EUR"
valuenumber, (double)
Example:10.55
created_atstring, (date-time)
Example:"2025-08-05 13:44:29"
Response
Success
{ "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" } }