{ "info": { "name": "Adyen Recurring API (v30)", "description": { "content": "The Recurring APIs allow you to manage and remove your tokens or saved payment details. Tokens should be created with validation during a payment request.\n\nFor more information, refer to our [Tokenization documentation](https://docs.adyen.com/online-payments/tokenization).\n## Authentication\nYou need an [API credential](https://docs.adyen.com/development-resources/api-credentials) to authenticate to the API.\n\nIf using an API key, add an `X-API-Key` header with the API key as the value, for example:\n\n ```\ncurl\n-H \"Content-Type: application/json\" \\n-H \"X-API-Key: YOUR_API_KEY\" \\n...\n```\n\nAlternatively, you can use the username and password to connect to the API using basic authentication, for example:\n\n```\ncurl\n-U \"ws@Company.YOUR_COMPANY_ACCOUNT\":\"YOUR_BASIC_AUTHENTICATION_PASSWORD\" \\n-H \"Content-Type: application/json\" \\n...\n```\n\n## Versioning\nRecurring API supports [versioning](https://docs.adyen.com/development-resources/versioning) using a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Recurring/v30/disable\n```\n\n## Going live\n\nTo authenticate to the live endpoints, you need an [API credential](https://docs.adyen.com/development-resources/api-credentials) from your live Customer Area.\n\nThe live endpoint URLs contain a prefix which is unique to your company account:\n```\n\nhttps://{PREFIX}-pal-live.adyenpayments.com/pal/servlet/Recurring/v30/disable\n```\n\nGet your `{PREFIX}` from your live Customer Area under **Developers** > **API URLs** > **Prefix**.", "type": "text/markdown" }, "version": "30", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "item": [ { "name": "General", "item": [ { "name": "/disable", "description": "Disables stored payment details to stop charging a shopper with this particular recurring detail ID. For more information, refer to [Disable stored details](https://docs.adyen.com/classic-integration/recurring-payments/disable-stored-details/).", "item": [ { "name": "Disable a recurring contract", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json", "description": "", "disabled": false }, { "key": "Accept", "value": "application/json", "description": "", "disabled": false } ], "body": { "mode": "raw", "raw": "{\n \"shopperReference\": \"YOUR_SHOPPER_REFERENCE\",\n \"recurringDetailReference\": \"8314442372419167\",\n \"merchantAccount\": \"{{YOUR_MERCHANT_ACCOUNT}}\"\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{baseUrl}}/disable", "host": [ "{{baseUrl}}" ], "path": [ "disable" ], "variable": [ ], "query": [ ] }, "description": "Disables stored payment details to stop charging a shopper with this particular recurring detail ID. For more information, refer to [Disable stored details](https://docs.adyen.com/classic-integration/recurring-payments/disable-stored-details/)." } ,"response": [ ] } ] }, { "name": "/listRecurringDetails", "description": "Lists the stored payment details for a shopper, if there are any available. The recurring detail ID can be used with a regular authorisation request to charge the shopper. A summary of the payment detail is returned for presentation to the shopper. For more information, refer to [Retrieve stored details](https://docs.adyen.com/classic-integration/recurring-payments/retrieve-stored-details/).", "item": [ { "name": "List recurring details of the specified contract value", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json", "description": "", "disabled": false }, { "key": "Accept", "value": "application/json", "description": "", "disabled": false } ], "body": { "mode": "raw", "raw": "{\n \"recurring\": {\n \"contract\": \"RECURRING\"\n},\n \"shopperReference\": \"YOUR_SHOPPER_REFERENCE\",\n \"merchantAccount\": \"{{YOUR_MERCHANT_ACCOUNT}}\"\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{baseUrl}}/listRecurringDetails", "host": [ "{{baseUrl}}" ], "path": [ "listRecurringDetails" ], "variable": [ ], "query": [ ] }, "description": "Lists the stored payment details for a shopper, if there are any available. The recurring detail ID can be used with a regular authorisation request to charge the shopper. A summary of the payment detail is returned for presentation to the shopper. For more information, refer to [Retrieve stored details](https://docs.adyen.com/classic-integration/recurring-payments/retrieve-stored-details/)." } ,"response": [ ] } ] }, { "name": "/notifyShopper", "description": "Sends a request to the issuer so they can inform the shopper about the upcoming recurring payment. This endpoint is used only for local acquiring in India. For more information, refer to [Recurring card payments in India](https://docs.adyen.com/payment-methods/cards/cards-recurring-india).", "item": [ { "name": "Request issuer to notify shopper of upcoming recurring payment", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json", "description": "", "disabled": false }, { "key": "Accept", "value": "application/json", "description": "", "disabled": false } ], "body": { "mode": "raw", "raw": "{\n \"merchantAccount\": \"{{YOUR_MERCHANT_ACCOUNT}}\",\n \"storedPaymentMethodId\": \"8415995487234100\",\n \"shopperReference\": \"YOUR_SHOPPER_REFERENCE\",\n \"amount\": {\n \"currency\": \"INR\",\n \"value\": 1000\n},\n \"billingDate\": \"2021-03-16\",\n \"reference\": \"Example reference\",\n \"displayedReference\": \"exampleDisplayedReference\"\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{baseUrl}}/notifyShopper", "host": [ "{{baseUrl}}" ], "path": [ "notifyShopper" ], "variable": [ ], "query": [ ] }, "description": "Sends a request to the issuer so they can inform the shopper about the upcoming recurring payment. This endpoint is used only for local acquiring in India. For more information, refer to [Recurring card payments in India](https://docs.adyen.com/payment-methods/cards/cards-recurring-india)." } ,"response": [ {"name": "OK - the request has succeeded.", "code": 200, "status": "OK", "header": [{ "key": "Content-Type", "value": "application/json"} ], "_postman_previewlanguage": "json", "cookie": [], "body" : "{\n \"message\": \"Request Processed Successfully\",\n \"resultCode\": \"Success\",\n \"shopperNotificationReference\": \"9915003646742627\",\n \"storedPaymentMethodId\": \"8415995487234100\",\n \"pspReference\": \"M5N7TQ4TG5PFWR50\",\n \"reference\": \"Example reference\",\n \"displayedReference\": \"exampleDisplayedReference\"\n}", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json", "description": "", "disabled": false }, { "key": "Accept", "value": "application/json", "description": "", "disabled": false } ], "body": { "mode": "raw", "raw": "{\n \"merchantAccount\": \"{{YOUR_MERCHANT_ACCOUNT}}\",\n \"storedPaymentMethodId\": \"8415995487234100\",\n \"shopperReference\": \"YOUR_SHOPPER_REFERENCE\",\n \"amount\": {\n \"currency\": \"INR\",\n \"value\": 1000\n},\n \"billingDate\": \"2021-03-16\",\n \"reference\": \"Example reference\",\n \"displayedReference\": \"exampleDisplayedReference\"\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{baseUrl}}/notifyShopper", "host": [ "{{baseUrl}}" ], "path": [ "notifyShopper" ], "variable": [ ], "query": [ ] }, "description": "Sends a request to the issuer so they can inform the shopper about the upcoming recurring payment. This endpoint is used only for local acquiring in India. For more information, refer to [Recurring card payments in India](https://docs.adyen.com/payment-methods/cards/cards-recurring-india)." } } ] } ] }, { "name": "/scheduleAccountUpdater", "description": "When making the API call, you can submit either the credit card information, or the recurring detail reference and the shopper reference: * If the card information is provided, all the sub-fields for `card` are mandatory. * If the recurring detail reference is provided, the fields for `shopperReference` and `selectedRecurringDetailReference` are mandatory.", "item": [ { "name": "Schedule AccountUpdater with card data", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json", "description": "", "disabled": false }, { "key": "Accept", "value": "application/json", "description": "", "disabled": false } ], "body": { "mode": "raw", "raw": "{\n \"merchantAccount\": \"{{YOUR_MERCHANT_ACCOUNT}}\",\n \"reference\": \"{{$guid}}\",\n \"card\": {\n \"expiryMonth\": \"03\",\n \"expiryYear\": \"2030\",\n \"holderName\": \"Adyen Test\",\n \"number\": \"4111111111111111\"\n}\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{baseUrl}}/scheduleAccountUpdater", "host": [ "{{baseUrl}}" ], "path": [ "scheduleAccountUpdater" ], "variable": [ ], "query": [ ] }, "description": "When making the API call, you can submit either the credit card information, or the recurring detail reference and the shopper reference: * If the card information is provided, all the sub-fields for `card` are mandatory. * If the recurring detail reference is provided, the fields for `shopperReference` and `selectedRecurringDetailReference` are mandatory." } ,"response": [ {"name": "OK - the request has succeeded.", "code": 200, "status": "OK", "header": [{ "key": "Content-Type", "value": "application/json"} ], "_postman_previewlanguage": "json", "cookie": [], "body" : "{\n \"pspReference\": \"QFQTPCQ8HXSKGK82\",\n \"result\": \"Success\"\n}", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json", "description": "", "disabled": false }, { "key": "Accept", "value": "application/json", "description": "", "disabled": false } ], "body": { "mode": "raw", "raw": "{\n \"merchantAccount\": \"{{YOUR_MERCHANT_ACCOUNT}}\",\n \"reference\": \"{{$guid}}\",\n \"card\": {\n \"expiryMonth\": \"03\",\n \"expiryYear\": \"2030\",\n \"holderName\": \"Adyen Test\",\n \"number\": \"4111111111111111\"\n}\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{baseUrl}}/scheduleAccountUpdater", "host": [ "{{baseUrl}}" ], "path": [ "scheduleAccountUpdater" ], "variable": [ ], "query": [ ] }, "description": "When making the API call, you can submit either the credit card information, or the recurring detail reference and the shopper reference: * If the card information is provided, all the sub-fields for `card` are mandatory. * If the recurring detail reference is provided, the fields for `shopperReference` and `selectedRecurringDetailReference` are mandatory." } } ] }, { "name": "Schedule AccountUpdater with token data", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json", "description": "", "disabled": false }, { "key": "Accept", "value": "application/json", "description": "", "disabled": false } ], "body": { "mode": "raw", "raw": "{\n \"merchantAccount\": \"{{YOUR_MERCHANT_ACCOUNT}}\",\n \"reference\": \"{{$guid}}\",\n \"shopperReference\": \"YOUR_SHOPPER_REFERENCE\",\n \"selectedRecurringDetailReference\": \"8814232895168272\"\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{baseUrl}}/scheduleAccountUpdater", "host": [ "{{baseUrl}}" ], "path": [ "scheduleAccountUpdater" ], "variable": [ ], "query": [ ] }, "description": "When making the API call, you can submit either the credit card information, or the recurring detail reference and the shopper reference: * If the card information is provided, all the sub-fields for `card` are mandatory. * If the recurring detail reference is provided, the fields for `shopperReference` and `selectedRecurringDetailReference` are mandatory." } ,"response": [ {"name": "OK - the request has succeeded.", "code": 200, "status": "OK", "header": [{ "key": "Content-Type", "value": "application/json"} ], "_postman_previewlanguage": "json", "cookie": [], "body" : "{\n \"pspReference\": \"JLCMPCQ8HXSKGK82\",\n \"result\": \"Success\"\n}", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json", "description": "", "disabled": false }, { "key": "Accept", "value": "application/json", "description": "", "disabled": false } ], "body": { "mode": "raw", "raw": "{\n \"merchantAccount\": \"{{YOUR_MERCHANT_ACCOUNT}}\",\n \"reference\": \"{{$guid}}\",\n \"shopperReference\": \"YOUR_SHOPPER_REFERENCE\",\n \"selectedRecurringDetailReference\": \"8814232895168272\"\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{baseUrl}}/scheduleAccountUpdater", "host": [ "{{baseUrl}}" ], "path": [ "scheduleAccountUpdater" ], "variable": [ ], "query": [ ] }, "description": "When making the API call, you can submit either the credit card information, or the recurring detail reference and the shopper reference: * If the card information is provided, all the sub-fields for `card` are mandatory. * If the recurring detail reference is provided, the fields for `shopperReference` and `selectedRecurringDetailReference` are mandatory." } }, {"name": "Unprocessable Entity - a request validation error.", "code": 422, "status": "Unprocessable Entity", "header": [{ "key": "Content-Type", "value": "application/json"} ], "_postman_previewlanguage": "json", "cookie": [], "body" : "{\n \"status\": 422,\n \"errorCode\": \"000\",\n \"message\": \"RecurringShopper not found\",\n \"errorType\": \"validation\"\n}", "originalRequest": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json", "description": "", "disabled": false }, { "key": "Accept", "value": "application/json", "description": "", "disabled": false } ], "body": { "mode": "raw", "raw": "{\n \"merchantAccount\": \"{{YOUR_MERCHANT_ACCOUNT}}\",\n \"reference\": \"{{$guid}}\",\n \"shopperReference\": \"YOUR_SHOPPER_REFERENCE\",\n \"selectedRecurringDetailReference\": \"8814232895168272\"\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{baseUrl}}/scheduleAccountUpdater", "host": [ "{{baseUrl}}" ], "path": [ "scheduleAccountUpdater" ], "variable": [ ], "query": [ ] }, "description": "When making the API call, you can submit either the credit card information, or the recurring detail reference and the shopper reference: * If the card information is provided, all the sub-fields for `card` are mandatory. * If the recurring detail reference is provided, the fields for `shopperReference` and `selectedRecurringDetailReference` are mandatory." } } ] } ] } ] } ], "auth": { "type": "apikey", "apikey": [ { "key": "value", "value": "{{X-API-Key}}", "type": "string" }, { "key": "key", "value": "X-API-Key", "type": "string" } ] }, "variable": [ { "key": "baseUrl", "value": "https://pal-test.adyen.com/pal/servlet/Recurring/v30", "type": "string" }, { "key": "X-API-Key", "value": "", "type": "string" }, { "key": "YOUR_MERCHANT_ACCOUNT", "value": "", "type": "string" } ] }