# Get payment method Retrieve a single payment method by its ID. If a method is not available on this profile, a `404 Not Found` response is returned. If the method is available but not enabled yet, a status `403 Forbidden` is returned. You can enable payments methods via the [Enable payment method endpoint](enable-method) of the Profiles API, or via the Mollie Dashboard. If you do not know the method's ID, you can use the [methods list endpoint](list-methods) to retrieve all payment methods that are available. Additionally, it is possible to check if wallet methods such as Apple Pay are enabled by passing the wallet ID (`applepay`) as the method ID. > 🔑 Access with > > [API key](/reference/authentication) > > [Organization access token with **payments.read**](/reference/authentication) > > [OAuth access with **payments.read**](/reference/authentication) # OpenAPI definition ```json { "openapi": "3.1.0", "info": { "title": "Accepting payments", "version": "1.0.0", "license": { "name": "Attribution-NonCommercial-ShareAlike 4.0 International", "identifier": "CC-BY-NC-SA-4.0" } }, "servers": [ { "url": "https://api.mollie.com/v2" } ], "security": [ { "apiKey": [] }, { "organizationAccessToken": [] }, { "oAuth": [] } ], "paths": { "/methods/{methodId}": { "parameters": [ { "name": "methodId", "description": "Provide the ID of the related payment method.\n\nPossible values: `alma` `applepay` `bacs` `bancomatpay` `bancontact` `banktransfer` `belfius` `billie` `bizum` `blik` `creditcard` `directdebit` `eps` `giftcard` `ideal` `in3` `kbc` `klarna` `mbway` `mobilepay` `multibanco` `mybank` `paybybank` `paypal` `paysafecard` `pointofsale` `przelewy24` `riverty` `satispay` `swish` `trustly` `twint` `vipps` `voucher`", "in": "path", "required": true, "schema": { "type": [ "string", "null" ], "description": "Normally, a payment method screen is shown. However, when using this parameter, you can choose a specific payment method and your customer will skip the selection screen and is sent directly to the chosen payment method. The parameter enables you to fully integrate the payment method selection into your website.\n\nYou can also specify the methods in an array. By doing so we will still show the payment method selection screen but will only show the methods specified in the array. For example, you can use this functionality to only show payment methods from a specific country to your customer `['bancontact', 'belfius']`.\n\nPossible values: `alma` `applepay` `bacs` `bancomatpay` `bancontact` `banktransfer` `belfius` `billie` `bizum` `blik` `creditcard` `directdebit` `eps` `giftcard` `ideal` `in3` `kbc` `klarna` `mbway` `mobilepay` `multibanco` `mybank` `paybybank` `paypal` `paysafecard` `pointofsale` `przelewy24` `riverty` `satispay` `swish` `trustly` `twint` `vipps` `voucher`", "example": "ideal", "x-deprecated-enum": [ "klarnapaylater", "klarnapaynow", "klarnasliceit", "payconiq" ], "x-speakeasy-enum-descriptions": { "klarnapaylater": "Deprecated, use 'klarna' instead", "klarnapaynow": "Deprecated, use 'klarna' instead", "klarnasliceit": "Deprecated, use 'klarna' instead", "payconiq": "No longer available" } } } ], "get": { "summary": "Get payment method", "x-speakeasy-name-override": "get", "tags": [ "Methods API" ], "operationId": "get-method", "security": [ { "apiKey": [] }, { "organizationAccessToken": [ "payments.read" ] }, { "oAuth": [ "payments.read" ] } ], "description": "Retrieve a single payment method by its ID.\n\nIf a method is not available on this profile, a `404 Not Found` response is returned. If the method is available but not enabled yet, a status `403 Forbidden` is returned. You can enable payments methods via the [Enable payment method endpoint](enable-method) of the Profiles API, or via the Mollie Dashboard.\n\nIf you do not know the method's ID, you can use the [methods list endpoint](list-methods) to retrieve all payment methods that are available.\n\nAdditionally, it is possible to check if wallet methods such as Apple Pay are enabled by passing the wallet ID (`applepay`) as the method ID.\n\n> 🔑 Access with\n>\n> [API key](/reference/authentication)\n>\n> [Organization access token with **payments.read**](/reference/authentication)\n>\n> [OAuth access with **payments.read**](/reference/authentication)", "parameters": [ { "description": "Passing a locale will sort the payment methods in the preferred order for the country, and translate the payment method names in the corresponding language.", "name": "locale", "in": "query", "schema": { "type": "string", "description": "Allows you to preset the language to be used.\n\nPossible values: `en_US` `en_GB` `nl_NL` `nl_BE` `de_DE` `de_AT` `de_CH` `fr_FR` `fr_BE` `es_ES` `ca_ES` `pt_PT` `it_IT` `nb_NO` `sv_SE` `fi_FI` `da_DK` `is_IS` `hu_HU` `pl_PL` `lv_LV` `lt_LT` `null`", "example": "en_US" } }, { "name": "currency", "description": "If provided, the `minimumAmount` and `maximumAmount` will be converted to the given currency. An error is returned if the currency is not supported by the payment method.", "in": "query", "schema": { "type": "string", "example": "EUR" } }, { "name": "profileId", "description": "The identifier referring to the [profile](get-profile) you wish to retrieve the resources for.\n\nMost API credentials are linked to a single profile. In these cases the `profileId` must not be sent. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.", "in": "query", "schema": { "type": "string", "pattern": "^pfl_.+$", "example": "pfl_5B8cwPMGnU", "description": "The identifier referring to the [profile](get-profile) this entity belongs to.\n\nMost API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required." } }, { "description": "This endpoint allows you to include additional information via the `include` query string parameter.", "schema": { "type": [ "string", "null" ], "enum": [ "issuers" ], "x-enumDescriptions": { "issuers": "Include issuer details such as which iDEAL or gift card issuers are available." }, "example": "issuers" }, "name": "include", "in": "query" }, { "name": "sequenceType", "description": "Set this parameter to `first` to only return the methods that can be used for the first payment of a recurring sequence.\n\nSet it to `recurring` to only return methods that can be used for recurring payments or subscriptions.\n\nPossible values: `oneoff` `first` `recurring`", "in": "query", "schema": { "type": "string", "example": "oneoff" } }, { "name": "testmode", "description": "Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter must not be sent. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`.\n\nTest entities cannot be retrieved when the endpoint is set to live mode, and vice versa.", "in": "query", "schema": { "type": "boolean", "example": false } } ], "responses": { "200": { "description": "The payment method object.", "content": { "application/hal+json": { "schema": { "allOf": [ { "type": "object", "required": [ "resource", "id", "description", "minimumAmount", "maximumAmount", "image", "status", "_links" ], "properties": { "resource": { "type": "string", "description": "Indicates the response contains a payment method object. Will always contain the string `method` for this endpoint.", "readOnly": true, "example": "method" }, "id": { "allOf": [ { "type": [ "string", "null" ], "description": "Normally, a payment method screen is shown. However, when using this parameter, you can choose a specific payment method and your customer will skip the selection screen and is sent directly to the chosen payment method. The parameter enables you to fully integrate the payment method selection into your website.\n\nYou can also specify the methods in an array. By doing so we will still show the payment method selection screen but will only show the methods specified in the array. For example, you can use this functionality to only show payment methods from a specific country to your customer `['bancontact', 'belfius']`.\n\nPossible values: `alma` `applepay` `bacs` `bancomatpay` `bancontact` `banktransfer` `belfius` `billie` `bizum` `blik` `creditcard` `directdebit` `eps` `giftcard` `ideal` `in3` `kbc` `klarna` `mbway` `mobilepay` `multibanco` `mybank` `paybybank` `paypal` `paysafecard` `przelewy24` `riverty` `satispay` `swish` `trustly` `twint` `vipps` `voucher`", "example": "ideal", "x-deprecated-enum": [ "klarnapaylater", "klarnapaynow", "klarnasliceit", "payconiq" ], "x-speakeasy-enum-descriptions": { "klarnapaylater": "Deprecated, use 'klarna' instead", "klarnapaynow": "Deprecated, use 'klarna' instead", "klarnasliceit": "Deprecated, use 'klarna' instead", "payconiq": "No longer available" } } ], "type": "string", "description": "The unique identifier of the payment method. When used during [payment creation](create-payment), the payment method selection screen will be skipped.", "example": "ideal", "readOnly": true }, "description": { "type": "string", "description": "The full name of the payment method.\n\nIf a `locale` parameter is provided, the name is translated to the given locale if possible.", "example": "iDeal", "readOnly": true }, "minimumAmount": { "allOf": [ { "type": "object", "description": "In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field.", "required": [ "currency", "value" ], "properties": { "currency": { "type": "string", "description": "A three-character ISO 4217 currency code.", "example": "EUR" }, "value": { "type": "string", "description": "A string containing an exact monetary amount in the given currency.", "example": "10.00" } } } ], "description": "The minimum payment amount required to use this payment method.", "readOnly": true }, "maximumAmount": { "allOf": [ { "type": [ "object", "null" ], "description": "In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field.", "required": [ "currency", "value" ], "properties": { "currency": { "type": "string", "description": "A three-character ISO 4217 currency code.", "example": "EUR" }, "value": { "type": "string", "description": "A string containing an exact monetary amount in the given currency.", "example": "10.00" } } } ], "description": "The maximum payment amount allowed when using this payment method. If there is no method-specific maximum, `null` is returned instead.", "readOnly": true }, "image": { "type": "object", "description": "URLs of images representing the payment method.", "required": [ "size1x", "size2x", "svg" ], "properties": { "size1x": { "type": "string", "description": "The URL pointing to an icon of 32 by 24 pixels.", "example": "https://..." }, "size2x": { "type": "string", "description": "The URL pointing to an icon of 64 by 48 pixels.", "example": "https://..." }, "svg": { "type": "string", "description": "The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can scale to any desired size without compromising visual quality.", "example": "https://..." } }, "readOnly": true }, "status": { "type": [ "string", "null" ], "description": "The payment method's activation status for this profile.\n\nPossible values: `activated` `pending-boarding` `pending-review` `pending-external` `rejected` ``", "x-enumDescriptions": { "activated": "The payment method is activated and ready for use.", "pending-boarding": "Mollie is waiting for you to finish onboarding in the Merchant Dashboard before the payment method can be activated.", "pending-review": "Mollie needs to review your request for this payment method before it can be activated.", "pending-external": "Activation of this payment method relies on you taking action with an external party, for example signing up with PayPal or a giftcard issuer.", "rejected": "Your request for this payment method was rejected. Whenever Mollie rejects such a request, you will always be informed via email." }, "example": "activated" }, "issuers": { "type": "array", "description": "**Optional include.** Array of objects for each 'issuer' that is available for this payment method. Only relevant for iDEAL, KBC/CBC, gift cards, and vouchers.", "items": { "type": "object", "required": [ "resource", "id", "name", "image" ], "properties": { "resource": { "type": "string", "default": "issuer" }, "id": { "type": "string", "example": "ideal_ABNANL2A" }, "name": { "type": "string", "description": "The full name of the issuer.", "example": "ING Bank" }, "image": { "type": "object", "description": "URLs of images representing the issuer. required:\n - size1x\n - size2x\n - svg", "properties": { "size1x": { "type": "string", "description": "The URL pointing to an icon of 32 by 24 pixels.", "example": "https://..." }, "size2x": { "type": "string", "description": "The URL pointing to an icon of 64 by 48 pixels.", "example": "https://..." }, "svg": { "type": "string", "description": "The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can scale to any desired size without compromising visual quality.", "example": "https://..." } } } }, "readOnly": true } }, "_links": { "type": "object", "description": "An object with several relevant URLs. Every URL object will contain an `href` and a `type` field.", "required": [ "self" ], "properties": { "self": { "type": "object", "description": "In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.", "required": [ "href", "type" ], "properties": { "href": { "type": "string", "description": "The actual URL string.", "example": "https://..." }, "type": { "type": "string", "description": "The content type of the page or endpoint the URL points to.", "example": "application/hal+json" } } }, "documentation": { "type": "object", "description": "In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.", "required": [ "href", "type" ], "properties": { "href": { "type": "string", "description": "The actual URL string.", "example": "https://..." }, "type": { "type": "string", "description": "The content type of the page or endpoint the URL points to.", "example": "application/hal+json" } } } }, "readOnly": true } } }, { "type": "object", "properties": { "id": { "allOf": [ { "type": [ "string", "null" ], "description": "Normally, a payment method screen is shown. However, when using this parameter, you can choose a specific payment method and your customer will skip the selection screen and is sent directly to the chosen payment method. The parameter enables you to fully integrate the payment method selection into your website.\n\nYou can also specify the methods in an array. By doing so we will still show the payment method selection screen but will only show the methods specified in the array. For example, you can use this functionality to only show payment methods from a specific country to your customer `['bancontact', 'belfius']`.\n\nPossible values: `alma` `applepay` `bacs` `bancomatpay` `bancontact` `banktransfer` `belfius` `billie` `bizum` `blik` `creditcard` `directdebit` `eps` `giftcard` `ideal` `in3` `kbc` `klarna` `mbway` `mobilepay` `multibanco` `mybank` `paybybank` `paypal` `paysafecard` `pointofsale` `przelewy24` `riverty` `satispay` `swish` `trustly` `twint` `vipps` `voucher`", "example": "ideal", "x-deprecated-enum": [ "klarnapaylater", "klarnapaynow", "klarnasliceit", "payconiq" ], "x-speakeasy-enum-descriptions": { "klarnapaylater": "Deprecated, use 'klarna' instead", "klarnapaynow": "Deprecated, use 'klarna' instead", "klarnasliceit": "Deprecated, use 'klarna' instead", "payconiq": "No longer available" } } ], "type": "string", "description": "The unique identifier of the payment method. When used during [payment creation](create-payment), the payment method selection screen will be skipped.", "example": "ideal", "readOnly": true } } } ] }, "examples": { "get-method-200-1": { "summary": "The payment method object", "value": { "resource": "method", "id": "ideal", "description": "iDEAL", "minimumAmount": { "value": "0.01", "currency": "EUR" }, "maximumAmount": { "value": "50000.00", "currency": "EUR" }, "image": { "size1x": "https://mollie.com/external/icons/payment-methods/ideal.png", "size2x": "https://mollie.com/external/icons/payment-methods/ideal%402x.png", "svg": "https://mollie.com/external/icons/payment-methods/ideal.svg" }, "status": "activated", "_links": { "self": { "href": "...", "type": "application/hal+json" }, "documentation": { "href": "...", "type": "text/html" } } } } } } } }, "400": { "description": "The request contains issues. For example, if the specified `sequenceType` value is invalid.", "content": { "application/hal+json": { "schema": { "type": "object", "description": "An error response object.", "required": [ "status", "title", "detail", "_links" ], "properties": { "status": { "type": "integer", "description": "The status code of the error message. This is always the same code as the status code of the HTTP message itself.", "minimum": 400, "maximum": 599, "example": 404 }, "title": { "type": "string", "description": "The HTTP reason phrase of the error. For example, for a `404` error, the `title` will be `Not Found`.", "example": "Not Found" }, "detail": { "type": "string", "description": "A detailed human-readable description of the error that occurred.", "example": "The resource does not exist" }, "field": { "type": "string", "description": "If the error was caused by a value provided by you in a specific field, the `field` property will contain the name of the field that caused the issue.", "example": "description" }, "_links": { "type": "object", "required": [ "documentation" ], "properties": { "documentation": { "type": "object", "description": "The URL to the generic Mollie API error handling guide.", "required": [ "href", "type" ], "properties": { "href": { "type": "string", "example": "https://docs.mollie.com/errors" }, "type": { "type": "string", "example": "text/html" } } } } } } }, "example": { "status": 400, "title": "Bad Request", "detail": "The locale is invalid", "field": "locale", "_links": { "documentation": { "href": "...", "type": "text/html" } } } } } }, "404": { "description": "No entity with this ID exists.", "content": { "application/hal+json": { "schema": { "type": "object", "description": "An error response object.", "required": [ "status", "title", "detail", "_links" ], "properties": { "status": { "type": "integer", "description": "The status code of the error message. This is always the same code as the status code of the HTTP message itself.", "minimum": 400, "maximum": 599, "example": 404 }, "title": { "type": "string", "description": "The HTTP reason phrase of the error. For example, for a `404` error, the `title` will be `Not Found`.", "example": "Not Found" }, "detail": { "type": "string", "description": "A detailed human-readable description of the error that occurred.", "example": "The resource does not exist" }, "field": { "type": "string", "description": "If the error was caused by a value provided by you in a specific field, the `field` property will contain the name of the field that caused the issue.", "example": "description" }, "_links": { "type": "object", "required": [ "documentation" ], "properties": { "documentation": { "type": "object", "description": "The URL to the generic Mollie API error handling guide.", "required": [ "href", "type" ], "properties": { "href": { "type": "string", "example": "https://docs.mollie.com/errors" }, "type": { "type": "string", "example": "text/html" } } } } } } }, "example": { "status": 404, "title": "Not Found", "detail": "No entity exists with token 'uct_abcDEFghij123456789'", "_links": { "documentation": { "href": "...", "type": "text/html" } } } } } } }, "x-readme": { "code-samples": [ { "language": "shell", "code": "curl -X GET https://api.mollie.com/v2/methods \\\n -H \"Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM\"" }, { "language": "php", "code": "setApiKey(\"live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM\");\n\n// Methods for the Payments API\n$methods = $mollie->send(\n new GetEnabledMethodsRequest(\n resource: MethodQuery::RESOURCE_PAYMENTS\n )\n);\n\n// Methods for the Orders API\n$methods = $mollie->send(\n new GetEnabledMethodsRequest(\n resource: MethodQuery::RESOURCE_ORDERS\n )\n);", "install": "composer require mollie/mollie-api-php" }, { "language": "node", "code": "const { createMollieClient } = require('@mollie/api-client');\nconst mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' });\n\n// Methods for the Payments API\nlet methods = await mollieClient.methods.list();\n\n// Methods for the Orders API\nmethods = await mollieClient.methods.list({ resource: 'orders' });", "install": "npm install @mollie/api-client" }, { "language": "python", "code": "from mollie.api.client import Client\n\nmollie_client = Client()\nmollie_client.set_api_key(\"live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM\")\n\n# Methods for the Payments API\nmethods = mollie_client.methods.list()\n\n# Methods for the Orders API\nmethods = mollie_client.methods.list(resource=\"orders\")", "install": "pip install mollie-api-python" }, { "language": "ruby", "code": "require 'mollie-api-ruby'\n\nMollie::Client.configure do |config|\n config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'\nend\n\n# Methods for the Payments API\nmethods = Mollie::Method.all\n\n# Methods for the Orders API\nmethods = Mollie::Method.all(resource: 'orders')", "install": "gem install mollie-api-ruby" } ] } } } }, "components": { "securitySchemes": { "apiKey": { "type": "http", "scheme": "bearer", "x-default": "live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" }, "organizationAccessToken": { "type": "http", "scheme": "bearer", "x-default": "access_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" }, "oAuth": { "type": "oauth2", "flows": { "authorizationCode": { "authorizationUrl": "https://my.mollie.com/oauth2/authorize", "tokenUrl": "https://api.mollie.com/oauth2/tokens", "scopes": {} } } } } }, "x-readme": { "explorer-enabled": false, "samples-languages": [ "shell", "php", "node", "python", "ruby" ] } } ```