Skip to content

ePay

PA integration option

Payment

Payment flow

  1. The customer selects ePay on the merchant's website.
  2. The merchant sends a payment request to PaySage.io with method.type set to epay.
  3. PaySage.io returns a payment response with redirect instructions.
  4. The merchant redirects the customer to the payment page. The customer signs in to their ePay wallet and confirms the payment.
  5. PaySage.io sends a webhook notification with the payment status.

Info

This integration option supports only EUR currency.

Request

Send a payment request with the following data:

object
amount
required
bigInteger
Transaction amount in minimal currency units, for example, 1000 (10 EUR).
currency
required
string (3)
EUR.
description
required
string
Short description of the order.
return_url
required
string
URL to return the customer to when a transaction is completed.
language
string (2)
Language of the payment page.
object
Section of the payment method.
type
required
string
epay.
account_number
required
string (100)
Customer's email address.
object
Section of information about the customer.
email
string
Customer's email address.
first_name
string (20)
Customer's first name.
last_name
string (50)
Customer's last name.

If you send both method.account_number and customer.email, the email address in method.account_number takes precedence.

Request example
{
    "request": {
        "amount": 1000,
        "currency": "EUR",
        "description": "Order 1234",
        "return_url": "https://example.com/return",
        "language": "en",
        "method": {
            "type": "epay",
            "account_number": "customer@example.com"
        },
        "customer": {
            "email": "customer@example.com",
            "first_name": "Anna",
            "last_name": "Ivanova"
        }
    }
}
Response

Redirect the customer using the form data in the payment response. A return to the merchant's site does not confirm the payment status. Use the webhook notification for the result.

Response example
{
    "transaction": {
        "uid": "b2925874-08aa-49af-923f-d45878d64f97",
        "type": "payment",
        "status": "pending",
        "amount": 1000,
        "currency": "EUR",
        "description": "Order 1234",
        "created_at": "2026-11-09T14:52:04Z",
        "updated_at": "2026-11-09T14:52:05Z",
        "method_type": "epay",
        "receipt_url": "https://backoffice.paysage.io/customer/transactions/b2925874-08aa-49af-923f-d45878d64f97/6e150e7b185fca58d3e59792de6791fe2222980e5b2cf22bacb20a53ab840654?language=en",
        "payment": {
            "status": "pending",
            "gateway_id": 7747,
            "message": "Transaction was initialized."
        },
        "epay": {
            "type": "epay",
            "account_number": "customer@example.com"
        },
        "customer": {
            "email": "customer@example.com",
            "last_name": "Ivanova",
            "first_name": "Anna",
            "ip": null
        },
        "manually_corrected_at": null,
        "version": 1,
        "message": "Transaction was initialized.",
        "test": false,
        "language": "en",
        "billing_address": {
            "email": "customer@example.com",
            "last_name": "Ivanova",
            "first_name": "Anna"
        },
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        },
        "smart_routing_verification": {
            "status": "successful"
        },
        "gateway": {
            "iframe": false
        },
        "form": {
            "action": "link-to-payment-page",
            "fields": [],
            "method": "GET"
        }
    }
}