General transaction processing


Message Structure - Authorisation Request
The following fields set will be posted to EuPlatesc.ro platform through the HTTP POST or GET method (client redirection, or server to server request only if generate_epid is present). The POST request should be made as form data. The set of fields are divided into 2 sections: fields included in digital signature of the message (fp_hash) and fields not included in the digital signature of the message (fp_hash).

EndPoint: https://secure.euplatesc.ro/tdsprocess/tranzactd.php

Fields generated by merchant system and included into the fp_hash
Field name Format Length Description
amountNumeric1-12Order total amount in float format with decimal point (thousand separator not allowed). Ex: 1234.56
currString3Order currency: 3-character currency code (RON, EUR, ...)
invoice_idString1-45Merchant order ID
order_descString1-127Order description
merch_idString8-50Merchant ID assigned by EuPlatesc.ro
timestampYYYYMMDDHHmmSS14Current timestamp in GMT: 20260702232920
nonceString16-64Merchant nonce. Must be filled with unpredictable random bytes in hexadecimal format
fp_hashString1-256Merchant MAC in hexadecimal form

Fields generated by merchant system and NOT included into the fp_hash

Billing details
Field name Format Length Description
fnameString1-255Client first name
lnameString1-255Client last name
companyString1-255Company data
addString1-255Client street
cityString1-255Client city
stateString1-255Client state
zipString1-25Client postal code
countryString1-55Client country
phoneString1-255Client phone number
emailString1-65Client email
Shipping Details – if different that billing details
Field name Format Length Description
sfnameString1-255Client first name
slnameString1-255Client last name
scompanyString1-255Company data
saddString1-255Client street
scityString1-255Client city
sstateString1-255Client state
szipString1-25Client postal code
scountryString1-55Client country
sphoneString1-255Client phone number
semailString1-65Client email
ExtraData and other custom params
Field name Format Length Description
Attention! It is not included in fp_hash, you should provide your own validation mechanism for sensible data
ExtraDataString0-10240Additional information sent by the mechant to the gateway. This data is echo back to the merchant in the reply request.
ExtraData[silenturl]URL1-255Callback URL (server to server POST request)
ExtraData[silenturlsec]URL1-255Callback URL SecStatus (server to server POST request)
ExtraData[successurl]URL1-255URL to redirect client to in case of successfull transaction
ExtraData[failedurl]URL1-255URL to redirect client to in case of failed transaction
ExtraData[ep_target]String4"self" for the case of using iframe
ExtraData[ep_method]String8"post","get","getclean" (keeping the original query params) for succes/fail redirect
ExtraData[backtosite]URL1-255URL to redirect client to when clicking back to site button or after 60s on result page
ExtraData[backtosite_method]String1-4"post" or "get" for the back to site button
ExtraData[expireurl]String1-255If a timer is set on the payment page you can change the url that the client will be redirected to when the timer reach 0
ExtraData[rate]String0-10Installments number, format: [bank_code]-[installments_nr]
ExtraData[filtru_rate]String0-300Installments number, format: [bank_code1]-[i_nr1]-..-[i_nrN],[bank_code2]-[i_nr1]-..-[i_nr2]
ex: apb-3-4,btrl-5-6
ExtraData[ep_channel]String0-100Filter the available payment channels. Any combinations of the values CC, OP, C2P, GPAY, APAY, TBI, paypo concatenated with comma ","
generate_epidString1If specified and set to 1, instead of redirecting the client will return a JSON containing the URL of the payment page
valabilityYYYYMMDDHHmmSS14Payment link available until the specified timestamp (Romania timezone) Need to be added in the fp_hash after the nonce param
validate_ccString1"If specified and set to 1, this will allow card validation with an amount of 0.
c2p_idString1-50Unique ID of the client used for C2P wallet, blank values disable the wallet. Need to be added in the fp_hash after the nonce param (and after valability)
c2p_cidNumeric1-12Unique ID of the enroled card used for C2P wallet. Need to be added in the fp_hash after the c2p_id param.
langString2Preselect the language of the payment page. Possible values: ro,en,fr,de,it,es,hu. If not sent the language will be chosen based on the client IP

