Versions Compared

Key

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

In the redirect flow the user is redirected to Everifin Paygate page where user can process the payment (select the bank and continue to bank SCA). In this flow:

  1. the merchant’s system initializes the order

...

  1. (using endpoint: https://everifin.atlassian.net/wiki/spaces/EPAD/pages/2562228372/Payment+Orders#Order-initialization). Redirect URL is in the response

  2. redirects to URL received in

...

  1. step 1

  2. payer follows Everifin GUI instructions and goes through the payment process

  3. once the payer finishes the payment processing, she or he is redirected back to merchant system

...

  1. (payment ID is provided in the query parameter)

  2. merchant can check the payment status using endpoint: https://everifin.atlassian.net/wiki/spaces/EPAD/pages/2562228372/Payment+Orders#Order%E2%80%99s-payment-detail

  3. If the merchant implemented Webhooks functionality (highly recommended), the payment status is being provided to merchant’s webhook instantly whenever the status of the payment changes.

Usage of Everifin GUI makes the redirect flow very simple for implementation.

Drawio
mVer2
zoom1
simple0
inComment0
custContentId2562424926
pageId2562752513
lbox1
diagramDisplayNameUntitled Diagram-1677142578464.drawio
contentVer1
revision2
baseUrlhttps://everifin.atlassian.net/wiki
diagramNameUntitled Diagram-1677142578464.drawio
pCenter0
width588.7200000000003
links
tbstyle
height446

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.

Request

...

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.

...

variableSymbol

...

numeric text

(max 10 chars)

...

yes

...

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

...

constantSymbol

...

numeric text

(max 10 chars)

...

yes

...

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

...

specificSymbol

...

numeric text

(max 4 chars)

...

yes

...

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

...

reference

...

text

(max 35 chars)

...

yes

...

Payment reference. Cannot be combined with symbols.

...

customerEmail

...

valid email

...

yes

...

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)

...

yes

...

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

...

recipientName

...

text

(max 140 chars)

...

yes

...

Your name in case you don’t want to use the registered name.

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.

...

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.

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",
}

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"
    }
}

Your application should then use the link from the response to redirect the customer to that particular URL. Once the entire payment process is complete, the customer will be redirected back to your application at the URL registered in the first step. The query parameter id is added to redirect URL containing the same value as in the field processablePaymentId in response of order endpoint.

Next step is one of:

...

Order status check: Get Order

...