Skip to content

EasyPay / ePay.bg — Data Models

Schema field reference for the ePay WEB API + Billing payloads. Interactive: the API page; the disbursement flow: Money Send.

12 schemas. Types and field names are shown exactly as in the OpenAPI spec.

BankTransferPayload

ENCODED payload to order a bank transfer.

Field Type Required Description
MIN integer Customer Identification Number (CIN)
MEMAIL string Email of the merchant in the system
INVOICE string Unique request number up to 64 characters Accepted: numbers, Latin
RECIPIENT string Recipient of the order up to 35 characters Accepted: Cyrillic, Latin, numbers, spaces, dashes, commas, periods
IBAN string Recipient's valid IBAN
AMOUNT number Valid amount > 0.01 (eg: 22, 22.8, 22.80)
STATEMENT string Reason up to 70 characters Accepted: Cyrillic, Latin, numbers, spaces, dashes, commas, periods
CURRENCY string Accepted currency is BGN ; if not supplied defaults to BGN
ENCODING string encoding of RECIPIENT and STATEMENT ; only accepted with utf-8

BillingInitResponse

Field Type Required Description
STATUS string Enum: 00, 13, 14, 62, 80, 93, 94, 96
IDN string
AMOUNT string stotinki
VALIDTO string
SHORTDESC string
LONGDESC string
INVOICES array[object]

ChangeExpiryPayload

ENCODED payload to change the expiry of a 10-digit code / obligation.

Field Type Required Description
MIN integer Customer Identification Number (CIN)
INVOICE integer Invoice Number; unique to merchant
EXP_TIME string Payment End Date/Time; format DD.MM.YYYY[hh:mm[:ss]]

DepositSlipPayload

ENCODED payload for a deposit-slip payment request.

Field Type Required Description
MIN integer Merchant ID - Corresponds to the CIN in the merchant's profile in ePay.bg
INVOICE integer Invoice number; unique to the merchant
AMOUNT number Valid amount > 0.01 (eg: 22, 22.8, 22.80)
EXP_TIME string Final date/time for payment, up to 30 days after the date of the request; format DD.MM.YYYY [hh:mm [:ss]]
DESCR string Description up to 100 characters; encoding CP1251
MERCHANT string Recipient of the order
IBAN string A valid IBAN of the recipient
BIC string BIC of the receiving bank
STATEMENT string Payment description
PSTATEMENT integer Payment code
OBLIG_PERSON string Name of the obligee; up to 26 characters
BULSTAT EGN LNC integer BULSTAT, EGN or LNC Only one of the three parameters is submitted!
DOC_NO integer Document type and number
DOC_DATE integer Document date: The parameter is submitted for document type - 2|3|6
DATE_BEGIN integer Start of period: The parameter is submitted for document type - 1|2|4|5
DATE_END integer End of period: The parameter is submitted for document type - 1|2|4|5

EasyPayBillPayload

Fields base64-encoded into ENCODED to register an EasyPay obligation (10-digit code).

Field Type Required Description
MIN integer Customer Identification Number (CIN)
EMAIL string Email of the merchant in the system
INVOICE integer InvoiceNumber; unique to merchant
AMOUNT number Valid Amount > 0.01 (eg: 22, 22.8, 22.80)
CURRENCY string Accepted currencies are BGN , USD or EUR ; if not provided it defaults to BGN
EXP_TIME string Payment End Date/Time; format DD.MM.YYYY[hh:mm[:ss]]
DESCR string Description up to 100 characters; CP1251 characters if no other ENCODING
ENCODING string encoding of DESCR parameter; only utf-8 is accepted, it can also be passed as an HTTP parameter

MoneySendEasyPayPayload

ENCODED payload to send money for cash pickup at EasyPay. Recipient identification is CONDITIONALLY required: supply RCPT_PID (national ID / ЕГН) and/or RCPT_ID_NO (personal document); if RCPT_ID_NO is given, RCPT_ID_DATE is also required. INVOICE must be unique — a given INVOICE can enter the system only once (retries return the same SYS_CODE, never a second transfer). Encode fields as newline-joined KEY=VALUE, then Base64 (RFC3548, EOL='').

