Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The order resource in Everifin Paygate API tries to reflect merchant’s order (in most cases there is relationship: one order - one payment, but some merchants have concept of orders with possibility of multiple payments - customers can add items to the same order later when some items of the order were already paid).

Info

In case you do not need scenario of multiple successful payments for one order (majority of online businesses use relation 1:1), Order entity is not important to you and you should focus only on payment entity. However, upon posting the order and receiving the response body, beside the payment ID (field processablePaymentId) you do need to store also the order ID (field id) as it is needed for the request URL to get the payment detail and status.

All available endpoints related to orders and payments are described here: Orders API

Order initialization

The payment process starts with creating the payment order. There is one related payment resource created automatically with each new order (amount is equal as the amount of the whole order).

Once the order is created, it can be further processed by Redirect flow (using Everifin GUI).All available endpoints related to orders are described here: Orders API

Order initialization

In order initialization you send the information about the order and its first payment to Everifin. Everifin responds with an order ID, processable payment ID and redirect link pointing to Everifin Paygate page.

...

Field

Type

Optional

Description

instructionId

text, unique

(max 64 chars)

yes

Your unique identification string.

amount

number

(0.01 - 9999999999)

no

Amount of the payment.

currency

text, valid currency

(min/max 3 chars)

no

Currency of the payment. Must be a valid currency code, e.g. EUR, CZK, PLN.

recipientIban

text, valid iban

(max 50 chars)

no

