Get payment
This operation can be used to get payment status in case you are not using hooks.. Usual approach is to call this endpoint after the payer is redirected back to the e-shop (regardless of using hooks or not). This endpoint can be called multiple times.
Request
Code Block |
---|
GET {everifin_url}/api/v1/payments/:id |
Response - successful payment
Code Block |
---|
200: { "meta": { "status": "SUCCESS" }, "data": { "id": {{:id}} "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", "status": "FINISHEDCONFIRMED" } } |
Response - failed payment
Code Block |
---|
200: { "meta": { "status": "SUCCESS" }, "data": { "id": {{:id}} "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", "status": "FAILED", "errorCodereasonCode": "INSUFFICIENT_AMOUNT" } } |
Get payments
To get list of payments, you can use this operation. Getting multiple payments requires pagination and supports filtering and sorting.
Request
Code Block |
---|
GET {everifin_url}/api/v1/payments?page=1&countPerPage=5&sort=id:asc |
Filter
Field | Type | Description |
---|---|---|
id | UUID | Id of the payment |
instructionId | text | Your id of the payment |
recipientIban | IBAN | Your bank account IBAN |
senderBankId | text | Sender`s (Payer`s) bank id |
amount | number range | Amount of the payment defined in a number range |
currency | text | Currency code of the payment |
variableSymbol | numeric text | Variable symbol of the payment |
specificSymbol | numeric text | Specific symbol of the payment |
constantSymbol | numeric text | Constant symbol of the payment |
reference | text | Payment reference |
paymentMessage | text | Payment message |
status | enum | Payment status |
createdDateFrom | timestamp | Payment’s createdAt date |
createdDateTo | timestamp | Payment’s createdAt date |
confirmedDateFrom | timestamp | Payment’s confirmedAt date |
confirmedDateTo | timestamp | Payment’s confirmedAt date |
finalizedDateFrom | timestamp | Payment’s finalizedAt date |
finalizedDateTo | timestamp | Payment’s finalizedAt date |
Sorting
Sorting by following fields is supported
id
instructionId
amount
currency
senderBankId
variableSymbol
specificSymbol
constantSymbol
reference
paymentMessage
status
recipientIban
createdAt
confirmedAt
finalizedAt
Response
Code Block |
---|
200: { "meta": { "status": "SUCCESS" }, "data": [{ "id": "ABC1" "instructionId": "ABCD11234", "amount" : 1.05, "currency": "EUR", "recipientIban": "SK132465798132456", "variableSymbol": "0000000001", "constantSymbol": "0308", "specificSymbol": "0000000003", "redirectUrl": "https://thebesteshopintheworld.com", "paymentMessage": "Payment for The best eshop", "status": "FINISHED" }, { "id": "ABC2" "instructionId": "ABCD11235", "amount" : 1100.50, "currency": "EUR", "recipientIban": "SK132465798132456", "variableSymbol": "0000000002", "constantSymbol": "0308", "specificSymbol": "0000000003", "redirectUrl": "https://thebesteshopintheworld.com", "status": "FAILED", "errorCodereasonCode": "INSUFFICIENT_AMOUNT" }] } |
Payment update
The payment data can be changed in case payment the state allows it. The payment data cannot be changed for:
finalized payments (successful or failure)
when the user has already opened the link to Everifin Paygate web page in redirect flow (payment status = SEEN)
when the user has already started the payment authorization on the bank’s side (payment status = PROCESSING)
Request
The fields are the same as in payment initialization.
Code Block |
---|
PUT {everifin_url}/api/v1/payments/:id
{
"instructionId": "XXX",
"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",
"hookData": {} // your hook data
} |
Response
The response is identical to the response in payment initialization.
Code Block |
---|
200:
{
"meta": {
"status": "SUCCESS"
},
"data": {
"id": {{:id}}
"instructionId": "XXX",
"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",
"status": "FINISHED",
"hookData": {} // your hook data
}
} |
Withdraw payment
You can withdraw (invalidate / cancel) a payment by calling Everifin Paygate endpoint with DELETE method. The payment cannot be invalidated for finalized payments (successful or failure) and also in case the user has already started a payment authorization on bank’s side.
Request
Code Block |
---|
DELETE {everifin_url}/api/v1/payments/:id |
Response
Code Block |
---|
200: { "meta": { "status": "SUCCESS" }, "data": { "id": {{:id}}, "status": "WITHDRAWN" } } |