Field Type Required Description
MIN integer Customer Identification Number (CIN)
INVOICE integer Invoice ID; numbers only
AMOUNT number Valid amount > 0.01 (eg: 22, 22.8, 22.80)
RCPT_NAME string Recipient name up to 100 characters; CP1251 characters if no other ENCODING is supplied
RCPT_PID integer Recipient national ID (ЕГН). CONDITIONAL: supply RCPT_PID and/or a personal document (RCPT_ID_NO) — at least one is required.
RCPT_ID_NO integer Recipient's personal document number (identity card/driver's license/passport). CONDITIONAL: supply RCPT_PID and/or RCPT_ID_NO — at least one is required. If supplied, RCPT_ID_DATE is also required.
RCPT_ID_DATE string Issue date of recipient's personal document; format DD.MM.YYYY. Required only if RCPT_ID_NO is supplied.
RCPT_ADDRESS string Recipient address up to 256 characters; CP1251 characters if no other ENCODING is supplied
RCPT_PHONE string Recipient phone up to 16 characters (digits only; keep as string to preserve leading zeros, e.g. 029210850)
CURRENCY string Currency code; defaults to BGN if omitted. DISCREPANCY: public kb.epay.bg lists BGN/USD/EUR, but EasyPay's disbursement integration doc (Zdravko, Jul 2026) states BGN only — confirm before relying on USD/EUR for payouts. · Enum: BGN, USD, EUR
DESCR string Transfer description up to 100 characters; CP1251 characters if no other ENCODING is supplied
ENCODING string utf-8 or CP1251; if not supplied, defaults to CP1251

MoneySendEpayPayload

ENCODED payload to send money to an ePay.bg account.

Field Type Required Description
MIN integer Merchant Customer Identification Number (CIN)
MEMAIL string Email of the merchant in the system
CIN integer Recipient's Customer Identification Number (CIN)
CEMAIL string Recipient's email in the system
INVOICE string Invoice number; unique to merchant
AMOUNT number Valid amount > 0.01 (eg: 22, 22.8, 22.80)
CURRENCY string Accepted currencies are BGN , USD or EUR ; if not supplied defaults to BGN
DESCR string Transfer description up to 100 characters
ENCODING string encoding of DESCR

NotificationPayload

Fields ePay sends (inside ENCODED) to the merchant notification URL.

Field Type Required Description
INVOICE string Invoice number from the payment request
STATUS string Payment Status PAID , DENIED , EXPIRED
PAY_TIME string YYYYMMDDhhmmss Date/Hour/Sec of Payment
STAN integer [6 digits] Transaction Number
BCODE string [6 digits/letters] BORICA Authorization Code

OnlinePaymentPayload

Fields base64-encoded into ENCODED for card payment (PAGE=credit_paydirect).

Field Type Required Description
MIN integer Customer Identification Number (CIN)
EMAIL string Email of the merchant in the system
INVOICE integer Invoice Number; unique to merchant
AMOUNT number Valid amount > 0.01 (eg: 22, 22.8, 22.80)
CURRENCY string Accepted currencies are BGN , USD , or EUR ; if not provided it defaults to BGN
EXP_TIME string Payment end date/time; format DD.MM.YYYY[hh:mm[:ss]]
DESCR string Description up to 100 characters; CP1251 characters if no other ENCODING
ENCODING string Encoding of the DESCR parameter. Only utf-8 is accepted; can also be passed as an HTTP parameter

PreauthFinalizePayload

ENCODED payload to finalize/complete a preauthorization.

Field Type Required Description
MIN integer MIN from the original preauthorization request
INVOICE integer INVOICE from the original preauthorization request
ORIGINAL_AMOUNT number Amount from the preauthorization
CONFIRM_AMOUNT number Amount to be actually taken at confirmation; must be less than or equal to ORIGINAL_AMOUNT

PreauthRegisterPayload

ENCODED payload to open a preauthorization (PREAUTH=1).

Field Type Required Description
MIN integer Customer Identification Number (CIN)
EMAIL string Email of the merchant in the system
INVOICE integer Invoice number; unique to the merchant
AMOUNT number Valid amount > 0.01 (eg: 22, 22.8, 22.80)
CURRENCY string Accepted currencies are BGN , USD , or EUR ; if not provided it defaults to BGN
EXP_TIME string Payment end date/time; format DD.MM.YYYY[hh:mm[:ss]]
DESCR string Description up to 100 characters; CP1251 characters if no other ENCODING
ENCODING string Encoding of the DESCR parameter. Only utf-8 is accepted; can also be passed as an HTTP parameter
PREAUTH integer = 1 - requests payment by preauthorization

PreauthReversePayload

ENCODED payload to reverse a preauthorization.

Field Type Required Description
MIN integer MIN from the original preauthorization request
INVOICE integer INVOICE from the original preauthorization request
ORIGINAL_AMOUNT number Amount from the preauthorization
REV_AMOUNT number = ORIGINAL AMOUNT (Amount from the preauthorization)