Your IBAN account number to collect the payment (not payer`s IBAN). This IBAN must be whitelisted in Everifin Paygate, otherwise the payment will be denied.

recipientBankBic

text, valid BIC

yes

BIC of the integrator's bank account

senderBankId

text, valid bank identifier in Everifin

yes

ID of the bank selected for the payment

senderIban

text, valid iban

(max 50 chars)

yes

IBAN of sender's bank account, if known at the time of order creation

variableSymbol

numeric text

(max 10 chars)

no

(symbols or reference must be used)

Symbol for SK/CZ market. Cannot be combined with reference.

constantSymbol

numeric text

(max 10 4 chars)

yes

Symbol for SK/CZ market. Cannot be combined with reference.

specificSymbol

numeric text

(max 4 10 chars)

yes

Symbol for SK/CZ market. Cannot be combined with reference.

reference

text

(max 35 chars)

no

(symbols or reference must be used)

Payment reference. Cannot be combined with symbols.

senderEmail

valid email

no

Email of the customer

redirectUrl

text

(max 5000 chars)

no

Redirect URL back to your system. This redirect URL has to be whitelisted in Everifin Paygate.

It must be string satisfying URL rules. E.g. hostname must contain at least one dot (for local development URL like this can be used: http://yourapp.local/xyz).
Using of URL like this for local development requires some locally running proxy rerouting to your app running on localhost.

Custom query parameters are accepted.

paymentMessage

text

(max 140 chars)

no

Message to your customer. This message will be visible in his bank transaction as description of the transfer.

For example:

eshop.com: Order 2401549053

recipientName

text

(max 140 chars)

yes

Name of the recipient of the money (e.g. online store). If this field is not used, the name of the API client registered in the Back Office is used (value agreed with the integrator and configured in Back Office).

This name will appear in payer’s bank transaction as recipient of the money.

userLocale

language code

yes

If you want to force Everifin Paygate UI language for your customer, use this property. List of supported languages: 'en', 'sk', 'cs' (it is being extended continuously) . If not defined, browser language will be applied.

refundLimitPercentage

Valid positive number (Integer or floating up to 2 decimals) or zero

yes

Specifies the refund limit of an order. If value equals 100, refund can be created up to the amount of an order. If set to 0, the refund limit is not applied, i.e. any amount can be refunded.

Default value: 100

preferredBankCountryCode

ISO 3-char country code

yes

If specified, Paygate UI will open with this country as preselected. The list of the banks of specified country will be displayed. User can still change the country in the dropdown.

However, in case the payer already visited Everifin paygate using the same device and browser and has chosen some bank, this is remembered in cookie stored in his browser. This has preference before the value sent in preferredCountryCode.

externalId

Free text, maximum 255 characters

yes

Can be used to match the order with data in client's systems. Might be different from instructionId, because the instructionId could be unique for each payment within an order.

hookData

JSON object

yes

Can be used to provide additional data specific for the payment. They will be sent back to API consumer when webhook is called by our server. More details about the structure being sent via webhook call are described here:
https://everifin.atlassian.net/wiki/spaces/EPAD/pages/2740617227/Webhooks+Data+Structure#Hook-body-structure

...

Code Block
POST {everifin_url}/api/v2/orders

{
    "instructionId": "ABCD11234",
    "amount" : 1.05,
    "currency": "EUR",
    "recipientIban": "SK132465798132456",
    "recipientName": "The best e-shop in the world",
    "variableSymbol": "0000000001",
    "constantSymbol": "0308",
    "specificSymbol": "0000000003",
    "reference": null,
    "redirectUrl": "https://thebesteshopintheworld.com",
    "paymentMessage": "Payment for The best eshop",
    "senderEmail": "customer@email.com"
}

Response

Field

Type

Optional

Description

id

uuid, unique

no

Order ID

processablePaymentId

uuid, unique

no

Payment ID (not your instruction id from the request)

link

text

no

Redirect URL to Everifin Paygate

status

enum

no

Order status

...

Code Block
200:
{
    "meta": {
        "status": "SUCCESS"
    },
    "data": {
        "id": "bf4f2fa8-9426-441d-b450-67a5c801a9ef",
        "processablePaymentId": "372f9684-184b-437b-b974-e3331bbc879a",
        "link": "{{redirect-to-everifin}}",
        "status": "UNPAID"
    }
}

Order’s payment detail

To get information about order’s payment and it's status, Get Order Payment endpoint can be used. List of possible payment statuses can be found here: https://everifin.atlassian.net/wiki/spaces/EPAD/pages/2467561491/Paygate+Payment+Flow#Payment-statuses.

Endpoint Documentation: https://documenter.getpostman.com/view/21056419/2s9Y5Ww3LU#99db82cc-ce02-46a8-a92a-072dea0a60b7

List of all payments

To search payments, use the Get Payments endpoint.

See the Postman documentation for instructions how to use this endpoint - filtering, sorting and pagination is supported.

Documentation: https://documenter.getpostman.com/view/21056419/2s9Y5Ww3LU#8ba9728a-e31a-4984-9b5a-4195a8558283

Order detail

Info

Order detail might be useful only in case your online business work with concept of multiple successful payments for one order (e.g. when you allow your customers to add new products/services and pay for them once there was already successful payment on existing order).

Order detail endpoint can be used to get the order data and status. Possible order statuses can be found here: https://everifin.atlassian.net/wiki/spaces/EPAD/pages/2467561491/Paygate+Payment+Flow#Order-statuses

The response already contains list of payments and refunds for the order.

Endpoint Documentation: https://documenter.getpostman.com/view/21056419/2s9Y5Ww3LU#f80d920b-4016-4c77-855a-e616dcb166be

List of all orders

To search orders, use the Search Orders endpoint.

See the Postman documentation for instructions how to use this endpoint - filtering, sorting and pagination is supported.

Documentation: https://documenter.getpostman.com/view/21056419/2s9Y5Ww3LU#2cb3f925-60c6-47c0-ac9f-2affdb218473

Order update

Order can be updated (e.g. amount adjusted Update Order endpoint) and the result is based on the status of the related payment resource:

...

code

description

ORDER_CANNOT_BE_WITHDRAWN

Order’s state does not allow to withdraw it. Payment might be processing at the moment or was already processed.

Order detail

...

.

...

The response already contains list of payments and refunds for the order.

Documentation: https://documenter.getpostman.com/view/21056419/2s9Y5Ww3LU#f80d920b-4016-4c77-855a-e616dcb166be

Order’s payment detail

To get information about order’s payment and it's status, Get Order Payment endpoint can be used.

Documentation: https://documenter.getpostman.com/view/21056419/2s9Y5Ww3LU#99db82cc-ce02-46a8-a92a-072dea0a60b7

List of all orders

To search orders, use the Search Orders endpoint.

See the Postman documentation for instructions how to use this endpoint - filtering, sorting and pagination is supported.

Documentation: https://documenter.getpostman.com/view/21056419/2s9Y5Ww3LU#2cb3f925-60c6-47c0-ac9f-2affdb218473

List of all payments

To search payments, use the Get Payments endpoint.

See the Postman documentation for instructions how to use this endpoint - filtering, sorting and pagination is supported.

...