On the February 11, 2020 ePayments Systems Limited (‘ePayments’) agreed with the Financial Conduct Authority (‘FCA’) to suspend all activity on its customer accounts. This decision was taken following a review, by the FCA, of ePayments anti-money laundering systems and controls, which identified weakness that required remediation.
We know this will be a very frustrating time for our customers. We apologise for any inconvenience caused and are working tirelessly to ensure improvements are made and accounts can be reactivated as soon as possible. During this improvement process, we want to assure customers that their funds are being safeguarded as normal. If you have any questions, please contact us directly.
In order to obtain access to the API ePayments you must:
URL for accessing the ePayments API methods:
Stage: https://api.sandbox.epayments.com
Production: https://api.epayments.com
Before integration with a production environment, you can access ePayments staging environment (sandbox).
To do this, open your ePayments Personal Account select Settings > API Keys and credentials and click the Access to Sandbox button.You will receive an email on your verified email address. This email will contain a private key and a password to test the API methods using the sandbox.
You can also request test payment details from ePayments technical support to test transfers to third-party systems, because using real data is not possible for some operations in the sandbox environment.
When generating requests to API functions you can use the following characters as string variables:
A text description of API methods error is returned in one of the following languages: English, Spanish, Portuguese, and Russian. By default, error texts are returned in English. To change the language, you must add a language code to the request using the ISO639. For example, for the Russian language, the query will look like this:
Accept-Language: ru-RU
If you encounter an error when sending API requests (for example, a 400 error code is returned), you can contact ePayments technical support. When contacting a technical support, you must provide the following API request data:
Term | Description |
---|---|
API integrator | A verified ePayments client who is already integrated with the ePayments API |
client_id | A unique identifier (string constant), issued by the ePayments support department via the ticket system when integrating with API. Used as a means to link clients and their cards to your account |
client_secret | A string constant, issued by the ePayments support department via ticket system during API enablement process. The key is issued together with the identifier (client_id) and is used to link clients and their cards to your account |
partner_id | A unique identifier (number), issued by the support department via the ticket system during API enablement process |
partner_secret | A secret key. String constant (partner_secret) issued during the API enablement process. A key is issued alongside with the partner_id identifier by the support department via the ticket system |
private key | A private key that can only be generated in the ePayments personal account settings. Required for authorisation and ability send API requests to ePayments |
Authorisation | A process of gaining access to sending API requests in ePayments API |
OAuth 2.0 authorisation | An authorisation process, which is required to obtain access to your client’s data |
Client | An ePayments client who provided the API integrator with access to their data through OAuth authorisation |
Corporate client | An ePayments client with corporate account type |
Referral | Am ePayments client who is registered with ePayments using the referral’s link |
Token (token) | A one-time key to access API methods. Valid for one authentication session and for 5 minutes only. After that, either current token must be renewed or a new one acquired |
Authorisation via a Private Key is an authorisation using a unique identifier, which can only be generated in your ePayments account.
To authorise using a Private Key, you must:
Header format for Private Key authorisation:
Content-type: application/json
X-Signature: encrypted request’s signature
X-Key-Id: a key from your ePayments account
Before an API request can be sent, you must prepare its unique signature - X-Signature. This signature should be included in the request’s header each time the request is sent.
A single X-Signature can only be used within a single API request.
Generation of X-Signature depends on an API request format:
If an API request has a body, then to generate an X-Signature you need:
For example, you received the following PEM certificate in your personal area: ePayments_5ec658fbe20a0d739086c860.pem.
The name of this certificate included the X-Key-Id that should be passed in the request’s Header. In this example, X-Key-Id = 5ec658fbe20a0d739086c860.
In addition, you need to generate an X-Signature signature, which also needs to be passed in your request’s Header for successful authorisation. We will use POST /v2/payments API method as an example. The following parameters are passed in the request body:
{
"Take": 10,
"From": 1
}
To encrypt an X-Signature signature, you must convert the JSON to a string without spaces. For the example from above, it will be the following string {"Take":10,"From": 1}.
Next, this line must be signed using the algorithm, and a PEM certificate (see below an example on how to generating the signature for C # and PHP ).
For the pem certificate and the API method from the example above, the X-Signature signature will look like this:
LC9SPiMSWlxhr7FT/UG3GGBRX5lhIiaEcroxZ3Bk0dUP+KZR4u0hANVCe75pWk1G7s5ZmvC9KA/MeOkXVrynnv9r9Md+MpMOuNWR6zWsI5HeX1mzJQLKLX6QLgac+WgcIv+ECwr3FAyirubIQxDMCEgEj96d2daKK5Z+jqf0pzw=
If the API request does not have a body, then to generate an X-Signature you need:
For example, you received the following PEM certificate in your personal area: ePayments_5ec658fbe20a0d739086c860.pem.
The name of this certificate includes the X-Key-Id that should be passed in the request’s Header. In this example, X-Key-Id = 5ec658fbe20a0d739086c860.
In addition, you need to generate an X-Signature, which also needs to be passed in your request’s Header.
We will use the GET /v1/user API method as an example.
This method doesn’t have a request body, so in order to receive X-Signature we need to use the request’s URL.
This example requires using stage environment for signing the https://api.sandbox.epayments.com/v1/user string using this algorithm and a PEM certificate (see below for examples on how to generate the signature for C # and PHP). For the PEM certificate and the API method from the example above, the X-Signature will look like this:
SgmS1wx/j52Pn51F6OSZrvU5LzmYNiHMlERDnm6DeGcEEMYWSu1LH6bHAEg3T1kedag9/ThETkg9nVTtLovCsTjHJoaPxUyi1daXWrdL8zdZFJLL8FJ/RUVb+oOzcVjBeARIx+nMCvw8WnpfQl/S4utEjEatQBgRnImXdl7TT60=
The following are signature generating methods for C# and PHP. The following queries are used as an example:
Download files with examples using the links below:
Authorisation via partner_id and partner_secret is the authorisation using unique identifiers - partner_id
and partner_secret
,
which are generated on the ePayments side.
Obtaining access_token:
Thepartner_id
and partner_secret
identifiers are sent in the body of the POST /token request, and the access_token
access key is received in the response.
This key must be included in the header of each API request. The access_token lifetime is 5 minutes.
After token lifetime is expired, you must re-send POST /token and include grant_type = refresh_token.
Header’s format for authorisation via Partner Id and Partner Secret:
Content-type: application / json
Authorization: Bearer access_token
Here, access_token
is the access key received in the POST /token response when sending grant_type = partner
.
Obtaining token is necessary in the following cases:
The token retrieval method is only available from the IP addresses that were specified in the API access application. If the account does not have whitelisted IP addresses or IP address checking was disabled, then it is not possible to receive a token.
This parameter is transmitted only for end-to-end authorisation (grant_type = authorization_code
) and when updating a token for end-to-end authorisation (grant_type = refresh_token
).
It accepts value Basic GENERATED_STRING
, where GENERATED_STRING – is a string, in the client_id:client_secret type format with base64 encoding.
application/x-www-form-urlencoded
ID. Issued by ePayments
Secret key. Issued by ePayments
curl -X POST "https://api.epayments.com/token" -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -d "grant_type=partner&partner_id=7854&partner_secret=partner123"
Token for accessing ePayments API
Token type. Value is always set as = bearer
Validity period for access_token
or refresh_token
. Specified in seconds
Value to update the current Token value (RFC-6748#1.5)
{
"access_token": "Q2xpZW50SWQxMjM6Q2lKTk04eTNEWEZPaGc=",
"token_type": "bearer",
"expires_in": "1200",
"refresh_token": "T3KMDFSIYkIztXHuWmIVGj2rujt6xlbW="
}
Mass payments is a mass transfers service offered by ePayments. It allows you to transfer money from your ePayments e-Wallet to the following systems:
Please, note: payments to WebMoney are processed by ePayments within 30 minutes.
Transfer participants
Mass payments process includes two kinds of participants:
A fee is retracted from the sender’s e-Wallet after each mass payment. The exact amount depends on to which system the transfer was sent.
Currency and amount of transfer
Mass payment can be carried out using one of three currencies available for an ePayments e-Wallet:
If the type of currency sent is different from one to be received, then the ePayments system will perform a currency conversion using the rate set by ePayments. The exchange rate lifetime is 5 minutes. After the initial 5 minutes the exchange rate changes. This means that the transfer confirmation must be obtained within the said time limit. Otherwise, the payment amount will be calculated using the exchange rate that was relevant by the time the transfer was sent.
API methods for making a payment
When conducting mass payments, it is recommended to use API-methods in the following order:
This method (hereinafter referred to as - preflight) is used to:
This method can be used for mass payment, but it is optional.
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
Information about all transfers occurring within one mass payment. One mass payment can include from 1 to 500 transactions
{
"payments": [
{
"from": {
"provider": "eWallet",
"currency": "USD",
"identity": "000-123123"
},
"to": {
"provider": "qiwi",
"amount": "20.00",
"identity": {
"identity": "79000123456",
"receiverFirstName": "Receiver Name",
"receiverLastName": "Receiver Surname",
"receiverCountryOfResidence": "US"
},
"currency": "USD"
},
"details": "details for payment",
"externalId": "transfer_to_client",
"quote": "ldxbasjqwewr4423hfcsdv23g24rfd9ew45tgfs==",
"metadata": {}
}
]
}
Mass payments start time. Value set as Null
Mass payments completion time. Value set as Null
Overall transaction status for selected mass payment. Value set as New
Mass payment identifier within the ePayments system. Value set as Null
Link to the information about the mass payment. Value set as Null
Information about all transfers occurring within one mass payment. One mass payment can include from 1 to 500 transactions
Error code
Message with detailed error description
{
"dateStarted": "null",
"dateFinished": "null",
"state": "New",
"id": "null",
"self": "null",
"payments": [
{
"id": "null",
"from": {
"provider": "eWallet",
"currency": "USD",
"identity": "000-123123"
},
"to": {
"provider": "qiwi",
"amount": "20.00",
"identity": {
"identity": "79000123456",
"receiverFirstName": "Receiver Name",
"receiverLastName": "Receiver Surname",
"receiverCountryOfResidence": "US"
},
"currency": "USD"
},
"details": "details for payment",
"externalId": "transfer_to_client",
"quote": "ldxbasjqwewr4423hfcsdv23g24rfd9ew45tgfs==",
"metadata": {},
"rate": "1.48",
"quoteExpireIn": "8556",
"dateStarted": "null",
"dateFinished": "null",
"state": "New",
"errorCode": 0,
"errorData": [
"string"
],
"errorMsgs": [
"string"
]
}
],
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as - fees) is required for calculating operation rates and fees. It uses the same checks as for the preliminary calculation method Preflight, excluding the identity
parameter checks (recipient or sender identification).
Submission of this parameter is optional. In addition, this method also performs checks for minimum and maximum operation limits.
This method supports calculating fees for funds transfer from and to the ePayments e-Wallet. It can be used for mass payments as well, but this is optional.
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
Information about all transfers occurring within one mass payment. One mass payment can include from 1 to 500 transactions
{
"payments": [
{
"from": {
"provider": "eWallet",
"currency": "USD",
"identity": "000-123123"
},
"to": {
"provider": "qiwi",
"amount": "20.00",
"identity": {
"identity": "79000123456",
"receiverFirstName": "Receiver Name",
"receiverLastName": "Receiver Surname",
"receiverCountryOfResidence": "US"
},
"currency": "USD"
},
"details": "details for payment",
"externalId": "transfer_to_client",
"quote": "ldxbasjqwewr4423hfcsdv23g24rfd9ew45tgfs==",
"metadata": {}
}
]
}
Mass payments start time. Value set as Null
Mass payments completion time. Value set as Null
Overall transaction status for selected mass payment. Value set as New
Mass payment identifier within the ePayments system. Value set as Null
Link to the information about the mass payment. Value set as Null
Information about all transfers occurring within one mass payment. One mass payment can include from 1 to 500 transactions
Error code
Message with detailed error description
{
"dateStarted": "null",
"dateFinished": "null",
"state": "New",
"id": "null",
"self": "null",
"payments": [
{
"id": "null",
"from": {
"provider": "eWallet",
"currency": "USD",
"identity": "000-123123"
},
"to": {
"provider": "qiwi",
"amount": "20.00",
"identity": {
"identity": "79000123456",
"receiverFirstName": "Receiver Name",
"receiverLastName": "Receiver Surname",
"receiverCountryOfResidence": "US"
},
"currency": "USD"
},
"details": "details for payment",
"externalId": "transfer_to_client",
"quote": "ldxbasjqwewr4423hfcsdv23g24rfd9ew45tgfs==",
"metadata": {},
"rate": "1.48",
"quoteExpireIn": "8556",
"dateStarted": "null",
"dateFinished": "null",
"state": "New",
"errorCode": 0,
"errorData": [
"string"
],
"errorMsgs": [
"string"
]
}
],
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as - payments) is used for transferring funds from ePayments e-Wallet to any outside system. The response message for this method includes transfer confirmation instructions.
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
Information about all transfers occurring within one mass payment. One mass payment can include from 1 to 500 transactions
{
"payments": [
{
"from": {
"provider": "eWallet",
"currency": "USD",
"identity": "000-123123"
},
"to": {
"provider": "qiwi",
"amount": "20.00",
"identity": {
"identity": "79000123456",
"receiverFirstName": "Receiver Name",
"receiverLastName": "Receiver Surname",
"receiverCountryOfResidence": "US"
},
"currency": "USD"
},
"details": "details for payment",
"externalId": "transfer_to_client",
"quote": "ldxbasjqwewr4423hfcsdv23g24rfd9ew45tgfs==",
"metadata": {}
}
]
}
Mass payments start time
Mass payments completion time. Its value is set only after all transactions in this mass payment have been processed
Overall transaction status for selected mass payment
Mass payment identifier within the ePayments system
Link to the information about mass payment; is the same as one in the response to the paymentsId request
Information about all transfers occurring within one mass payment. One mass payment can include from 1 to 500 transactions
Error code
Message with detailed error description
{
"dateStarted": "2018-04-09T12:22:41.8123172Z",
"dateFinished": "2018-04-09T12:22:41.9735298Z",
"state": "Completed",
"id": "8f78fed1-ee85-45dd-86c8-c6d76aa1b562",
"self": "/v2/payments/8f78fed1-ee85-45dd-86c8-c6d76aa1b562",
"payments": [
{
"id": "e0f51e44-dde6-430b-b1f1-96af2b6d2e45",
"from": {
"provider": "eWallet",
"currency": "USD",
"identity": "000-123123"
},
"to": {
"provider": "qiwi",
"amount": "20.00",
"identity": {
"identity": "79000123456",
"receiverFirstName": "Receiver Name",
"receiverLastName": "Receiver Surname",
"receiverCountryOfResidence": "US"
},
"currency": "USD"
},
"details": "details for payment",
"externalId": "transfer_to_client",
"quote": "ldxbasjqwewr4423hfcsdv23g24rfd9ew45tgfs==",
"metadata": {},
"rate": "1.48",
"quoteExpireIn": "8556",
"dateStarted": "2018-04-09T12:22:41.8123172Z",
"dateFinished": "2018-04-09T12:22:41.9735298Z",
"state": "Completed",
"errorCode": 0,
"errorData": [
"string"
],
"errorMsgs": [
"string"
]
}
],
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as - paymentsExternalId) is used to obtain information regarding a specific transaction within a mass payment utilizing the external identifier ExternalId.
This identifier is specified in the payment execution request body payments.
The ExternalId is unique for each payment made by the client. This means 2 different payments made by the same client will have different ExternalId value. The identity check is not case-sensitive, meaning aBCdeF = abcdef.
The unique payment ID. Specified in the request body payments.
Requirements:
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
curl -X GET "https://api.epayments.com/v2/payments?externalId=external_client" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
Mass payments start time
Mass payments completion time. Its value is set only after all transactions in this mass payment have been processed
Overall transaction status for selected mass payment
Mass payment identifier within the ePayments system
Link to the information about mass payment; is the same as one in the response to the paymentsId request
Information about all transfers occurring within one mass payment. One mass payment can include from 1 to 500 transactions
Error code
Message with detailed error description
{
"dateStarted": "2018-04-09T12:22:41.8123172Z",
"dateFinished": "2018-04-09T12:22:41.9735298Z",
"state": "Completed",
"id": "8f78fed1-ee85-45dd-86c8-c6d76aa1b562",
"self": "/v2/payments/8f78fed1-ee85-45dd-86c8-c6d76aa1b562",
"payments": [
{
"id": "e0f51e44-dde6-430b-b1f1-96af2b6d2e45",
"from": {
"provider": "eWallet",
"currency": "USD",
"identity": "000-123123"
},
"to": {
"provider": "qiwi",
"amount": "20.00",
"identity": {
"identity": "79000123456",
"receiverFirstName": "Receiver Name",
"receiverLastName": "Receiver Surname",
"receiverCountryOfResidence": "US"
},
"currency": "USD"
},
"details": "details for payment",
"externalId": "transfer_to_client",
"quote": "ldxbasjqwewr4423hfcsdv23g24rfd9ew45tgfs==",
"metadata": {},
"rate": "1.48",
"quoteExpireIn": "8556",
"dateStarted": "2018-04-09T12:22:41.8123172Z",
"dateFinished": "2018-04-09T12:22:41.9735298Z",
"state": "Completed",
"errorCode": 0,
"errorData": [
"string"
],
"errorMsgs": [
"string"
]
}
],
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as - paymentsId) is used to obtain information regarding all transactions made within a single mass payment. The id parameter from the payments array is selected as a request parameter.
A response message will contain mass payment results including errors description, commission fee amounts, and quotations.
Mass Payment identifier
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
curl -X GET "https://api.epayments.com/v2/payments/8cd00aaf-7268-4024-9313-b082b1c51a40" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
Mass payments start time
Mass payments completion time. Its value is set only after all transactions in this mass payment have been processed
Overall transaction status for selected mass payment
Mass payment identifier within the ePayments system
Link to the information about mass payment; is the same as one in the response to the paymentsId request
Information about all transfers occurring within one mass payment. One mass payment can include from 1 to 500 transactions
Error code
Message with detailed error description
{
"dateStarted": "2018-04-09T12:22:41.8123172Z",
"dateFinished": "2018-04-09T12:22:41.9735298Z",
"state": "Completed",
"id": "8f78fed1-ee85-45dd-86c8-c6d76aa1b562",
"self": "/v2/payments/8f78fed1-ee85-45dd-86c8-c6d76aa1b562",
"payments": [
{
"id": "e0f51e44-dde6-430b-b1f1-96af2b6d2e45",
"from": {
"provider": "eWallet",
"currency": "USD",
"identity": "000-123123"
},
"to": {
"provider": "qiwi",
"amount": "20.00",
"identity": {
"identity": "79000123456",
"receiverFirstName": "Receiver Name",
"receiverLastName": "Receiver Surname",
"receiverCountryOfResidence": "US"
},
"currency": "USD"
},
"details": "details for payment",
"externalId": "transfer_to_client",
"quote": "ldxbasjqwewr4423hfcsdv23g24rfd9ew45tgfs==",
"metadata": {},
"rate": "1.48",
"quoteExpireIn": "8556",
"dateStarted": "2018-04-09T12:22:41.8123172Z",
"dateFinished": "2018-04-09T12:22:41.9735298Z",
"state": "Completed",
"errorCode": 0,
"errorData": [
"string"
],
"errorMsgs": [
"string"
]
}
],
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as - confirmation) is used for confirming transfer operation. Confirmation is carried out by sending the confirmation
parameter with the confirmation code in the request body.
This method is not suited for clients who are authorised via partner_id/ partner_secret. Such clients will receive transfer’s results immediately after using the payments method.
Mass Payment identifier
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
Transaction confirmation code. Instructions on how to obtain the code are transmitted in the message
parameter, which comes in the response to the payments request.
{
"confirmation": "184"
}
Mass payments start time
Mass payments completion time. Its value is set only after all transactions in this mass payment have been processed
Overall transaction status for selected mass payment
Mass payment identifier within the ePayments system
Link to the information about mass payment; is the same as one in the response to the paymentsId request
Information about all transfers occurring within one mass payment. One mass payment can include from 1 to 500 transactions
Error code
Message with detailed error description
{
"dateStarted": "2018-04-09T12:22:41.8123172Z",
"dateFinished": "2018-04-09T12:22:41.9735298Z",
"state": "Completed",
"id": "8f78fed1-ee85-45dd-86c8-c6d76aa1b562",
"self": "/v2/payments/8f78fed1-ee85-45dd-86c8-c6d76aa1b562",
"payments": [
{
"id": "e0f51e44-dde6-430b-b1f1-96af2b6d2e45",
"from": {
"provider": "eWallet",
"currency": "USD",
"identity": "000-123123"
},
"to": {
"provider": "qiwi",
"amount": "20.00",
"identity": {
"identity": "79000123456",
"receiverFirstName": "Receiver Name",
"receiverLastName": "Receiver Surname",
"receiverCountryOfResidence": "US"
},
"currency": "USD"
},
"details": "details for payment",
"externalId": "transfer_to_client",
"quote": "ldxbasjqwewr4423hfcsdv23g24rfd9ew45tgfs==",
"metadata": {},
"rate": "1.48",
"quoteExpireIn": "8556",
"dateStarted": "2018-04-09T12:22:41.8123172Z",
"dateFinished": "2018-04-09T12:22:41.9735298Z",
"state": "Completed",
"errorCode": 0,
"errorData": [
"string"
],
"errorMsgs": [
"string"
]
}
],
"errorCode": "0",
"errorMsgs": "[]"
}
OAuth 2.0 authorisation is an authorisation via client_id
and client_secret
identifiers. This authorisation is necessary to gain access to your client’s data
(e-Wallet number, verification date, etc.). These identifiers are generated on the ePayments side and are issued after an API integrator sends a separated request to the support team or personal manager.
Obtaining client’s data:
{{redirect_uri}}?code={{auth_code}}
, here auth_code is the access key that is required for further authorisation.auth_code
from the landing page URL to the API integrator. The code lifetime is 2 minutes.auth_code
in the code
parameter
of the body of the POST /token request. The access_token
will be sent in the response.access_token
in the request header GET /v1/getuser in order to gain access to clients’ data.
Re-receiving data:
Further data retrieval is possible without OAuth 2.0 authorisation. To do this, the API integrator must save the UserId from the first GET /v1/getuser request and then pass this UserId in the URL according to the following format: GET /v1/getuser/{userId}.
Header format for OAuth authorisation:
Content-type: application / json
Authorization: Bearer access_token
Here, access_token
is the access key received in the POST /token response when passing grant_type = authorization_code
.
The following is a request to generate a link that you will need to send to your verified client in order to pass OAuth 2.0 authorisation.
After opening the link, a client must:
scope
parameter). If access to the data was granted previously, then this step will be skipped.After gaining access to client’s data, it is necessary to pass the received auth_code
using the POST /token method.
Request type. Value is always set as code
Client’s Id. Generated by the ePayments system and provided by customer service operators when requested
Data you can request from your client. Values are transmitted as a string, using a comma to separate between elements. Values are presented without spaces:
A landing page to which client will be redirected to upon completing authorisation (the domain of the indicated address should match with the principal domain in the application settings). The redirect_uri must start from https://, since working with http:// is not supported
curl -X GET "https://api.epayments.com/account/authorize?response_type=code&client_id=client958&scope=fullname%2Cewallet%2Caddress&redirect_uri=https%3A%2F%2Fpartner-site.com" -H "accept: application/json"
The Code value, which is transmitted to the landing page URL. This Code must be obtained from the client and exchanged for a token within 2 minutes.
In order to exchange the code
for a token
you need to submit the POST /token request and include the grant_type=authorization_code
parameter in the request’s body.
{
"code": "g56732saq2"
}
This method (hereinafter referred to as - getUser) is used to obtain detailed information about a client who provided access to his/her data. It is used only for OAuth authorisation.
This method allows to automatically fill in the client’s data that is already in the ePayments system.
If access to some data was not previously granted by a customer then the response will contain empty fields. If the client’s status is not Approved, then the method will return the 15002 error code and the response will contain values only for the id
and userState
parameters.
Basic access_token, where the access_token is an access key, obtained in the response during client’s authorization
application/json
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
curl -X GET "https://api.epayments.com/v1/getuser" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
The unique identifier of the client. It can be subsequently transmitted for sending a getUser via id request during the partner_id authorisation
Client’s first name
Client’s last name
Indicates if the client passed the verification process
Client’s status
Client’s mobile phone number
Client’s email address
Country of residence
Country of citizenship
Account verification date
Client’s birth date
Financial transactions’ confirmation type. After a client connects SCA, only the “SCA” type is returned in the response
Information on e-Wallet
Information about cards
Addresses information
Corporate client’s company information
Error code
Message with detailed error description
{
"id": "8bc876ef-773c-44e5-813d-e4dc392f134d",
"firstName": "Mike",
"lastName": "Nikmus",
"isVerified": "true",
"userState": "Approved",
"mobilePhone": "+33 5896 585 44",
"email": "[email protected]",
"countryOfResidence": "United Kingdom",
"citizenship": "United Kingdom",
"verificationDate": "null",
"dateOfBirth": "null",
"transactionConfirmationType": "SMSCode - confirmation with one-time code from SMS",
"ewallets": [
{
"ePid": "000-123456",
"balances": [
{
"isSuccessed": "true",
"currentBalance": "100.55",
"hold": "0",
"currency": "USD",
"accountNumber": "000-123456",
"accountType": "Ewallet"
}
],
"inLimit": "null",
"outLimit": "null"
}
],
"cards": [
{
"id": "1234xxxxxxxx5678",
"balance": "158.54",
"cardCurrency": "USD"
}
],
"addresses": [
{
"countryIsoCode": "643",
"postalCode": "109012",
"city": "Moscow",
"addressLine1": "Red Square",
"addressLine2": "null",
"addressLine3": "null"
}
],
"company": {
"companyName": "Company LTD",
"jurisdiction": "UK LLP",
"companyNo": "123PX12345"
},
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as - getUser) is used to obtain detailed information about a client who provided access to his/her data. This method is used for partner_id authorisation if userId of the client’s is present.
In the absence of access to some client’s data, the fields in the response may be left empty. If the client’s status is not Approved, then the method will return the 15002 error and the response will contain values only for the id
and userState
parameters.
Client’s unique identifier
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
application/json
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
curl -X GET "https://api.epayments.com/v1/getuser/8cd00aaf-7268-4024-9313-b082b1c51a40" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
The unique identifier of the client. It can be subsequently transmitted for sending a getUser via id request during the partner_id authorisation
Client’s first name
Client’s last name
Indicates if the client passed the verification process
Client’s status
Client’s mobile phone number
Client’s email address
Country of residence
Country of citizenship
Account verification date
Client’s birth date
Financial transactions’ confirmation type. After a client connects SCA, only the “SCA” type is returned in the response
Information on e-Wallet
Information about cards
Addresses information
Corporate client’s company information
Error code
Message with detailed error description
{
"id": "8bc876ef-773c-44e5-813d-e4dc392f134d",
"firstName": "Mike",
"lastName": "Nikmus",
"isVerified": "true",
"userState": "Approved",
"mobilePhone": "+33 5896 585 44",
"email": "[email protected]",
"countryOfResidence": "United Kingdom",
"citizenship": "United Kingdom",
"verificationDate": "null",
"dateOfBirth": "null",
"transactionConfirmationType": "SMSCode - confirmation with one-time code from SMS",
"ewallets": [
{
"ePid": "000-123456",
"balances": [
{
"isSuccessed": "true",
"currentBalance": "100.55",
"hold": "0",
"currency": "USD",
"accountNumber": "000-123456",
"accountType": "Ewallet"
}
],
"inLimit": "null",
"outLimit": "null"
}
],
"cards": [
{
"id": "1234xxxxxxxx5678",
"balance": "158.54",
"cardCurrency": "USD"
}
],
"addresses": [
{
"countryIsoCode": "643",
"postalCode": "109012",
"city": "Moscow",
"addressLine1": "Red Square",
"addressLine2": "null",
"addressLine3": "null"
}
],
"company": {
"companyName": "Company LTD",
"jurisdiction": "UK LLP",
"companyNo": "123PX12345"
},
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as – cardList) is used for obtaining information on all personal and active ePayments cards. For the cards that are not currently in the Active state balance value will be always set as zero.
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
curl -X GET "https://api.epayments.com/v1/card" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
Detailed information about cards
Error code
Message with detailed error description
{
"cards": [
{
"displayString": "1234****5678",
"id": "1234xxxxxxxx5678",
"cardIdentity": "d55bdc1c-0511-4d0d-b6b7-b9e173e9f357",
"balance": "550.8",
"canBeReissued": "false",
"allowAdjusment": "false",
"cardType": "Real",
"prevCardId": "null",
"cardCurrency": "USD",
"state": "Active",
"cardPaid": "Paid",
"deliveryPaid": "Paid",
"deliveryMethod": 0,
"deliveryAddressId": "160991",
"creationDate": "2018-03-30T10:11:42.447Z",
"cardServiceExpireAt": "2018-05-30T10:14:07.86Z",
"cardServicePaid": "Free",
"prerequestCreationDate": "2018-03-30T10:11:16.993Z",
"embossingName": "CARDHOLDER NAME",
"invoiceId": "886196",
"creationType": 0,
"inLimit": [
{
"identity": "000-123456",
"limitAmount": "3000",
"limitSpentAmount": "584.47",
"currency": "USD",
"period": "364000"
}
],
"outLimit": [
{
"identity": "000-123456",
"limitAmount": "5000",
"limitSpentAmount": "1862.01",
"currency": "USD",
"period": "364000"
}
],
"paymentDate": "2018-03-30T10:11:39.32Z",
"vat": "20",
"vdeExist": "true",
"allowedCardOperationTypes": [
"Adjusment"
],
"purchases": "2985.57",
"threshold": "300",
"cardServicePeriod": 0,
"trackingCodeUrl": "null",
"trackingCode": "null"
}
],
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as – cardUnload) is used for transferring funds from your ePayments card to your ePayments e-Wallet.
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
Transaction amount. Decimal separator – dot. No more than two characters can be entered after a dot
The full number of the recipient’s ePayments e-Wallet in xxx-xxxxxx format
Sender’s masked ePayments card number in 1234xxxxxxxx5678 format. Only first and last 4 characters are shown. The rest are hidden and instead “x” are shown
Transfer availability check:
{
"amount": "100.00",
"targetPurse": "000-703454",
"cardPanCode": "5283xxxxxxxx2710",
"validateOnly": "false"
}
Information about ePayments card balance
Information about ePayments e-Wallet
Error code
Message with detailed error description
{
"cardBalance": {
"isSuccessed": "true",
"currentBalance": "918.55",
"hold": "0",
"currency": "USD",
"accountNumber": "1234хххххххх5678",
"accountType": "Card"
},
"purseBalance": {
"isSuccessed": "true",
"currentBalance": "100.55",
"hold": "0",
"currency": "USD",
"accountNumber": "000-123456",
"accountType": "Ewallet"
},
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as – cardLoad) is used for loading your ePayments card from your ePayments e-Wallet. The result of the transaction can be checked using the cardLoadInfo method.
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
The full number of the ePayments e-Wallet in xxx-xxxxxx format, from which funds will be debited
Masked ePayments card number to which funds will be loaded. Specified in 1234xxxxxxxx5678 format
Transfer availability check:
Transaction amount. Decimal separator – dot. No more than two characters can be entered after a dot
Currency
{
"sourcePurse": "000-725187",
"panCode": "5283xxxxxxxx5185",
"validateOnly": "false",
"amount": "10.54",
"currency": "USD"
}
Unique transaction identifier. Can be used to send in the request for obtaining information about funds transfer status
Transaction fee
Error code
Message with detailed error description
{
"operationGuid": "ad7322dc-0e8c-425a-95c5-67af5082c3ef",
"commissionAmount": "0",
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as – cardLoadInfo) is used to obtain information on a transfer made from the ePayments e-Wallet to your ePayments card.
A unique transaction identifier. Obtained in the response to the cardLoad request
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
curl -X GET "https://api.epayments.com/v1/cardload?operationGuid=ad7322dc-0e8c-425a-95c5-67af5082c3ef" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
e-Wallet balance after transaction execution
Card balance after transaction execution
Error code
Message with detailed error description
{
"purseBalance": "1810.06",
"cardBalance": "621.8",
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as - currencyExchange) is used for currency exchange when a transfer occurs between different sections of the same ePayments e-Wallet. Currency exchange is carried out using an internal rate set by ePayments. An exchange rate is set for 5 minutes. If during this time the request for a currency exchange was not sent, the rate will be automatically updated.
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
Resulting transfer currency (bought currency). The value must be different from the value of the sellCurrency
field.
Initial currency of an exchange (sold currency). The value must be different from the value of the buyCurrency
field.
The amount of the sold currency. Decimal separator – dot. No more than two digits can be entered after a dot. The parameter is passed only if the buyAmount
parameter was not specified in the request
The amount of the bought currency. Decimal separator – dot. No more than two digits can be entered after a dot. The parameter is transmitted only if the sellAmount
parameter was not specified in the request
Preliminary currency exchange rate calculations without transaction execution:
The ePayments e-Wallet ID for which currency exchange will be carried out. Set in the XXX-XXXXXX format. If someone else’s e-Wallet number is entered the corresponding error will return in response
Currency exchange quotes hash code, which is set for the currency conversion. If the hash is not used within 5 minutes after the transfer procedure is initiated, then - during the actual transfer - currency will be converted using the course that is relevant at that particular moment
{
"buyCurrency": "usd",
"sellCurrency": "eur",
"sellAmount": "100",
"buyAmount": "null",
"onlyCalculateRates": "true",
"selectedPurseId": "000-123456",
"quoteHash": "string"
}
Outgoing amount information
Incoming amount information
Balance information
Hash-code quotes information. It is returned only if the OnlyCalculateRates = true
parameter was sent in the request
Fixed fee amount. If no fee is imposed, the value will be set as Null
Error code
Message with detailed error description
{
"give": {
"amount": "100",
"currency": "usd"
},
"received": {
"amount": "86.41",
"currency": "eur"
},
"purseBalance": [
{
"isSuccessed": "true",
"currentBalance": "100.55",
"hold": "0",
"currency": "USD",
"accountNumber": "000-123456",
"accountType": "Ewallet"
}
],
"exchangeQuote": {
"hash": "JhFkAWIDz8V50ucmO/C1K5xd3l6UWK==",
"exchangeRate": "0.8093"
},
"fixCommision": {
"amount": "2",
"currency": "usd"
},
"errorCode": "0",
"errorMsgs": "[]"
}
Transfers to bank cards are carried out using the mass payment methods. To send a transfer to bank cards, one of the following parameters is specified as the recipient in the identity
object:
Before you can access transfers to bank cards on a live environment, you must fill out the SAQ forms:
These forms are requested in accordance with the PCI DSS rules under which ePayments operates. The completed form should be uploaded in the settings of your personal account in the “Add document” section.
Processing pending status
After the transfer to the card, the sender can check the status of the transfer by the identifier of the mass transfer - id
or by the identifier of a single transfer - externalId
.
The processing of the transfer and the speed of obtaining the final status depends on the payment provider. In most cases, the transfer reaches its final status within a few minutes. But for some transfers to third-party bank cards, it can take 1 to 5 calendar days to get the final status.
For the cases presented below, the final status of the transfer can be obtained not earlier than the next day:
Case 1:
Case 2:
For the aforementioned case the final status is obtained within 1 to 5 calendar days. This means that when checking the status of the transfer, the response may return status = pending
.
In this case, it is recommended to request the payment status according to the following frequency: every 30 seconds, 1 minute, 15 minutes, 30 minutes, 1 hour, 6 hours and then every 6 hours until the final status is received.
To transfer to a third-party issued card using a token and not the card full number, you must use the tokenisation method. Tokenisation is the encryption of data of a third-party issued card in a token format. In this context, the token is a unique string that uniquely identifies the card. The token is generated on the ePayments side.
This payment method improves the security of data transmission and reduces requirements for integration (the only requirement is to sign the PCI DSS SAQ A form).
The tokenisation process consists of the following steps:
Implementing code on the website
The following code should be embedded on all web pages where the data entry form for a bank card will be provided (the location of the code inside the web page does not matter):
<div id="root-widget"></div>
<button id="submit-button">submit</button>
Parameter | Description |
---|---|
div id=" " | The identifier or class that is responsible for the location of the bank card data entry form on within the web page. The id value is set arbitrarily. There are no restrictions regarding which characters can be entered on the ePayments side. The value for this id must match the value of the root parameter from the var option variable (see the Javascript example below) |
button id=" " | The identifier that collects data from the recipient’s bank card. After clicking on the submit button, on the ePayments side, the data is processed and sent as a token |
On the same page you will need to implement the following JavaScript code (regardless of the position of the previous code block):
<script src="https://static.epayments.com/card-token-widget/cardDataWidget.js">
</script>
<script>
(function () {
document.addEventListener('DOMContentLoaded', function () {
var style = {
widget: {},
field: {},
fieldInput: {},
fieldInputPlaceholder: {},
fieldInputControl: {},
fieldSubmit: {},
fieldSubmitError: {},
fieldSubmitButton: {
'background': '#000',
'hover' : {
'background': '#ff546c'
}
}
};
var option = {
root: '#root-widget',
submitButton: 'submit-button',
fields: [['number', 'expireDate'], ['embossingName']],
sid: '123',
partnerId: '58',
sign: 'f82a381d1f4ab94d8feb33bd161b6638',
lang: 'en',
style: style
};
var widget = cardDataWidget.init(option);
widget.addEventListener('tokenCreateSuccess', function (data)
{
});
})
})()
</script>;
Link to JS
It is necessary to sent the link to the widget form in the <script>
tag. The link format depends on in which environment is used:
In the aforementioned JavaScript code, the following variables are used:
Parameter | Description |
---|---|
var style | Variable for the stylisation of a bank card data entry form. By default the standard style is used. It is also possible to change the appearance of the form in accordance with the design of the site |
var option | Variable to create a data entry form. As a value, it uses a list of input fields, form language, styles, etc |
var widget | A variable consisted of a form object (with parameters passed to the var option ) and methods for interacting with the bank card data entry form (for example, addEventListener) |
widget.addEventListener | An event for processing a request to receive a token, which will later be transferred to a bank card. Accepts events: - tokenCreateSuccess - an event that is triggered when the request to receive a token is successfully processed; - tokenCreateError - an event that is triggered when the request for a token is not processed successfully. After successful processing of the request, function (data) is called, which accepts the token object |
var style parameters
For each field of the var style
variable, you can apply CSS styling a specific element state (hover, active, focus) or specify additional CSS settings (for example, background).
Parameter | Description |
---|---|
widget | A set of CSS-styles for the bank data entry form (for example, color, font-size, etc) |
field | Any form string. One line can consist of several fields intended for input. For example, by default, the first line of the form contains two input elements - the card number and the card’s expiration date |
fieldInput | Elements input field. For example card number, expiration date, and cardholder name |
fieldInputPlaceholder | Hint text inside the field that disappears when a value is entered (for example, for the expireDate field it can be “DD/YY”) |
fieldInputControl | Field filling style |
fieldSubmit | Confirm button style |
fieldSubmitError | Error panel style |
var option parameters
Parameter | Description |
---|---|
root | The name of the parameter that is responsible for the location of the data entry form for a bank card. The parameter value is the same as the id value from the div tag. This is a mandatory parameter |
submitButton | The name of the parameter that is responsible for the location of the button to confirm the sending of data by credit card |
fields | Parameters that will be specified by the client in the input form: - number - card number (required field); - expireDate - expiration date (optional); - embossingName - the name of the cardholder (mandatory field) |
sid | Random id. Used in the formation of a signature to the request. Any alphanumeric character set is allowed for input (no restrictions set on the ePayments side) |
partnerId | Unique identifier. Issued during integration. Numeric field |
sign | Signature request. Formed as an MD5 hash string (PartnerId;PartnerSecret;sid). PartnerSecret - a unique key issued during integration |
lang | The language of the data entry form: ru - Russian, en - English. If the language is not explicitly specified, it is determined by the browser. If the browser failed to determine the language, then the default is “en” |
style | Connecting personalized styling input form. The style value is the name of the variable that is responsible for styling the form (for the example above, the value is style). If the default styling is used, the style attribute is not passed |
Bankcard Parameters
Below is a description of the parameters that are available to the sender when filling out the data entry form. The input form can be modified in accordance with the design of your site.
Parameter | Description |
---|---|
Card number | Card masked number. Only the first 6 and last 4 digits are shown (regardless of the card’s full number length). The rest of the digits will be masked. For example, for the card with 19 digits in its full number the display will be as following: 1234 56** **** ***7 890 |
Card expiration date | Card validity period in the MM / YY format. Validity period cannot be less than the current month and year |
Card holder | Cardholder’s Name. It consists of Latin letters, without special characters. Field length from 2 to 100 characters |
After filling out the form and clicking on the submit button, ePayments receives and processes data on the bank card. If the request is processed successfully, ePayments sends the token object below in the function(data)
attributes.
Token object
{
"token": {
"id": "57a729e8-c760-4e49-a206-e4a41539e2ab",
"brand": "Visa",
"country": "LV",
"number": "431422****0056",
"created": "2017-06-30T07:03:36Z",
"lastUsed": null,
"exp_month": "01",
"exp_year": "19",
"name": "Alex Mackitney",
"fingerprint": "F1BE4A4450EEE42F64CC62C8BB1C0C8938FCBBDB2782F891CDF7F09505910F5F"
},
"errorCode": 0,
"errorMsgs": []
}
This method (hereinafter referred to as - cardToken) returns bank card token data.
Unique token identifier
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
curl -X GET "https://api.epayments.com/v2/payments/cards/token/8cd00aaf-7268-4024-9313-b082b1c51a40" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
Information about bankcard token
Error code
Message with detailed error description
{
"token": {
"id": "57a729e8-c760-4e49-a206-e4a41539e2ab",
"brand": "Visa",
"country": "LV",
"number": "431422****0056",
"created": "2017-06-30T07:03:36Z",
"lastUsed": "null",
"exp_month": "01",
"exp_year": "20",
"name": "Alex Mackitney",
"fingerprint": "F1BE4A4450EEE42F64CC62C8BB1C0C8938FCBBDB2782F891CDF7F09505910F5F"
},
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as - cardTokenDelete) is used to delete token of a third-party bankcard.
Unique token identifier
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
curl -X DELETE "https://api.epayments.com/v2/payments/cards/token/8cd00aaf-7268-4024-9313-b082b1c51a40" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
Error code
Message with error description
{
"errorCode": "0",
"errorMsgs": "card with tokenid = xxx has been successfully deleted"
}
This method (hereinafter referred to as - cardCurrencies) is required to obtain information about the issuing bank’s country of origin and the list of currencies available for transferring to third-party issued cards through the v2/payments mass payment method.
The list of currencies from the response can be used in the currency
parameter during transfer to the specified card.
Card BIN number - the first 6 digits of card’s full number. This number is required to determine the bankcard’s country of issue
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
curl -X GET "https://api.epayments.com/v2/payments/externalcard/currencies/448315" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
The list of currencies in which transfer to bank card can be conducted. Currencies are transmitted as ISO three-character codes
Issuing bank country. Value is transmitted as ISO two-character codes
Name of the recipient bank. If bank name was not found, the return value will be set as Null
Error code
Message with detailed error description
{
"cardCurrencies": [
"USD"
],
"cardCountry": "RU",
"bankName": "null",
"errorCode": "0",
"errorMsgs": "[]"
}
The bank transfer feature in the ePayments system is a wire transfer, which can be executed one of the following ways:
Wire transfers are made via v2/payments mass transfer method. For all outgoing bank transfers, countries’ values are transmitted in ISO 3166 numeric format,
currencies - in ISO 4217 symbolic format. Below is a list of beneficiary bank countries for which the additional fields must be filled:
Pending status processing
After the transfer to the bank account is executed, the sender can check the status of the transfer using the mass transfer identifier – id or the
single transfer identifier - externalId. Transfer processing and the speed of achievement of the final status depends on the payment provider.
In most cases, the final status of the transfer will be obtained within 1 to 5 calendar days. However, if a wire transfer is sent to the beneficiary bank in Russia and the receiving currency is the Russian ruble,
it could take as long as 30 consecutive days before the final status is achieved.
If the transfer was not processed by the provider, then status = pending
will be returned in the payment status request response. In such cases, it is recommended to repeatedly request the payment status according
to the following schedule: every 30 seconds, 1 minute, 15 minutes, 30 minutes, 1 hour, and then every hour for the duration of 5 days. If after 5 days final status is not achieved it is recommended to request the payment status once
a day for each day of designated period until the final status is achieved.
This method (hereinafter referred to as - countryTerms) is used to obtain conditions of transfer to a bank account depending on the receiving bank country of origin, transfer currency and beneficiary type.
Digital ISO country code of a recipient bank for which a list of additional parameters is requested. Consists of 3 digits
Transfer currency ISO code. Consist of 3 symbols
Obtaining of information on transfer currencies available for the specified country:
Beneficiary type. Values are set either as characters or as numerical combination. Parameter is case sensitive:
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
curl -X GET "https://api.epayments.com/v2/payments/wireout/countryTerms?countryIsoCode=840¤cy=EUR&requestCurrencyPairs=true&beneficiaryType=1" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
Currency pairs which can be used for wire transfer to the beneficiary bank in a specified country
Additional fields that must be filled for the beneficiary bank in a specified country (in addition to the general fields).
If additional fields are not provided for the specified country, then additionalFields=null
Error code
Message with detailed error description
{
"currencies": [
{
"fromCurrency": "EUR",
"toCurrency": "USD"
}
],
"additionalFields": [
{
"field": "purposeOfPayment",
"isRequired": "true",
"isForPaymentOnly": "false",
"regex": "null",
"placeholder": "null",
"maxLength": "null",
"values": [
{
"label": "Payroll Deposit PAY/PAY",
"value": "200"
}
]
}
],
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as - countries) is used to obtain a list of countries available for outgoing bank transfers.
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
curl -X GET "https://api.epayments.com/v2/payments/wireout/countries" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
The list of countries available for a bank transfer. Returned as a list of ISO three-digit codes
Error code
Message with detailed error description
{
"countryIsoCodes": "[008, 012, 016]",
"errorCode": "0",
"errorMsgs": "[]"
}
When transferring to bank accounts, only currencies that are defined by whole numbers can be used (for example, VND - Vietnamese dong). To identify such currencies, this method – currencies is used to obtain information about available values: decimal or integer.
The value of the currency for which additional information regarding transfer is required. Transmitted as ISO three-character code. If the currency value is not specified in the request, then the response will return information on all supported currencies
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
curl -X GET "https://api.epayments.com/v2/catalog/currencies/vnd" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
Information on currencies
{
"currencies": [
{
"title": "VND",
"integral": "true"
}
]
}
This method (hereinafter referred to as - bankTemplateList) is used to get a brief overview of all existing templates which were added for outgoing bank transfers.
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
curl -X GET "https://api.epayments.com/v2/payments/wireout/templates" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
Get a list of templates
Error code
Message with detailed error description
{
"templates": [
{
"templateId": "45800",
"bankName": "Sberbank",
"templateName": "New transfer",
"bankIdentity": "BKENGB2L",
"beneficiaryName": "Alina Titomyr",
"beneficiaryAccount": "60-16-13 31926819",
"currencyCode": "usd"
}
],
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as - bankTemplateId) is used to obtain detailed template information. The unique identifier of the template is - templateId, transmitted as the request parameter. This parameter can be obtained by sending a request to get a list of all existing templates - bankTemplateList.
A unique identifier saved template identifier. It is passed in the response of the get templates list request
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
curl -X GET "https://api.epayments.com/v2/payments/wireout/templates/225591" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
In this object, all possible parameters of a bank transfer are sent. This also includes additional parameters specific for the beneficiary country, bank and type.
If the country, currency type and beneficiary type listed in the transfer template are not required, then in the template
objects their value will be passed as Null
Error code
Message with detailed error description
{
"template": {
"templateName": "My regular bank transfer",
"beneficiaryCountryCode": "076",
"beneficiaryCity": "San Paolo",
"beneficiaryAddress": "Av. Paulista, 1450",
"beneficiaryType": "Individual",
"beneficiaryRegistrationNumber": "null",
"beneficiaryCnaps": "null",
"beneficiaryAccount": {
"account": "652457652125",
"bankName": "The Central Bank of the Russian Federation",
"bankIdentity": "FRDTEY98",
"bicRussia": "123456789",
"bankCountryCode": "643"
},
"currencyCode": "usd",
"beneficiaryName": "Nikolaus Hilton",
"beneficiaryFirstName": "Nikolaus",
"beneficiaryLastName": "Hilton",
"beneficiaryPatronymic": "null",
"beneficiaryINN": "null",
"beneficiaryKPP": "null",
"beneficiaryPostCode": "null",
"beneficiaryStateOrProvince": "null",
"beneficiaryAba": "null",
"beneficiarySortCode": "null",
"beneficiaryBankCode": "076",
"beneficiaryBranchCode": "6985",
"beneficiaryAccountType": "SA",
"beneficiaryAccountNumberSuffix": "null",
"beneficiaryCPF": "2345678901",
"beneficiaryCNPJ": "null",
"purposeOfPayment": 200,
"intermediaryAccount": {
"account": "652457652125",
"bankName": "The Central Bank of the Russian Federation",
"bankIdentity": "FRDTEY98",
"bicRussia": "123456789",
"bankCountryCode": "643"
}
},
"errorCode": "0",
"errorMsgs": "[]"
}
An outgoing bank transfer can be saved as a template if:
This method (hereinafter referred to as – bankTemplateCreate) is used to create templates for outgoing bank transfers. Number and types of fields, which will be sent in the request, varies, depending on a bank transfer recipient country and type of currency used. After all required fields are filled and a payment form is completed a template will be saved.
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
Currency
Beneficiary type
Beneficiary registration number
ISO country number of the beneficiary bank. Length - 3 digits
Beneficiary city
Recipient’s address
Information about the recipient’s account
Bank transfer recipient’s name. For the beneficiaryType = Individual
the value is set as Null
Bank transfer recipient’s name. For the beneficiaryType = Business
the value is set as Null
Bank transfer recipient’s last name. For the beneficiaryType = Business
the value is set as Null
Recipient’s patronymic
Recipient’s TIN
Recipient’s KPP (Tax Registration Reason Code)
Recipient’s postcode
Recipient’s State
Recipient’ bank ABA-number. Additional parameter
Beneficiary bank code. Used only for specific countries
Recipient’s bank code. Issued by the central bank of the country
Recipient’s bank branch code
Recipient’s account type
Recipient’s account number suffix
TIN number for individuals in Brazil (Cadastro de Pessoas Físicas)
TIN number for legal entities in Brazil (Cadastro Nacional da Pessoa Jurídica)
Bank transfer purpose.
Send if:
Information about the recipient’s account
{
"templateName": "New name for transfer to Mike",
"currencyCode": "usd",
"beneficiaryType": "Individual",
"beneficiaryRegistrationNumber": "null",
"beneficiaryCountryCode": "840",
"beneficiaryCity": "Michigan",
"beneficiaryAddress": "611 West Ottawa",
"beneficiaryAccount": {
"account": "652457652125",
"bankName": "The Central Bank of the Russian Federation",
"bankIdentity": "FRDTEY98",
"bicRussia": "123456789",
"bankCountryCode": "643"
},
"beneficiaryName": "Nikolaus Hilton",
"beneficiaryFirstName": "Nikolaus",
"beneficiaryLastName": "Hilton",
"beneficiaryPatronymic": "null",
"beneficiaryINN": "null",
"beneficiaryKPP": "null",
"beneficiaryPostCode": "null",
"beneficiaryStateOrProvince": "null",
"beneficiaryAba": "null",
"beneficiarySortCode": "null",
"beneficiaryBankCode": "076",
"beneficiaryBranchCode": "6985",
"beneficiaryAccountType": "SA",
"beneficiaryAccountNumberSuffix": "null",
"beneficiaryCPF": "2345678901",
"beneficiaryCNPJ": "null",
"purposeOfPayment": 200,
"intermediaryAccount": {
"account": "652457652125",
"bankName": "The Central Bank of the Russian Federation",
"bankIdentity": "FRDTEY98",
"bicRussia": "123456789",
"bankCountryCode": "643"
}
}
Error code
Message with detailed error description
The list of incorrectly filled fields. Is only necessary for outgoing bank transfers if when carrying out the operation the errorCode=53003
was returned.
In all other cases the errorData
value set as Null
{
"errorCode": "0",
"errorMsgs": "[]",
"errorData": "null"
}
This method (hereinafter referred to as – bankTemplateEdit) is used to edit parameters of already existing bank transfer templates. All mandatory template parameters must be sent in the request body.
New values of all parameters that are subject to the change must be sent as well. Except for the templateId
parameter, all others parameters can be edited.
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
A unique saved template identifier. It is transmitted in the response of the bankTemplateList method
Currency
Beneficiary type
Beneficiary registration number
ISO country number of the beneficiary bank. Length - 3 digits
Beneficiary city
Recipient’s address
Information about the recipient’s account
Bank transfer recipient’s name. For the beneficiaryType = Individual
the value is set as Null
Bank transfer recipient’s name. For the beneficiaryType = Business
the value is set as Null
Bank transfer recipient’s last name. For the beneficiaryType = Business
the value is set as Null
Recipient’s patronymic
Recipient’s TIN
Recipient’s KPP (Tax Registration Reason Code)
Recipient’s postcode
Recipient’s State
Recipient’ bank ABA-number. Additional parameter
Beneficiary bank code. Used only for specific countries
Recipient’s bank code. Issued by the central bank of the country
Recipient’s bank branch code
Recipient’s account type
Recipient’s account number suffix
TIN number for individuals in Brazil (Cadastro de Pessoas Físicas)
TIN number for legal entities in Brazil (Cadastro Nacional da Pessoa Jurídica)
Bank transfer purpose.
Send if:
Information about the recipient’s account
{
"templateId": "57425",
"templateName": "New name for transfer to Mike",
"currencyCode": "usd",
"beneficiaryType": "Individual",
"beneficiaryRegistrationNumber": "null",
"beneficiaryCountryCode": "840",
"beneficiaryCity": "Michigan",
"beneficiaryAddress": "611 West Ottawa",
"beneficiaryAccount": {
"account": "652457652125",
"bankName": "The Central Bank of the Russian Federation",
"bankIdentity": "FRDTEY98",
"bicRussia": "123456789",
"bankCountryCode": "643"
},
"beneficiaryName": "Nikolaus Hilton",
"beneficiaryFirstName": "Nikolaus",
"beneficiaryLastName": "Hilton",
"beneficiaryPatronymic": "null",
"beneficiaryINN": "null",
"beneficiaryKPP": "null",
"beneficiaryPostCode": "null",
"beneficiaryStateOrProvince": "null",
"beneficiaryAba": "null",
"beneficiarySortCode": "null",
"beneficiaryBankCode": "076",
"beneficiaryBranchCode": "6985",
"beneficiaryAccountType": "SA",
"beneficiaryAccountNumberSuffix": "null",
"beneficiaryCPF": "2345678901",
"beneficiaryCNPJ": "null",
"purposeOfPayment": 200,
"intermediaryAccount": {
"account": "652457652125",
"bankName": "The Central Bank of the Russian Federation",
"bankIdentity": "FRDTEY98",
"bicRussia": "123456789",
"bankCountryCode": "643"
}
}
Error code
Message with detailed error description
The list of incorrectly filled fields. Is only necessary for outgoing bank transfers if when carrying out the operation the errorCode=53003
was returned.
In all other cases the errorData
value set as Null
{
"errorCode": "0",
"errorMsgs": "[]",
"errorData": "null"
}
The ePayments Affiliate Program is a service which allows ePayments clients to receive rewards or remunerations for financial transactions made by their referrals.
Referrals are clients who have registered in the ePayments system using a special referral link and who also have the opportunity to join the affiliate program.
Stages of working with the affiliate program
In order to participate in the affiliate program and to receive remuneration you will need to:
Remuneration
Remuneration is monetary funds in one of three currencies: USD, RUB and EUR. They are paid to you from the fee income of ePayments.
The client can transfer their remuneration to their ePayments e-Wallet at any time, in a 1:1 ratio.
Remuneration amount and the list of eligible transactions are listed in the client’s personal area of the ePayments system in the “Affiliate Program” section.
For more information about the affiliate program please visit the Help Center.
Referrals and their levels
Remuneration can be charged from level 1 and level 2 referrals. Clients who are registered via your referral link are Level 1 referrals. By creating and using their own referral links, they can bring new clients. These clients will become your Level 2 referrals.
This method (hereinafter referred to as - linkCreate) is used to create a referral link. A referral link is a unique link which, when used as a registration invite for new clients,
linking them to the owner of the link. Linking clients to provides the link owner profile with remunerations for the operations conducted by the clients.
When you join the affiliate program, the first referral link will be created automatically. After that, you will be able to create any number of referral links (manually in your account or by using API methods).
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
Referral link name. If the parameter is not sent in the request body, then the name will be generated automatically and returned in the request response.
Field length varies from 1 up to 100 characters. Numbers, letters of the Latin alphabet, as well as the special characters "-" and “_” can be entered
URL to which client will be redirected after clicking on a referral link. URL must contain the domain epayments.com. Use of any other domains is forbidden
{
"partnerLink": "string",
"redirectUrl": "https://www.epayments.com/ru/ewallet_tariffs.html"
}
Referral link ID
Referral link creation time
Time referral link was last edited
Referral link name. If the parameter is not sent in the request body, then the name will be generated automatically and returned in the request response
URL to which client will be redirected after clicking on a referral link
Link activity status
Error code
Message with detailed error description
{
"id": "225591",
"createdAt": "2018-04-30T12:03:39.852Z",
"updatedAt": "2018-04-30T12:03:39.852Z",
"partnerLink": "ldlklx1289",
"redirectUrl": "https://www.epayments.com/ru/ewallet_tariffs.html",
"state": 0,
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as - linkList) is used to obtain a complete list of your referral links. The list shows active and temporarily removed links that can be restored within 30 days.
Referral links filtering by activity status:
If the parameter is not sent, then by default, referral links in any activity status will be displayed
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
curl -X GET "https://api.epayments.com/v2/bonus/link?linkState=1" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
List of all referral links
Error code
Message with detailed error description
{
"links": [
{
"id": "225591",
"createdAt": "2018-04-30T12:03:39.852Z",
"updatedAt": "2018-04-30T12:03:39.852Z",
"partnerLink": "ldlklx1289",
"redirectUrl": "https://www.epayments.com/ru/ewallet_tariffs.html",
"state": 0,
"errorCode": "0",
"errorMsgs": "[]"
}
],
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as - linkEdit) is used to edit the name of an existing referral link. If the specified link does not belong to the client,
then editing will not be possible and the corresponding error will be returned in the method’s response (errorCode=54018
).
The name of the referral link must be unique within ePayments. When you change the name of the link, the old name will remain in the system and becomes available for use by other clients. This means that if any potential clients will use the link with the old name, they will not become your referrals.
Referral link ID. It is transmitted in the response to the link creation request
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
New referral link name. Field length varies from 3 up to 100 characters. Numbers, letters of the Latin alphabet, as well as the special characters "-" and “_” can be entered
{
"partnerLink": "new_partnerlink_name"
}
Error code
Message with detailed error description
{
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as - linkDelete) is used to delete/remove a referral link. If the specified link does not belong to the client,
then removal will be prohibited and the corresponding error will be returned in the method response (errorCode=54018
).
A deleted link can be restored within 30 days after its removal. To restore the link you will need to send a request linkRestore. After 30 days, the link and all statistics on it will be permanently deleted.
Referral link ID. It is transmitted in the response to the link creation request
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
curl -X DELETE "https://api.epayments.com/v2/bonus/link/225591" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
Error code
Message with detailed error description
{
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as - linkRestore) is used to restore deleted referral link. Links can be restored within 30 days after their removal.
If the specified link does not belong to the client, then the corresponding error will be returned in the method response (errorCode=54018
).
Referral link ID. It is transmitted in the response to the link creation request
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
curl -X POST "https://api.epayments.com/v2/bonus/link/225591/restore" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
Error code
Message with detailed error description
{
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as - linkPayout) is used when transferring the remuneration to your own ePayments e-Wallet. If someone else’s ePayments e-Wallet number is used, remuneration transfer will be canceled.
Remuneration amount is always paid in full, with no option to enter any specific transfer amount.
Remuneration is transferred to the corresponding e-Wallet currency section (conversion into a single currency type is not possible).
For example, a client is eligible for the remunerations in the amount of 15 USD and 500 RUB. After sending the remuneration payment request, monetary funds will be transferred to the client’s e-Wallet, accordingly – 15 USD to the USD section of the e-wallet, and 500 RUB to the RUB section. The EUR section balance will not be changed.
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
Remuneration recipient. Value is always set as = ewallet
Recipient’s ID, i.e. ePayments e-Wallet number in the xxx-xxxxxx format. The e-Wallet indicated must belong to the owner of the referral link, according to which the remuneration is paid
{
"provider": "eWallet",
"identity": "012-345678"
}
Error code
Message with detailed error description
{
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as - linkClicksStat) is used to obtain information on clicks and registrations for each referral link. The method returns information on all referral links (active and temporarily removed).
Clicks and registrations statistic display start date. Transmitted in one of the following formats:
Clicks and registrations statistic display end date. Transmitted in one of the following formats:
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
curl -X GET "https://api.epayments.com/v2/bonus/statistics?from=04-01-2017&to=10-01-2017" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
Information regarding clicks on links and registrations carried out. This object also displays overall statistics for each day, if at least one click or one registration took place
Referral links data, including separate statistics for each link on how many times the link was clicked on and how many people registered afterward
Error code
Message with detailed error description
{
"statistics": {
"total": {
"clicks": "5",
"registrations": "1"
},
"days": {
"2017- 10-11": {
"clicks": "5",
"registrations": "1"
},
"2017- 10-19": {
"clicks": "5",
"registrations": "1"
}
}
},
"links": [
{
"id": "89196",
"info": {
"id": "89196",
"createdAt": "2017-09-26T15:57:16.184Z",
"updatedAt": "2017-09-26T15:57:16.184Z",
"code": "1111234",
"url": "https://www.epayments.com",
"state": "InTrash",
"userId": "131d1d4f-80f6-4967-a609-a1c0aac792dc"
},
"statistics": {
"total": {
"clicks": "5",
"registrations": "1"
},
"days": {
"2017- 10-11": {
"clicks": "5",
"registrations": "1"
},
"2017- 10-19": {
"clicks": "5",
"registrations": "1"
}
}
}
}
],
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter - linkFinanceStat) is used to obtain information on remunerations paid to the client as part of the affiliate program.
Clicks and registrations statistic display start date. Transmitted in one of the following formats:
Clicks and registrations statistic display end date. Transmitted in one of the following formats:
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
curl -X GET "https://api.epayments.com/v2/bonus/statistics/finance?from=04-01-2017&to=10-01-2017" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
Information about remunerations: current balance, the balance on the date of remuneration accrual and the total balance - all displayed in a single currency
Information about all transfers occurring within one mass payment. One mass payment can include from 1 to 500 transactions
Information about the internal currency exchange rate for each currency type
Error code
Message with detailed error description
{
"balances": {
"total": {
"eur": {
"hold": "0",
"balance": "0",
"cancelled": "0",
"paidOut": "150"
},
"rub": {
"hold": "20",
"balance": "0",
"cancelled": "0",
"paidOut": "513.23"
},
"usd": {
"hold": "0",
"balance": "0",
"cancelled": "350.6",
"paidOut": "872.36"
}
},
"days": {
"2017- 06-26": {
"usd": {
"holdDelta": "0",
"balanceDelta": "0",
"canceledDelta": "0",
"paidOutDelta": "0"
}
}
},
"aggregated": {
"eur": {
"hold": "0.26",
"balance": "0",
"cancelled": "283.74",
"paidOut": "862.57"
},
"rub": {
"hold": "20",
"balance": "0",
"cancelled": "21625.04",
"paidOut": "65455.19"
},
"usd": {
"hold": "0.31",
"balance": "0",
"cancelled": "350.6",
"paidOut": "1056.09"
}
}
},
"links": [
{
"id": "201256",
"balances": {
"total": {
"first": {
"eur": {
"holdDelta": "0",
"balanceDelta": "30",
"canceledDelta": "0"
},
"rub": {
"holdDelta": "20",
"balanceDelta": "147.2",
"canceledDelta": "0"
},
"usd": {
"holdDelta": "153.84",
"balanceDelta": "86.16",
"canceledDelta": "0"
}
},
"all": {
"eur": {
"holdDelta": "0",
"balanceDelta": "30",
"canceledDelta": "0"
},
"rub": {
"holdDelta": "20",
"balanceDelta": "147.2",
"canceledDelta": "0"
},
"usd": {
"holdDelta": "153.84",
"balanceDelta": "86.16",
"canceledDelta": "0"
}
}
},
"days": {
"2018- 03-14": {
"first": {
"rub": {
"holdDelta": "20",
"balanceDelta": "147.2",
"canceledDelta": "0"
}
},
"all": {
"rub": {
"holdDelta": "20",
"balanceDelta": "147.2",
"canceledDelta": "0"
}
}
}
}
},
"invoices": {
"total": {
"first": {
"eur": {
"holdDelta": "0",
"balanceDelta": "30",
"canceledDelta": "0"
},
"rub": {
"holdDelta": "20",
"balanceDelta": "147.2",
"canceledDelta": "0"
},
"usd": {
"holdDelta": "153.84",
"balanceDelta": "86.16",
"canceledDelta": "0"
}
},
"all": {
"eur": {
"holdDelta": "0",
"balanceDelta": "30",
"canceledDelta": "0"
},
"rub": {
"holdDelta": "20",
"balanceDelta": "147.2",
"canceledDelta": "0"
},
"usd": {
"holdDelta": "153.84",
"balanceDelta": "86.16",
"canceledDelta": "0"
}
}
},
"days": {
"2018- 03-14": {
"first": {
"rub": {
"holdDelta": "20",
"balanceDelta": "147.2",
"canceledDelta": "0"
}
},
"all": {
"rub": {
"holdDelta": "20",
"balanceDelta": "147.2",
"canceledDelta": "0"
}
}
}
},
"aggregated": {
"eur": {
"hold": "0.26",
"balance": "0",
"cancelled": "283.74",
"paidOut": "862.57"
},
"rub": {
"hold": "20",
"balance": "0",
"cancelled": "21625.04",
"paidOut": "65455.19"
},
"usd": {
"hold": "0.31",
"balance": "0",
"cancelled": "350.6",
"paidOut": "1056.09"
}
}
}
}
],
"excahgeRates": {
"eur": {
"rub": "74.2314",
"usd": "1.1722"
},
"rub": {
"eur": "0.0128",
"usd": "0.0154"
},
"usd": {
"eur": "0.8093",
"rub": "61.6801"
}
},
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as - transactions) is used for returning a transactions list with specified parameters. If JSON in the request body parameters was left empty, then the response will include information regarding all transaction for the past 7 days (including current date).
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
Transaction direction
Date and time values starting from which transactions will be displayed. Specified in the UnixTimeStamp format
Date and time values indicating the end of a selection. Specified in the UnixTimeStamp format
The number of transactions returned. Maximum allowed value is 20.
The response displays a list of 10 transactions by default in the following cases: the take parameter value is less than 10, greater than 20, or the Take parameter is not sent.
Number of elements which should be skipped in the primary sample selection. Default value is =0
Transaction (invoice) ID
Transaction ID
Recipient’s ID (for example, their ePayments e-Wallet number). Maximum length – 100 characters
The external ID of the transaction
ePayments e-Wallet number
Currency
Transaction purpose
{
"direction": "In",
"from": "1541961595",
"till": "1541961539",
"take": "2",
"skip": "0",
"operationId": "896547",
"transactionId": "6905108",
"receiverIdentity": "001-333665",
"externalId": "uniqueId",
"typeIdentity": "000-123321",
"currency": "USD",
"destinations": "1"
}
Detailed information on transactions
Selection start date. If no time period was specified in the request body parameters, then in the response, the value of the from
parameter will be changed to a default – last week.
For example, if the current date is 10.05.2018, then “from” value will be set as = 2018-05-03T00:00:00Z
Selection end date. If no time period was specified in the request body parameters, then in the response, the value of the till
parameter will be changed to a default – the end of the current day.
For example, if the current date is 10.05.2018, then “till” = 2018-05-10T23:59:59Z
The number of entries in the selected period
Transaction amount for each currency section
Transaction amount for each currency section
Error code
Message with detailed error description
{
"transactions": [
{
"operationId": "896547",
"receiverIdentity": "001-333665",
"externalId": "uniqueId",
"transactionId": "6905108",
"direction": "In",
"operation": {
"date": "2018-11-06T15:10:13.155622Z",
"type": "0",
"typeCode": "Other",
"displayName": "Transfer between the e-Wallet sections"
},
"source": {
"type": "ewallet",
"identity": "000-123321"
},
"destination": {
"type": "ewallet",
"identity": "000-123321"
},
"details": "Currency exchange from RUB to USD. Rate = 0.0169",
"currency": "USD",
"fee": "0",
"total": "1.69",
"amount": "1.69",
"unRead": "true",
"txnAmount": "0",
"txnCurrency": "null",
"startBalance": "0",
"endBalance": "375.12",
"refunded": "null",
"billConvRate": "0",
"state": "null",
"massPaymentId": "null"
}
],
"from": "2018-05-03T00:00:00Z",
"till": "2018-05-10T23:59:59Z",
"count": "1",
"in": {
"usd": "1.0",
"eur": "2.0",
"rub": "3.0"
},
"out": {
"usd": "1.0",
"eur": "2.0",
"rub": "3.0"
},
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as - transactionsLast) is used for obtaining detailed information on recent transactions.
Number of most recent transactions. Value can range from 5 to 20
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
curl -X GET "https://api.epayments.com/v1/transactions/last?take=10" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
Detailed information on transactions
Error code
Message with detailed error description
{
"transactions": [
{
"transactionId": "6905108",
"direction": "In",
"operation": {
"date": "2018-11-06T15:10:13.155622Z",
"type": "0",
"typeCode": "Other",
"displayName": "Transfer between the e-Wallet sections"
},
"source": {
"type": "ewallet",
"identity": "000-123321"
},
"destination": {
"type": "ewallet",
"identity": "000-123321"
},
"details": "Currency exchange from RUB to USD. Rate = 0.0169",
"currency": "USD",
"fee": "0",
"total": "1.69",
"amount": "1.69",
"unRead": "true",
"txnAmount": "0",
"txnCurrency": "null",
"startBalance": "0",
"endBalance": "375.12",
"refunded": "null",
"billConvRate": "0",
"state": "null",
"massPaymentId": "null"
}
],
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as - transactionsId) is used to obtain detailed information about a specific transaction. The request can be sent only if a transaction was made using an ePayments e-Wallet.
Transaction number
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
curl -X GET "https://api.epayments.com/v1/transactions/6905109" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
ePayments e-Wallet ID
Transaction details
Selection start date. If no time period was specified in the request body parameters, then in the response, the value of the from
parameter will be changed to a default – last week.
For example, if the current date is 10.05.2018, then “from” value will be set as = 2018-05-03T00:00:00Z
Selection end date. If no time period was specified in the request body parameters, then in the response, the value of the till
parameter will be changed to a default – the end of the current day.
For example, if the current date is 10.05.2018, then “till” = 2018-05-10T23:59:59Z
The number of entries in the selected period
Transaction amount for each currency section
Transaction amount for each currency section
Error code
Message with detailed error description
{
"purseId": "725187",
"transactions": [
{
"transactionId": "6905108",
"direction": "In",
"operation": {
"date": "2018-11-06T15:10:13.155622Z",
"type": "0",
"typeCode": "Other",
"displayName": "Transfer between the e-Wallet sections"
},
"source": {
"type": "ewallet",
"identity": "000-123321"
},
"destination": {
"type": "ewallet",
"identity": "000-123321"
},
"details": "Currency exchange from RUB to USD. Rate = 0.0169",
"currency": "USD",
"fee": "0",
"total": "1.69",
"amount": "1.69",
"unRead": "true",
"txnAmount": "0",
"txnCurrency": "null",
"startBalance": "0",
"endBalance": "375.12",
"refunded": "null",
"billConvRate": "0",
"state": "null",
"massPaymentId": "null"
}
],
"from": "2018-05-03T00:00:00Z",
"till": "2018-05-10T23:59:59Z",
"count": "1",
"in": {
"usd": "1.0",
"eur": "2.0",
"rub": "3.0"
},
"out": {
"usd": "1.0",
"eur": "2.0",
"rub": "3.0"
},
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as – currencies) is used for obtaining a complete list of currencies defined in the ePayments system. However, each outgoing or incoming transaction will have its own list of defined currencies. This means that not all available currencies can or will participate in a specific transaction.
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
curl -X GET "https://api.epayments.com/v1/catalog/currencies" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
List of currencies defined in the ePayments system. Values are passed as ISO three-letter currency code
Error code
Message with detailed error description
{
"currencies": "USD, EUR, RUB, AED, AUD, ZAR",
"errorCode": "0",
"errorMsgs": "[]"
}
This method (hereinafter referred to as - ewalletList) is used to obtain detailed information on each currency section of the ePayments e-Wallet.
Authorisation in ePayments. The parameter is transmitted only for authorisation via partner_id and partner_secret.
It accepts values of a Bearer access_token
string, where access_token is the access key from the POST /token method’s response.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
It accepts values of a string, which encrypted specifically for this request according to the algorithm.
Authorisation in ePayments. The parameter is transmitted only for authorisation via private key.
The value is displayed in ePayments account after generating the Private Key.
application/json
curl -X GET "https://api.epayments.com/v1/ewallet" -H "accept: application/json" -H "X-Signature: D2WiYwC3tHzPCqXnk6mpg==" -H "X-Key-Id: 5e70d445b5328d00012e8918"
Information on each currency section of the ePayments e-Wallet
Error code
Message with detailed error description
{
"ewallets": [
{
"ePid": "000-123456",
"balances": [
{
"isSuccessed": "true",
"currentBalance": "100.55",
"hold": "0",
"currency": "USD",
"accountNumber": "000-123456",
"accountType": "Ewallet"
}
],
"inLimit": [
{
"identity": "000-123456",
"limitAmount": "3000",
"limitSpentAmount": "584.47",
"currency": "USD",
"period": "364000"
}
],
"outLimit": [
{
"identity": "000-123456",
"limitAmount": "5000",
"limitSpentAmount": "1862.01",
"currency": "USD",
"period": "364000"
}
]
}
],
"errorCode": "0",
"errorMsgs": "[]"
}