In order to use ExtraData[rate] check with an EuPlatesc operator. It will only work if the account is configured to expect it.
There is an option to display the installments dynamically on the payment page after the customer enter his card number.
[bank_code] possible values:
apb (Alpha Bank)
btrl (Banca Transilvania)
rzb (Raiffeisen Bank)
gbr (Garanti Bank)
[installments_nr] : 1-24

If the dynamic installments is on, you can use ExtraData[filtru_rate] to limit the numbers of installments available to the client.
You can use "all" instead of the normal format if you want all the installments to be available to the client.
EuPlatesc.ro response fields set
You need to set the callback URL in the settings page. We will send a server to server POST request after each payment. The succes/fail URL will have the same params but sent trough the client browser.
We can set to retry the request in case of timeout or if the reponse isn't 200 "OK" plain text.

Field name Format Length Description
amountNumeric1-12Echo from the request
currString3Echo from the request
invoice_idString1-45Echo from the request
ep_idString40Gateway unique id for each transaction
merch_idString8-50Echo from the request
actionNumeric1If 0 – transaction approved else transaction failed
messageString6Response code text message
approvalString6Client bank’s approval code. Can be empty if not provided by gateway
timestampYYYYMMDD HHmmSS14Merchant transaction timestamp in GMT: 20260702232920
nonceString16-64Merchant nonce. Must be filled with unpredictable random bytes in hexadecimal format
fp_hashString1-256Merchant MAC in hexadecimal form
EuPlatesc.ro additional response fields
You can configure this fields in the MID settings page.
You need to include them in the fp_hash after nonce param in this exact order only if you enable them.
Field name Format Length Description
sec_statusNumeric1Additional security info
Click for more
rrnNumeric12Code generated by bank on customer's bank statement
mcardNumeric4Last 4 digits of the used card
card_expNumeric4Expiration dat of the used card, format: YYmm
discount_amountNumeric0-12Applied discount
payment_channelString0-12CARD, GPay, ApplePay, C2P, OP, SMS, TBI
card_typeString0-16Visa, Mastercard, Maestro
binNumeric6First 6 digits of the used card
rateString16Installments number, Format: X rate BANK, ex: 6 rate BTRL
card_holderString1-64Name on the used card
emailString1-65Email of the customer
rtypeString1-8Transaction type: Normal, Base, Recurent
cceString64Unique id of the PAN
Recurring transaction processing
Recurring transactions are splitted into two parts:
- initial transaction – recurent value is "Base"

Additional fields
Field name Format Length Description
recurent_freqNumeric2Value in days max 255, included in fp_hash after nonce
recurent_expNumeric8YYYYmmdd, included in fp_hash after recurent_freq
recurentString1-8"Base" - initial transaction
"Recurent" - subsecquent transactions
"Recurent2CIT" - 3Dsecure transaction
not included in fp_hash

The merchant account can be configured to leave the monthly initiation of the recurring transaction on the EuPlatesc cron jobs else, in case of "Recurent" message, the merchant must send also baseEPID - the "ep_id" of the initial "Base" transction (included in fp_hash before amount param).

A baseEPID can be used within the same MIDGroup, which can only be configured by the EuPlatesc team. This feature is used for enrolling the card on MID-1 and debiting the card on either MID-1 or MID-2.

All the other fields from the general message structure must be sent for successfully transaction processing. The request must be POST and will be made server to server without the client intervention, at the same endpoint. In order to process recurring transctions, euplatesc.ro system must be configured in advance
Base Transaction Payload
Recurent Transaction Payload
Test cards
You can use these cards only if the account is in test state, but test accounts accept real cards in the test environment for the purpose of testing the processing terminal. For PSP customers, there will be a limit on the amount, capped at a value of 1, but this limit is not present for TSP customers. Contact the EuPlatesc team if you need to disable the acceptance of live cards in the test environment.
Card number Card expire date Card CVC Card Name Result message
4111111111111111 28/01 123 Test Approved
4444333322221111 28/01 123 Test Not sufficient funds
4000020000000000 28/01 123 Test Transaction declined
4400000000000008 28/01 123 Test Expired card
4607000000000009 28/01 123 Test Invalid response
4000640000000005 28/01 123 Test Approved
5454545454545454 28/01 123 Test Authentication failed
5555555555554444 28/01 123 Test Approved
2222400010000008 28/01 123 Test Transaction declined
2222400030000004 28/01 123 Test Expired card
5100060000000002 28/01 123 Test Invalid response
5500000000000004 28/01 123 Test Approved
4989882771777727 28/01 123 Test Approved
5500000000000012 28/01 123 Test Issuer unavailable
5500000000000020 28/01 123 Test System malfunction
5186001700008785 28/01 123 Test Approved
5186001700009726 28/01 123 Test Approved
5120350100064537 28/01 123 Test Approved
5120350100064545 28/01 123 Test Approved
2223001870064586 28/01 123 Test Approved
5204731620064595 28/01 123 Test Approved
4622943123103732 28/01 123 Test Approved
4622943123103740 28/01 123 Test Approved
Implementing GooglePay and ApplePay
Documentation for GooglePay
Documentation for ApplePay

