{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"7faecf97-bd62-4a97-974b-5589df8d2ba0","name":"Altery API - Version 1.01","description":"# API overview\n\nThe following documentation describes the format of interaction between Altery systems and partners via API. It is applicable to any Altery client who wish to use Altery API for sending payments.\n\nThese instructions should be used by API integrators and integrators’ representatives involved with the deployment and management of Altery API on the integrator’s side. It should also be read by any third-party companies who will interface with Altery API on behalf of the API integrator.\n\n**Revision History**\n\n| **Version** | **Date** | **Changes** |\n| --- | --- | --- |\n| 1.0 | 2023-05-22 | First version of the document |\n| 1.01 | 2024-02-07 | Small changes. Removed description of obsolete methods.  <br>Added description for checking balances. |\n\n# Accessing API\n\nAPI Integrator can test out Stage environment using the same API methods as for the Production with different Base URL.\n\n**Base URL for accessing Altery API methods:**\n\n- Stage (Sandbox): [https://api.sandbox.altery.com](https://api.sandbox.altery.comProduction:)\n    \n- Production: [https://api.altery.com](https://api.altery.com)\n    \n\n## Accessing Sandbox\n\nBefore accessing Altery Production, an API integrator can test API methods on the Stage environment (Sandbox).\n\nTo access Sandbox, an API Integrator must request access by following these steps:\n\n1. Verify a corporate account in Altery system.\n    \n2. Generate an Sandbox account by following these steps:\n    \n    1. Login to Altery using a verified production corporate account.\n        \n    2. Go to Settings, then click API Keys and credentials\n        \n    3. Click _**Access to sandbox**_\n        \n        1. Next, API integrator will receive a detailed instruction for accessing Sandbox to the production account email.\n            \n3. Generate an Sandbox API Private key. Keys can be issued in Sandbox Altery personal area by following these steps:\n    \n    1. Login to Altery Sandbox using an account details from received email (point 2.c.i).\n        \n    2. Go to Settings, then click API Keys and credentials.\n        \n    3. Click + (add) button, then enter the API key name, add whitelist IP-addresses, and click Next.\n        \n    4. Confirm the action, then click Next.\n        \n    5. Click Download key to save the archived API Key.\n        \n    6. Unzip folder\n        \n\n> Note: The Access to Sandbox button won’t be available unless API integrator has at least one active API key. It also won’t be available if API integrator previously clicked the button. \n  \n\n## Requirements\n\nTo access Altery API, an API Integrator must:\n\n1. Verify a corporate account in Altery system.\n    \n2. Generate an production API Private key. Keys can be issued in Altery personal area by following these steps:\n    \n    1. Login to Altery using a verified corporate account.\n        \n    2. Go to Settings, then click API Keys and credentials.\n        \n    3. Click + (add) button, then enter the API key name, add whitelist IP-addresses, and click Next.\n        \n    4. Confirm the action, then click Next.\n        \n    5. Click Download key to save the archived API Key.\n        \n    6. Unzip folder\n        \n\n> Note: Save and store API Private Key in a safe place. It is not possible to re-download once issued Private Key because Altery does not store private Keys on its side. \n  \n\nAPI integrator can have several valid API Keys. If an API integrator loses a previously issued Key, they can deactivate it in the Settings area of their Altery account, and issue a new key.\n\n# Authorisation\n\n## Requirements\n\nAuthorisation require API integrator to have an [active API Private Key](https://developer.altery.com/#accessing-api).\n\n1. Encrypt each API request using your API Private Key and the algorithm to receive the X-Signature.\n    \n2. Include the encrypted string in the X-Signature header and Private Key name in the X-Key-Id header for each API request.\n    \n\nHeader format for Private Key authorisation:\n\n```\nX-Signature: encrypted request’s signature\nX-Key-Id: a key from your Altery account\n\n ```\n\nRequest signing with API keys requires a `pmlib.rs` library to be installed. Installation instruction available [here](https://joolfe.github.io/postman-util-lib/#postman-collection) or below:\n\n_To use the automatic install method and also for test the library there exist a ready to use collection in the repo, in this_ [<i>location</i>](https://github.com/joolfe/postman-util-lib/tree/master/postman)_, you just need to download and_ [<i>import</i>](https://learning.getpostman.com/docs/postman/collections/data-formats/#importing-postman-data)_._\n\n_The collection is provided in two Postman versions:_\n\n- _**Version 2:**_ _PostmanUtilityLibv2.postman_collection.json_\n    \n- _**Version 2.1:**_ _PostmanUtilityLibv21.postman_collection.json_\n    \n\n_Inside the collection you will find the next requests:_\n\n- _Lib install: A GET request to download the library source and put into a global variable. Is the automatic installation._\n    \n- _Lib use example: In the “script” tabs you will find examples about how to use the library._\n    \n\nAfter importing Altery postman collection, you need to fill environment variables\n\n- ApiKeyId - API key id\n    \n- ApiKeySecret - API key private key\n    \n\n## Encryption and X-Signature\n\nAPI integrator must generate a unique authorisation X-Signature header for each API request.\n\nGeneration of X-Signature depends on an API request:\n\n- If it has a body, then X-Signature is generated **using the request body.**\n    \n- If it has no body, then X-Signature is generated **using the request’s URI**.\n    \n\n### Request with a body\n\nIf an API request has a body, then to generate an X-Signature you need:\n\n1. Take the original request body in the JSON format {\"name\": \"value\"}.\n    \n2. Remove all spaces from the JSON.\n    \n3. Take the bytes in the Encoding.UTF8.GetBytes format from the resulting file.\n    \n4. Encrypt the resulting array using the RSA SHA-512 algorithm and the Private Key.\n    \n5. Convert the resulting array to a base64 string.\n    \n6. Add the encrypted string to the request as X-Signature header value.\n    \n\nFor example, the following PEM certificate was generated:\n\n_Altery_63691a6c5a91f40001774621.pem_\n\n```\n-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQCuRfOoyxAdqbkqyRf7XTvXJmXnKlEenf92AZrmKRrxWK9KpxWz\n2dIFQ34qCYYP7Kk6q+gCVvLBfQa5Ys7toUsehviIi+5eSxsDFmqsQCIy5aCxsain\nzOuz6FlJw7HJMqbAx13F+JWscYNKOwsO2iO7Pkk+hp2a9kAP7fUNHm6RDwIDAQAB\nAoGARWKqgYDf2L+TbrqD5tuXELFED0ak54jGhkhbUNn61S6XFCT0GhhWaywVFk2W\nZ861DhwVkqDlpC3QOI1jj+8RBdzKzPHlcBxqQsiuYbiJx+s2CIZQYAxN/b3bbSIN\nX3Dz8rp+Quu06ou3sT1XmhGWGrh67X7uoy5kzzqoT8W33UECQQDkM2L7uGfIQ2hr\nDRR1U2xp+CrwotxBLA2Fv+waXHlE2MAkgPe4e49XelEKhYuALlQH+YneOw7VKz9A\nAxzHZBvhAkEAw4DLr+qYI9QH740EAk3Qc374JZZE6/IZE/O0ye4xcVj6sjeIx1HU\nBc/nIwhrBKPSObggAwInEK/m/DjjYRnK7wJBAKLuLZYcK71Io50LUbgTQCzJC5+U\nKD4//cepKCIKNGt7dnSZwETvs4B5zLL+doOmkEjBWjZZZFW+8wH5NusGBwECQAaj\nK8coLswgmbhfUECHxcj2CZS1GlfsWz+bKYslhBY2ECTWz9T8iTc9TLqawY9hxHRj\nNOsFOrBNWIk9oTKdvo8CQFRZNfFZWx3DS+HSBDEoth/Wn0kbNKiqC8Dpfeyx4nxh\n3BYs/Kch6W3G9iAAHArTEjlXrgDEJjPj7EeCm4IhxB8=\n-----END RSA PRIVATE KEY-----\n\n ```\n\nThe name of this certificate included the _X-Key-Id_ that should be passed in the request’s Header. In this example, _X-Key-Id = 63691a6c5a91f40001774621_.\n\nNext, you need to generate an X-Signature signature, which also needs to be passed in your request’s Header for successful authorisation. This document uses the [payment](https://docs.google.com/document/d/18W0OMzwPVTMb51vfqbCoxmTk0hszENgw1QlUPvBprU8/edit#heading=h.2bn6wsx) API method as an example.\n\nThe following parameters are passed in the request body:\n\n``` json\n{\n\"Take\": 10,\n\"From\": 1\n}\n\n ```\n\nTo encrypt an X-Signature signature, API integrator must\n\n1. Convert the JSON to a string without spaces. For the example above, it will be the following string {\"Take\":10,\"From\":1}.\n    \n2. This line must be signed using the algorithm, and a PEM certificate (see below an example on how to generate the signature for C # and PHP).\n    \n\nFor the example PEM certificate and the API method from the example above, the X-Signature signature will look like this:\n\n```\nLC9SPiMSWlxhr7FT/UG3GGBRX5lhIiaEcroxZ3Bk0dUP+KZR4u0hANVCe75pWk1G7s5ZmvC9KA/MeOkXVrynnv9r9Md+MpMOuNWR6zWsI5HeX1mzJQLKLX6QLgac+WgcIv+ECwr3FAyirubIQxDMCEgEj96d2daKK5Z+jqf0pzw=\n\n ```\n\n### **Request without the body (URI encryption)**\n\nTo generate X-Signature for an API request without request body:\n\n1. Get the full query string. For example: _/v4/transactions_\n    \n2. Take bytes in the Encoding.UTF8.GetBytes format from the resulting string.\n    \n3. Encrypt the array using the RSA SHA-512 algorithm and the Private Key.\n    \n4. Convert the resulting array to a base64 string.\n    \n5. Add the encrypted string to the request as X-Signature header value.\n    \n\nFor example, the following PEM certificate was generated:\n\n_Altery_63691a6c5a91f40001774621.pem_\n\n```\n-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQCuRfOoyxAdqbkqyRf7XTvXJmXnKlEenf92AZrmKRrxWK9KpxWz\n2dIFQ34qCYYP7Kk6q+gCVvLBfQa5Ys7toUsehviIi+5eSxsDFmqsQCIy5aCxsain\nzOuz6FlJw7HJMqbAx13F+JWscYNKOwsO2iO7Pkk+hp2a9kAP7fUNHm6RDwIDAQAB\nAoGARWKqgYDf2L+TbrqD5tuXELFED0ak54jGhkhbUNn61S6XFCT0GhhWaywVFk2W\nZ861DhwVkqDlpC3QOI1jj+8RBdzKzPHlcBxqQsiuYbiJx+s2CIZQYAxN/b3bbSIN\nX3Dz8rp+Quu06ou3sT1XmhGWGrh67X7uoy5kzzqoT8W33UECQQDkM2L7uGfIQ2hr\nDRR1U2xp+CrwotxBLA2Fv+waXHlE2MAkgPe4e49XelEKhYuALlQH+YneOw7VKz9A\nAxzHZBvhAkEAw4DLr+qYI9QH740EAk3Qc374JZZE6/IZE/O0ye4xcVj6sjeIx1HU\nBc/nIwhrBKPSObggAwInEK/m/DjjYRnK7wJBAKLuLZYcK71Io50LUbgTQCzJC5+U\nKD4//cepKCIKNGt7dnSZwETvs4B5zLL+doOmkEjBWjZZZFW+8wH5NusGBwECQAaj\nK8coLswgmbhfUECHxcj2CZS1GlfsWz+bKYslhBY2ECTWz9T8iTc9TLqawY9hxHRj\nNOsFOrBNWIk9oTKdvo8CQFRZNfFZWx3DS+HSBDEoth/Wn0kbNKiqC8Dpfeyx4nxh\n3BYs/Kch6W3G9iAAHArTEjlXrgDEJjPj7EeCm4IhxB8=\n-----END RSA PRIVATE KEY-----\n\n ```\n\nThe name of this certificate includes the X-Key-Id that should be passed in the request’s header. In this example, X-Key-Id = 63691a6c5a91f40001774621.\n\nNext, generate an X-Signature, which also needs to be passed in your request’s headers. We will use the _GET /v4/transactions/_ API method as an example without a request body.\n\nFor the PEM certificate and the API method from the example above, the X-Signature will look like this:\n\n```\nSgmS1wx/j52Pn51F6OSZrvU5LzmYNiHMlERDnm6DeGcEEMYWSu1LH6bHAEg3T1kedag9/ThETkg9nVTtLovCsTjHJoaPxUyi1daXWrdL8zdZFJLL8FJ/RUVb+oOzcVjBeARIx+nMCvw8WnpfQl/S4utEjEatQBgRnImXdl7TT60=\n\n ```\n\n# Transfer parameters\n\n## Recipients requirements\n\nAll third-party systems require a special set of parameters to be sent in the to object when carrying out a mass transfer.\n\nFor transfers to third-party systems, the to field is an object which contains information about the recipient.\n\n| Recipient type | Parameters of “to” object - provider | Parameters of “to” object - identity | Parameters of “to” object - currency |\n| --- | --- | --- | --- |\n| Altery | AlterId  <br>email  <br>phone | Object identity must include the following mandatory parameters: contactType – AlterId in XXXXXXX format. Only digits are allowed. The length is 7 symbols. | AlterId currencies |\n| Third-party bank card | card_token | Third-party bank card's token. More on tokenisation is in the **Bank card tokens** | AlterId currencies |\n| Bank account | bankwire | Object identity must include the parameters which are required for transfer to a bank account. The exact list of fields depends on the recipient's bank country. | Currencies depend on the recipient's bank country. |\n| Third-party bank card | card | Card PAN full number | AlterId currencies |\n\n## Parameters for bank transfer\n\nFor transfers to bank accounts, the identity field is an object which contains information about the recipient. The list of transmitted fields in identity depends on a number of conditions, such as the country of the recipient bank, recipient type, currency and others.\n\nBelow are the fields that are required for the identity and conditions for each of them:\n\n| Parameter | Type | Description |\n| --- | --- | --- |\n| beneficiaryType | string | \"Recipient type. This field is case-sensitive. Possible values:  <br>**\\- Individual** - recipient is a natural person  <br>**\\- Business** - recipient is a legal entity |\n| beneficiaryCountryCode | string | ISO country number of the beneficiary bank. Input requirement:  <br>\\- Digits  <br>\\- Length - 3 characters  <br>  <br>**Not required for transfers to UK in GBP** |\n| beneficiaryCity | string | Recipient’s city. Input requirement:  <br>\\- Latin characters  <br>\\- Digits  <br>\\- Special characters such as: space \\[\\] {} (),;?: ' & \"/±  <br>\\- Length - 1 to 34 characters.  <br>  <br>**Not required for transfers to UK in GBP** |\n| beneficiaryAddress | string | Recipient’s address. Input requirement:  <br>\\- Latin characters  <br>\\- Digits  <br>\\- Special characters such as: space \\[\\] {} (),;?: ' & \"\"/±  <br>\\- Length - 1 to 34 characters.  <br>  <br>**Not required for transfers to UK in GBP** |\n| beneficiaryStateOrProvince | string | Recipient's state or province. Input requirement:  <br>\\- Latin characters  <br>\\- Special characters such as: space \\[\\] {} (),;?: ' & \"/±  <br>\\- Length - 1 to 34 characters.  <br>  <br>**Not required for transfers to UK in GBP** |\n| beneficiaryName | string | The bank transfer recipient's name. Input requirement:  <br>\\- Latin characters  <br>\\- Digits  <br>\\- Special characters such as: space \\[\\] {} (),;?: ' & \"/±  <br>\\- Length - 1 to 55 characters.  <br>  <br>**Field required for beneficiaryType = Business** |\n| beneficiaryFirstName | string | The bank transfer recipient's name. Input requirement:  <br>\\- Latin characters  <br>\\- Digits  <br>special characters such as: space \\[\\] {} (),;?: ' & \"/±  <br>\\- Length - 1 to 55 characters.  <br>  <br>**Field required for beneficiaryType = Individual** |\n| beneficiaryLastName | string | The bank transfer recipient's surname. Input requirement:  <br>\\- Latin characters  <br>\\- Digits  <br>\\- Special characters such as: space \\[\\] {} (),;?: ' & \"/±  <br>\\- Length - 1 to 55 characters.  <br>  <br>**Field required for beneficiaryType = Individual** |\n| BeneficiaryRegistrationNumber | string | Recipient’s registration number. Input requirement:  <br>\\- Latin characters  <br>\\- Digits  <br>\\- Special characters such as: space \\[\\] {} (),;?: ' & \"/±  <br>\\- Length - 1 to 34 characters  <br>  <br>**Object required for beneficiaryCountryCode = 428 (Latvia)** |\n| beneficiarySortCode | string | Sort code of the receiving bank in the UK. Input requirement:  <br>\\- 6 digits  <br>  <br>**Field required for transfers to UK in GBP** |\n| intermediaryAccount | object | Information about the recipient’s account  <br>  <br>**For Faster Payments, SEPA and TARGET2 transfers, the intermediary bank is not required** |\n| intermediaryAccount.account | string | Bank-correspondent account number. Input requirement:  <br>\\- Digits  <br>\\- Special characters such as: \\[\\] {} (),;?: ' & \"/±  <br>\\- Length - 1 to 34 characters |\n| intermediaryAccount.bankIdentity | string | Bank-correspondent SWIFT-code. Input requirement:  <br>\\- Latin characters  <br>\\- Digits  <br>\\- Length - 8 to 11 characters |\n| intermediaryAccount.bankCountryCode | string | ISO country number of the bank-correspondent. Input requirement:  <br>\\- Digits  <br>\\- Length - 3 characters |\n| beneficiaryAccount | object | Information about the recipient’s account |\n| beneficiaryAccount.account | string | Recipient’s bank account number/IBAN. Input requirement:  <br>\\- Latin characters  <br>\\- Digits  <br>\\- Special characters such as: space \\[\\] {} (),;?: ' & \"/±  <br>\\- Length - 1 to 34 characters |\n| beneficiaryAccount.bankIdentity | string | Beneficiary bank SWIFT-code. Input requirement:  <br>\\- Latin characters  <br>\\- Digits  <br>\\- Length - 8 to 11 characters |\n| beneficiaryAccount.bankCountryCode | string | Beneficiary bank ISO-code. Input requirement:  <br>\\- Digits  <br>\\- Length - 3 characters |\n| details | string | Details of the transfer. Input requirement:  <br>\\- No line breaks  <br>\\- Latin characters  <br>\\- Digits  <br>\\- Special characters - except < > can be used  <br>\\- Length - 1 to 120 characters |\n\n# Error codes\n\nIf you received an error code not from this list, please contact Customer Support or your designated Account Manager.\n\n## System errors\n\n| Error code | Description |\n| --- | --- |\n| 409 | Transfer status = 409 means that when carrying out a financial transaction, two identical queries were attempted to be sent within 5 seconds. In this case, one of the transfers will return the status = 409 and an empty response body. This status is needed to avoid duplication of the transfer |\n| \\-404 | Error 404: Not found |\n| \\-403 | Access denied |\n| \\-401 | User not authorized |\n| \\-4 | If the method is no longer supported, the following error is returned: This API method is no longer supported. Please contact [support@altery.com](https://mailto:support@altery.com) for detail If the method temporarily does not work, the following error message will be returned: TemporaryUnavailable |\n| \\-3 | Empty request |\n| \\-2 | Invalid request |\n| \\-1 | System error. Please try again later |\n\n## Currency exchange\n\n| Error code | Description |\n| --- | --- |\n| 13003 | AlteryId not found |\n| 13004 | Balance is not sufficient |\n| 13005 | Currency exchange limit has been exceeded |\n| 13006 | User not found |\n| 13007 | Account has not been registered yet |\n| 13008 | AlterId section not found |\n| 13009 | Currency quote is outdated. Please try again later |\n| 13010 | Invalid currency exchange hash quote |\n| 13011 | Currency quote not found |\n| 13012 | Invalid currency quote. Please try again later |\n| 13013 | Currency or currency pair is not supported |\n| 13014 | The exchange rate is not available |\n\n## Transfer to another AlterId\n\n| Error code | Description |\n| --- | --- |\n| 19000 | Unable to process the payment. Please check the transfer parameters |\n| 19001 | Sender's and recipient's AlterIds cannot match |\n| 19002 | Internal payment prevalidate error |\n| 19006 | User not found |\n| 19008 | Your account is not verified. Please verify your account |\n| 19009 | Operation restricted |\n| 19010 | Access denied |\n| 19014 | AlterId not found |\n| 19015 | Unable to process the payment. Recipient {0} is not allowed to receive payments from other clients due to account status |\n| 19016 | Unable to process the payment. Recipient is not allowed to receive payments from other clients due to verification status |\n| 19018 | AlterId not found |\n| 19019 | AlterId section not found |\n| 19021 | Tariff for sender is not indicated |\n| 19022 | AlterId section not found |\n| 19023 | Payment amount exceeds account balance |\n| 19025 | Commission for Incoming internal payment is greater than transfer amount. Please indicate greater amount |\n| 19026 | Unable to process the payment. Recipient is not allowed to receive payments from other clients |\n| 19027 | Unable to process the payment. Recipient is restricted to receive payments from other clients |\n| 19028 | File you are uploading does not exist |\n| 19029 | Unsupported file format. Please upload the CSV file |\n| 19030 | Attachment size exceeds the allowable limit of 10 Mb |\n| 19031 | Invalid file extension. Acceptable files extensions: JPG, JPEG, PNG, PDF |\n| 19032 | String {0}: Incorrect string format |\n| 19033 | String {0}: Incorrect AlterId |\n| 19034 | String {0}: Incorrect transfer currency |\n| 19035 | String {0}: Incorrect transfer amount |\n| 19036 | String {0}: Incorrect transfer details |\n| 19037 | Uploaded file is empty |\n| 19038 | You can make an internal transfer to verified user only. Please verify your account to get access to the operation |\n| 19039 | The recipient may receive an internal transfer from verified users only |\n| 19041 | Incorrect AlterId '{0}' format |\n| 19042 | E-mail '{0}' incorrect format |\n| 19043 | Phone number '{0}' incorrect format |\n| 19044 | String {0}: Recipient is invalid. Please specify either AlterId, e-mail or phone number |\n| 19045 | Recipient is invalid. Please specify either AlterId, e-mail or phone number |\n| 19051 | Unable to make a payment |\n| 19052 | Internal payment with id ({0}) already exists |\n| 19053 | PaymentId is invalid |\n| 19054 | Internal payment not found |\n| 19055 | Mass payment has not been processed completely. Please check transaction results |\n\n## Transfer to third-party payment systems\n\n### Data entry errors\n\n| Error code | Description |\n| --- | --- |\n| 19036 | Transfer details incorrect |\n| 53001 | Recipient's system entered incorrectly |\n| 53002 | Sender's system entered incorrectly |\n| 53003 | Recipient entered incorrectly |\n| 53004 | Sender entered incorrectly |\n| 53005 | Amount to be received entered incorrectly |\n| 53006 | Amount to be sent entered incorrectly |\n| 53007 | Currency to be received entered incorrectly |\n| 53008 | Currency to be sent entered incorrectly |\n| 53009 | Payment details entered incorrectly |\n| 53010 | Payment's external identifier entered incorrectly |\n| 53020 | Only the amount to be sent or received must be entered |\n| 53022 | Funds transfer between the given systems is not supported |\n\n### Payment processing errors\n\n| Error code | Description |\n| --- | --- |\n| 13009 | Currency exchange rate has been expired. Please try again later |\n| 19023 | Payment amount exceeds account balance |\n| 19055 | Mass payment has not been processed completely. Please check transaction results |\n| 20014 | AlterId transactions total amount exceeded limits: {0} |\n| 21007 | AlterId transactions quantity exceeds limits: {0} |\n| 21012 | Confirmation code has been sent |\n| 26002 | Outgoing bank transfer not found |\n| 26003 | Country not found |\n| 26004 | The specified receiver account is invalid. Please, check the receiver account details |\n| 26005 | Currency only supports whole numbers |\n| 26006 | Beneficiary name contains invalid characters |\n| 26007 | Invalid account number format or account number is invalid |\n| 26008 | Beneficiary bank account SWIFT/BIC supplied is invalid |\n| 26009 | Beneficiary bank code supplied is invalid |\n| 26010 | Invalid BankCode/BranchCode combination |\n| 26011 | The recipient's IBAN does not match the recipient's country |\n| 26012 | The recipient's SWIFT does not match the recipient's country |\n| 26014 | Payment has been revoked by the sender |\n| 26015 | Beneficiary name and beneficiary account number do not match |\n| 26016 | The bank was unable to complete payment |\n| 53011 | Payment declined by recipient |\n| 53012 | Payment with the given number already exists on the recipient's system |\n| 53013 | Payment amount is less than the minimum allowed |\n| 53014 | Payment amount exceeds the maximum allowed |\n| 53015 | Payment recipient not found |\n| 53016 | Funds transfer to the recipient is not permitted |\n| 53017 | Recipient's monthly limit has been exceeded |\n| 53018 | Recipient's remaining balance limit has been exceeded |\n| 53019 | ExternalPaymentNotFound |\n| 53020 | Only the amount to be sent or received must be entered |\n| 53021 | Operation not found |\n| 53022 | Funds transfer between the given systems is not supported |\n| 53024 | Funds to this card cannot be transferred |\n| 53026 | Transfer is not supported |\n| 53027 | Payment declined |\n| 53028 | This operation is not available. Please contact Customer Support for details |\n| 53029 | This service cannot be provided |","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"27415201","collectionId":"7faecf97-bd62-4a97-974b-5589df8d2ba0","publishedId":"2s946icBDq","public":true,"publicUrl":"https://developer.altery.com","privateUrl":"https://go.postman.co/documentation/27415201-7faecf97-bd62-4a97-974b-5589df8d2ba0","customColor":{"top-bar":"FFFFFF","right-sidebar":"393939","highlight":"FF771C"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":"The following documentation describes the format of interaction between Altery systems and partners via API."},{"name":"title","value":"Altery API documentation"}],"appearance":{"default":"light","themes":[{"name":"dark","logo":"https://content.pstmn.io/6f1230ce-481d-499b-99b3-d5c7f3e43064/QWx0ZXJ5IExvZ29fZGFyay10aGVtZS5wbmc=","colors":{"top-bar":"191919","right-sidebar":"393939","highlight":"FF771C"}},{"name":"light","logo":"https://content.pstmn.io/37c849a4-b8c3-4346-8a47-94ba71724fbe/QWx0ZXJ5IExvZ29fbGlnaHQtdGhlbWUucG5n","colors":{"top-bar":"FFFFFF","right-sidebar":"393939","highlight":"FF771C"}}]}},"version":"8.10.1","publishDate":"2023-07-27T09:25:09.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"Altery API documentation","description":"The following documentation describes the format of interaction between Altery systems and partners via API."},"logos":{"logoLight":"https://content.pstmn.io/37c849a4-b8c3-4346-8a47-94ba71724fbe/QWx0ZXJ5IExvZ29fbGlnaHQtdGhlbWUucG5n","logoDark":"https://content.pstmn.io/6f1230ce-481d-499b-99b3-d5c7f3e43064/QWx0ZXJ5IExvZ29fZGFyay10aGVtZS5wbmc="}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/768118b36f06c94b0306958b980558e6915839447e859fe16906e29d683976f0","favicon":"https://altery.com/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://developer.altery.com/view/metadata/2s946icBDq"}