# Create frequent payment Frequent payments are repeatable transactions of varying sums without the client having to enter their payment details again. It is possible to limit the transferred sums by choosing minimum or maximum values, either to the total sum of the transactions or each individual transaction. Supported methods for frequent payments are: Credit Card, MB WAY, Multibanco, Direct Debit and Virtual IBAN Endpoint: POST /frequent Version: 2.0 Security: accountId, apiKey ## Request fields (application/json): - `expiration_time` (string) Expiration date and time for the payment in YYYY-MM-DD HH:mm format Example: "2038-12-12 16:05" - `currency` (string) Currency code for the payment Enum: "EUR", "BRL" - `customer` (object, 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.id` (string) Unique identifier for the customer. When provided, it links the transaction to an existing customer record. Example: "649e88cf-0b78-4c36-8f99-33f5ebb812a1" - `customer.name` (string) Full name of the customer. This is typically displayed on receipts and statements. Example: "John Doe" - `customer.email` (string) Customer's email address. Used for sending receipts, notifications, and payment confirmations. Example: "john.doe@example.com" - `customer.phone` (string) 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_indicative` (string) 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_number` (string) Customer's tax identification number or fiscal number. Format may vary by country. Example: "PT123456789" - `customer.key` (string) 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.language` (string) Preferred language for customer communications. Uses ISO 639-1 language codes. Enum: "PT", "EN", "ES" - `key` (string) The merchant's key for identifying the payment. Example: "Key Example" - `min_value` (number) Minimum value allowed for transactions Example: 10 - `max_value` (number) Maximum value allowed for transactions Example: 25.5 - `unlimited_payments` (boolean) Transactions will be unlimited, max or min value will be refreshed on each payment. - `method` (string, required) Payment method type Enum: "mb", "cc", "dd", "mbw", "vi" - `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" - `multibanco` (object) Configuration of the Multibanco payment - `multibanco.reference` (string, required) This field controls which reference is going to be created. It's only available if you have an exclusive Multibanco entity. Example: "505237431" ## Response 201 fields (application/json): - `status` (string) Status of the request Example: "ok" - `message` (array) Array of status messages Example: ["Your request was successfully created"] - `id` (string) Unique identifier for the created frequent payment Example: "86401037-1c8d-4cf3-9172-d0a29b17b9fd" - `method` (object) Payment method details - `method.type` (string) Payment method type Enum: "mb", "cc", "dd", "mbw", "vi" - `method.status` (string) Current status of the payment method Enum: "waiting", "pending", "active", "deleted", "success" - `method.entity` (string) Entity identifier Example: "59126" - `method.reference` (string) Payment reference Example: "810000618" - `method.url` (string) Only returns if the payment is a Credit Card. Example: "https://cc.test.easypay.pt/start/980d4826-8574-4782-8450-18db150b7c26" - `method.sdd_mandate` (object) SDD Mandate information as returned in detail responses - `method.sdd_mandate.id` (string) Mandate ID Example: "50389142122" - `method.sdd_mandate.iban` (string) International Bank Account Number (IBAN) in standard format - `method.sdd_mandate.key` (string) Mandate key Example: "Sdd mandate Key Example" - `method.sdd_mandate.name` (string) Account holder name Example: "John Doe" - `method.sdd_mandate.email` (string) Account holder email Example: "john.doe@easypay.pt" - `method.sdd_mandate.phone` (string) Account holder phone Example: "911345678" - `method.sdd_mandate.account_holder` (string) Account holder name as registered with bank Example: "John Doe" - `method.sdd_mandate.country_code` (string) Country code Example: "PT" - `method.sdd_mandate.max_num_debits` (string) Maximum number of debits allowed Example: "12" - `method.sdd_mandate.billing_entity` (string) Billing entity identifier Example: "PT16103627" - `method.sdd_mandate.reference_adc` (string) Example: "987654321123" - `customer` (object) Customer information - `customer.id` (string) Customer unique identifier Example: "e7bb115b-3e59-441a-bdb4-60b0f066c2d0" ## 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 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 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.