WebServices


EndPoint: https://manager.euplatesc.ro/v3/?action=ws
Get status of transaction
Field name Format Length Description
methodStringfixedValue: check_status
midString13MerchantID: 4484xxxxxxxxx
epidString40The EPID of the transaction
invoice_idString1-45Merchant order ID (if used, the epid should not be sent, also return max. 40 transactions if more have the same id)
timestampYYYYMMDD HHmmSS14Current timestamp in GMT: 20260702232920
nonceString16-64Merchant nonce. Must be filled with unpredictable random bytes in hexadecimal format
fp_hashString1-256Merchant MAC in hexadecimal form
Check status error codes
Code Description
1 DB error
2 Invalid MID
3 Minimum nonce length is 16
4 fp_hash must be at least 32 characters long
5 Timestamp difference is greater than 5 minutes
6 epid must be 40 characters long
7 Invalid invoice_id
8 DB query error
9 DB query error
10 No transaction found
11 Invalid key
12 Invalid key
Capture or reversal the transaction
Field name Format Length Description
methodStringfixedValue: capture / reversal
ukeyString1-8User key: xxxxx
epidString40The EPID of the transaction
timestampYYYYMMDD HHmmSS14Current timestamp in GMT: 20260702232920
nonceString16-64Merchant nonce. Must be filled with unpredictable random bytes in hexadecimal format
fp_hashString1-256Merchant MAC in hexadecimal form, the key used is not the merchant KEY but UAPI (see user settings)
Check status error codes
Code Description
1 DB error
2 Invalid ukey
3 DB query error
4 No rights
5 Timestamp difference is greater than 5 minutes
6, 7 Nu ai drepturi pentru aceasta actiune
8 Action failed, transaction already captured
9 Action failed, transaction is not approved
10 Action failed, transaction is pending
11 Action failed, transaction is not verified
12 Action failed, transaction is returned/refunded
13 Action failed, transaction expired, check manually
14 Invalid fp_hash
15 Invalid ukey
16 Action failed, transaction is an enrollment
Code Description
1 DB error
2 Invalid ukey
3 DB query error
4 No rights
5 Timestamp difference is greater than 5 minutes
6 Nu ai drepturi pentru aceasta actiune
7 Nu ai drepturi pentru aceasta actiune
8 Action failed, transaction is captured, use refund
9 Action failed, transaction is pending
10 Action failed, transaction is already returned/refunded
11 Action failed, transaction is older than 6 months
12 Invalid fp_hash
13 Invalid ukey
16 Action failed, transaction is an enrollment
Partial capture the transaction
Field name Format Length Description
methodStringfixedValue: partial_capture
ukeyString1-8User key: xxxxx
amountNumeric1-12Capture amount in float format with decimal point (thousand separator not allowed). Ex: 1234.56
epidString40The EPID of the transaction
timestampYYYYMMDD HHmmSS14Current timestamp in GMT: 20260702232920
nonceString16-64Merchant nonce. Must be filled with unpredictable random bytes in hexadecimal format
fp_hashString1-256Merchant MAC in hexadecimal form, the key used is not the merchant KEY but UAPI (see user settings)
Partial capture error codes
Code Description
1 DB error
2 Invalid ukey
3 DB query error
4 No rights
5 Timestamp difference is greater than 5 minutes
6 Amount need to be with 2 decimals using dot
7 Nu ai drepturi pentru aceasta actiune
8 Amount can't be greater than transaction amount
9 Use capture if the amount is the total transaction amount
10 Nu ai drepturi pentru aceasta actiune
11 Action failed, transaction already captured
12 Invalid transaction type
13 Action failed, transaction is not approved
14 Action failed, transaction is pending
15 Installments can not be partial captured
16 Action failed, transaction is not verified
17 Action failed, transaction is returned/refunded
18 Action failed, transaction expired, check manually
Refund or partial refund the transaction
Field name Format Length Description
methodStringfixedValue: refund
ukeyString1-8User key: xxxxx
amountNumeric1-12Refunded amount in float format with decimal point (thousand separator not allowed). Ex: 1234.56
reasonString5-55Short description of the reason of the refund
epidString40The EPID of the transaction
timestampYYYYMMDD HHmmSS14Current timestamp in GMT: 20260702232920
nonceString16-64Merchant nonce. Must be filled with unpredictable random bytes in hexadecimal format
fp_hashString1-256Merchant MAC in hexadecimal form, the key used is not the merchant KEY but UAPI (see user settings)
Refund error codes
Code Description
1 DB error
2 Invalid ukey
3 DB query error
4 No rights
5 Timestamp difference is greater than 5 minutes
6 You do not have permission for this action
7 You do not have permission for this action
8 Action failed, transaction is not approved
9 Reason length must be 5–55 characters
10 Invalid amount, format it with 2 decimals
11 Amount to be refunded needs to be smaller than transaction total
12 Action failed, transaction is pending
13 Action failed, transaction is not captured, use reversal
14 Action failed, transaction is already returned/refunded
15 Action failed, transaction is pending a refund
16 Action failed, transaction is older than 6 months
17 Action failed, transaction is marked as chargeback, contact an EuPlatesc operator
18 Invalid fp_hash
19 ukey not found
Cancel recurring transaction
Field name Format Length Description
methodStringfixedValue: cancel_recurring
ukeyString1-8User key: xxxxx
epidString40The baseEPID of the transaction or any EPID of the folowing transactions
reasonString0-55Short description of the reason
timestampYYYYMMDD HHmmSS14Current timestamp in GMT: 20260702232920
nonceString16-64Merchant nonce. Must be filled with unpredictable random bytes in hexadecimal format
fp_hashString1-256Merchant MAC in hexadecimal form, the key used is not the merchant KEY but UAPI (see user settings)
Cancel recurring error codes
Code Description
1 DB error
2 Invalid ukey
3 DB query error
4 DB error 2
5 Invalid fp_hash
6 Invalid ukey
Update invoice_id of transaction
Field name Format Length Description
methodStringfixedValue: update_iid
ukeyString1-8User key: xxxxx
epidString40The EPID of the transaction
invoice_idString1-27The updated invoice_id of the transaction
nonceString16-64Merchant nonce. Must be filled with unpredictable random bytes in hexadecimal format
fp_hashString1-256Merchant MAC in hexadecimal form, the key used is not the merchant KEY but UAPI (see user settings)
Update IID error codes
Code Description
1 DB error
2 Invalid ukey
3 Invalid invoice_id length
4 Invalid invoice_id characters
5 DB query error
6 Timestamp difference is greater than 5 minutes
7 No rights for this transaction (transaction not found)
8 No rights for this merchant
9 Invoice ID cannot be updated, transaction is failed
10 Invoice ID cannot be updated, transaction is already fulfilled
11 DB error 2
12 Invalid fp_hash
Get invoices list (only if the invoices are issued by EuPlatesc)
Field name Format Length Description
methodStringfixedValue: invoices
ukeyString1-8User key: xxxxx
midString13MerchantID: 4484xxxxxxxxx
fromString10Date: YYYY-mm-dd (if from and to are sent empty will search in last 3 months)
toString10Date: YYYY-mm-dd
nonceString16-64Merchant nonce. Must be filled with unpredictable random bytes in hexadecimal format
fp_hashString1-256Merchant MAC in hexadecimal form, the key used is not the merchant KEY but UAPI (see user settings)
Invoices error codes
Code Description
1 DB error
2 Invalid ukey
3 DB query error
4 No rights
5 Timestamp difference is greater than 5 minutes
6 Invalid parameter: from
7 Invalid parameter: to
8 Date interval is greater than 1 year
9 No rights for this merchant
10 Invalid fp_hash
Get invoice transactions list
Field name Format Length Description
methodStringfixedValue: invoice
ukeyString1-8User key: xxxxx
invoiceString11FPSxxxxxxxx invoice_number
nonceString16-64Merchant nonce. Must be filled with unpredictable random bytes in hexadecimal format
fp_hashString1-256Merchant MAC in hexadecimal form, the key used is not the merchant KEY but UAPI (see user settings)
Invoice error codes
Code Description
1 DB error
2 Invalid ukey
3 DB query error
4 No rights
5 Timestamp difference is greater than 5 minutes
6 Partial rights for invoice (access to some MIDs only)
7 No rights for this invoice
8 Invoice fetch error
9 Invalid fp_hash
Get captured total
Field name Format Length Description
methodStringfixedValue: captured_total
ukeyString1-8User key: xxxxx
midsString11MerchantIDs (separated by comma ",")
fromString10Date: YYYY-mm-dd (if from and to are sent empty will search in last 1 month)
toString10Date: YYYY-mm-dd
nonceString16-64Merchant nonce. Must be filled with unpredictable random bytes in hexadecimal format
fp_hashString1-256Merchant MAC in hexadecimal form, the key used is not the merchant KEY but UAPI (see user settings)
Captured total error codes
Code Description
1 DB error
2 Invalid ukey
3 DB query error
5 Timestamp difference is greater than 5 minutes
7 Nu ai drepturi pentru aceasta actiune
14 Invalid fp_hash
15 Invalid ukey
Get cardart data
Field name Format Length Description
methodStringfixedValue: cardart
ukeyString1-8User key: xxxxx
ep_idString40EPID of the Base transaction
timestampYYYYMMDD HHmmSS14Current timestamp in GMT: 20260702232920
nonceString16-64Merchant nonce. Must be filled with unpredictable random bytes in hexadecimal format
fp_hashString1-256Merchant MAC in hexadecimal form, the key used is not the merchant KEY but UAPI (see user settings)
Cardart error codes
Code Description
1 DB error
2 Invalid ukey
3 DB query error
4 Timestamp difference is greater than 5 minutes
5 DB query error
6 Nu ai drepturi pentru aceasta actiune
8 Cardart not found
10 invalid fp_hash
Get saved cards list
Field name Format Length Description
methodStringfixedValue: c2p_cards
midString11MerchantID
c2p_idString1-50Unique ID of the client
timestampYYYYMMDD HHmmSS14Current timestamp in GMT: 20260702232920
nonceString16-64Merchant nonce. Must be filled with unpredictable random bytes in hexadecimal format
fp_hashString1-256Merchant MAC in hexadecimal form
c2p_cards error codes
Code Description
1 DB error
3 DB query error
4 Timestamp difference is greater than 5 minutes
5 DB query error
6 Nu ai drepturi pentru aceasta actiune
6b Nu ai drepturi pentru aceasta actiune
7 c2p_id can't be empty
10 invalid fp_hash
11 invalid fp_hash
12 invalid fp_hash
Delete saved card
Field name Format Length Description
methodStringfixedValue: c2p_delete
midString11MerchantID
c2p_idString1-25Unique ID of the client
c2p_cidString1-10Unique ID of the saved card
timestampYYYYMMDD HHmmSS14Current timestamp in GMT: 20260702232920
nonceString16-64Merchant nonce. Must be filled with unpredictable random bytes in hexadecimal format
fp_hashString1-256Merchant MAC in hexadecimal form
c2p_delete error codes
Code Description
1 DB error
3 DB query error
4 Timestamp difference is greater than 5 minutes
5 DB query error
6 Nu ai drepturi pentru aceasta actiune
7 c2p_id can't be empty
8 c2p_cid can't be empty
10 invalid fp_hash
11 invalid fp_hash
12 invalid fp_hash
14 c2p_cid not found
Check MID
Field name Format Length Description
methodStringfixedValue: check_mid
midString11MerchantID
timestampYYYYMMDD HHmmSS14Current timestamp in GMT: 20260702232920
nonceString16-64Merchant nonce. Must be filled with unpredictable random bytes in hexadecimal format
fp_hashString1-256Merchant MAC in hexadecimal form
check_mid error codes
Code Description
1 DB error
2 Invalid MID
3 Minimum nonce length is 16
4 fp_hash must be 32 characters long
5 Timestamp difference is greater than 5 minutes
6 DB query error
7 Invalid key
8 Invalid key
Diagram using generate_epid param
Diagram using without generate_epid param