# Updates subscription payment details Updates the subscription payment details Endpoint: PATCH /subscription/{id} Version: 2.0 Security: accountId, apiKey ## Path parameters: - `id` (string, required) Resource Identification ## Request fields (application/json): - `status` (string) 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" - `capture` (object) - `capture.transaction_key` (string) The internal key used to identify this transaction in the merchant's database. - `capture.account` (object) For multi-account clients. - `capture.account.id` (string) The uuid of the account. - `capture.descriptive` (string) The description of the capture. Will be displayed in the bank statement or in the MB WAY application. - `expiration_time` (string) Example: "2039-12-12 16:05" - `currency` (string) ISO 4217 currency code. If not specified, the default currency is set to EUR. Enum: "EUR" - `customer` (object) The Customer object contains detailed information about the customer involved in the transaction. Used for update operations where all fields are optional. - `customer.name` (string) The full name of the customer. This field is used to identify the customer and personalize interactions. Example: "Jonh Doe" - `customer.email` (string) The email address of the customer. Used for communication purposes, including sending transaction confirmations and receipts. Example: "customer@example.com" - `customer.phone` (string) The contact phone number of the customer, excluding the country code indicator. Used for communication purposes. Example: "962496235" - `customer.phone_indicative` (string) The country code indicator for the customer's phone number (e.g., "351" for Portugal). Example: "351" - `customer.fiscal_number` (string) The customer's fiscal number (prefixed by the country code). Example: "PT277712580" - `customer.key` (string) 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. - `customer.language` (string) The language preference of the customer, specified in the ISO 639-1 Alpha-2 format (e.g., "EN" for English, "PT" for Portuguese). Example: "PT" - `key` (string) The merchant's key for identifying the payment. Example: "Example Key" - `value` (number) The payment value.Will be rounded to 2 decimals. Example: 12.55 - `frequency` (string) Defining the frequency that the cycles are charged. Enum: "1D", "1W", "2W", "1M", "2M", "3M", "4M", "6M", "1Y", "2Y", "3Y" - `max_captures` (integer) Defining the total of cycles that will be charged. When this property is set, unlimited_payments will be inactivated. - `unlimited_payments` (boolean) When this property is set, unlimited cycles will be charged until the subscription is inactivated or deleted. - `start_time` (string) Defining the start of billing cycles. Example: "2025-12-12 16:05" - `failover` (boolean) After all retries failed, the payment cycle can have another try with another single method. - `retries` (integer) Number of retries in each payment cycle. The chosen frequency will define the max number of possible retries. - `sdd_mandate` (object) 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. - `sdd_mandate.iban` (string, required) The International Bank Account Number (IBAN) of the debtor's account. This field is used to uniquely identify the debtor's bank account across international borders, ensuring accurate and efficient processing of SEPA Direct Debit transactions. The IBAN is a standardized format that includes the country code, check digits, bank code, and account number. Example: "PT50002700000001234567833" - `sdd_mandate.key` (string) A customizable text field for users to input their own identifier for the SDD mandate. Example: "Sdd mandate Key Example" - `sdd_mandate.name` (string, required) Full name of the account holder as it appears on the bank account. Example: "John Doe" - `sdd_mandate.email` (string, required) Email address of the account holder for mandate-related communications. Example: "john.doe@example.com" - `sdd_mandate.phone` (string, required) Phone number of the account holder without country code. Example: "911234567" - `sdd_mandate.account_holder` (string, required) The name of the person or entity that holds the bank account. This field is used to identify the owner of the bank account involved in the transaction, ensuring that the correct account is credited or debited. Example: "John Doe" - `sdd_mandate.country_code` (string) ISO 3166-1 alpha-2 country code of the customer's country. Example: "PT" - `sdd_mandate.max_num_debits` (string) Maximum number of debits allowed under this mandate. Example: "12" - `sdd_mandate.billing_entity` (string) The entity responsible for billing in the context of the SEPA Direct Debit (SDD) mandate. Example: "PT16103627" ## Response 200 fields (application/json): - `status` (string) Example: "ok" - `message` (object) Subscription object that returns after a success request. - `message.id` (string) Example: "458b2fc4-3092-4de3-abd4-fe1600c09420" - `message.key` (string) Example: "payment 02536985" - `message.expiration_time` (string) Example: "2099-01-15 00:00" - `message.start_time` (string) Example: "2027-01-15 00:00" - `message.frequency` (any) Enum: "1D", "1W", "2W", "1M", "2M", "3M", "4M", "6M", "1Y", "2Y", "3Y" - `message.retries` (integer) Example: 2 - `message.max_captures` (integer) Example: 12 - `message.failover` (boolean) - `message.capture_now` (boolean) - `message.unlimited_payments` (boolean) - `message.customer` (object) The Customer object contains detailed information about the customer involved in the transaction. - `message.customer.name` (string) Example: "Joey Price" - `message.customer.email` (string) Example: "john.doe@yahoo.com" - `message.customer.phone` (string) Example: "911234567" - `message.customer.phone_indicative` (string) Example: "+351" - `message.customer.fiscal_number` (string) Example: "PT921839198892623010" - `message.customer.language` (string) Example: "PT" - `message.method` (object) - `message.method.type` (any) Enum: "CC", "DD" - `message.method.url` (string) Example: "https://cc.easypay.pt/v3/public/card-details/cec55ab6-bda3-4ab3-af22-04d2ad2c046a" - `message.method.last_four` (string) Example: "2222" - `message.method.card_type` (string) Example: "VISA" - `message.method.expiration_date` (string) Example: "07/29" - `message.method.sdd_mandate` (object) SDD Mandate information as returned in detail responses - `message.method.sdd_mandate.id` (string) Mandate ID Example: "50389142122" - `message.method.sdd_mandate.iban` (string) International Bank Account Number (IBAN) in standard format - `message.method.sdd_mandate.key` (string) Mandate key Example: "Sdd mandate Key Example" - `message.method.sdd_mandate.name` (string) Account holder name Example: "John Doe" - `message.method.sdd_mandate.email` (string) Account holder email Example: "john.doe@easypay.pt" - `message.method.sdd_mandate.phone` (string) Account holder phone Example: "911345678" - `message.method.sdd_mandate.account_holder` (string) Account holder name as registered with bank Example: "John Doe" - `message.method.sdd_mandate.country_code` (string) Country code Example: "PT" - `message.method.sdd_mandate.max_num_debits` (string) Maximum number of debits allowed Example: "12" - `message.method.sdd_mandate.billing_entity` (string) Billing entity identifier Example: "PT16103627" - `message.method.sdd_mandate.reference_adc` (string) Example: "987654321123" - `message.transactions` (array) - `message.transactions.id` (string) Unique identifier for the transaction Example: "4fb3ac57-c7fe-4157-aeb7-4362ae24deec" - `message.transactions.key` (string) Merchant identification key Example: "Merchant identification key" - `message.transactions.created_at` (string) When the transaction was created Example: "2025-05-30T17:21:46Z" - `message.transactions.date` (string) Transaction date Example: "2025-05-30T17:21:47Z" - `message.transactions.values` (object) Transaction value breakdown - `message.transactions.values.requested` (number) Requested amount Example: 12.55 - `message.transactions.values.paid` (number) Amount actually paid Example: 12.55 - `message.transactions.values.fixed_fee` (number) Fixed fee charged Example: 0.07 - `message.transactions.values.variable_fee` (number) Variable fee charged Example: 0.09 - `message.transactions.values.tax` (number) Tax amount Example: 0.04 - `message.transactions.values.transfer` (number) Amount transferred to merchant Example: 12.35 - `message.transactions.transfer_date` (string) When the transfer occurred Example: "2025-06-02T00:00:00Z" - `message.transactions.transfer_batch` (string) Transfer batch identifier - `message.transactions.method` (string) Payment method used Example: "mbw" - `message.transactions.document_number` (string) Document number for the transaction Example: "MARCEL0208220628294020250530172147" - `message.transactions.descriptive` (string) Transaction description Example: "Descriptive Josefa" - `message.currency` (string) ISO 4217 currency code. If not specified, the default currency is set to EUR. Enum: "EUR" - `message.value` (number) Example: 10.55 - `message.created_at` (string) Example: "2025-08-05 13:44:29" ## Response 400 fields (application/json): - `status` (string, required) - `message` (array, required) An array of human-readable messages included in the response. These messages provide detailed information about the success of the operation or explain the reasons for any failure. This field is always present in the response to ensure clarity and transparency regarding the outcome of the API request. ## Response 401 fields (application/json): - `status` (string, required) - `message` (array, required) An array of human-readable messages included in the response. These messages provide detailed information about the success of the operation or explain the reasons for any failure. This field is always present in the response to ensure clarity and transparency regarding the outcome of the API request. ## Response 403 fields (application/json): - `status` (string, required) - `message` (array, required) An array of human-readable messages included in the response. These messages provide detailed information about the success of the operation or explain the reasons for any failure. This field is always present in the response to ensure clarity and transparency regarding the outcome of the API request. ## Response 404 fields (application/json): - `status` (string, required) - `message` (array, required) An array of human-readable messages included in the response. These messages provide detailed information about the success of the operation or explain the reasons for any failure. This field is always present in the response to ensure clarity and transparency regarding the outcome of the API request. ## Response 412 fields (application/json): - `status` (string, required) - `message` (array, required) An array of human-readable messages included in the response. These messages provide detailed information about the success of the operation or explain the reasons for any failure. This field is always present in the response to ensure clarity and transparency regarding the outcome of the API request. ## Response 429 fields (application/json): - `status` (string, required) - `message` (array, required) An array of human-readable messages included in the response. These messages provide detailed information about the success of the operation or explain the reasons for any failure. This field is always present in the response to ensure clarity and transparency regarding the outcome of the API request. ## Response 500 fields (application/json): - `status` (string, required) - `message` (array, required) An array of human-readable messages included in the response. These messages provide detailed information about the success of the operation or explain the reasons for any failure. This field is always present in the response to ensure clarity and transparency regarding the outcome of the API request.