Bellow you can find detailed specification of transmissible and receivable data, if you do not have an ability to use libwebtopay library.

Structure of payment form

You should send data of the form in POST method. Address: https://www.paysera.com/pay/

Available request parameters

Parameter Length Necessary Description
projectid 11 Yes Unique project number. Only activated projects can accept payments.
orderid 40 Yes Order number from your system.
lang 3 No It is possible to indicate user language (ISO 639-2/B: LIT, RUS, ENG, etc.). If paysera.com does not support selected language, system will automatically choose language according IP address or ENG by default.
amount 11 No Amount in cents the client has to pay.
currency 3 No Payment currency (USD, EUR) you want the client to pay in. If the selected currency cannot be accepted by a specific payment method, the system will convert it automatically to the acceptable currency, according to the currency rate of the day. Payamount and paycurrency answers will be sent to your website.
accepturl 255 Yes Full address (URL), to which the client is directed after a successful payment.
cancelurl 255 Yes Full address (URL), to which the client is directed after an unsuccessful payment or cancellation.
callbackurl 255 Yes Full address (URL), into which a seller will get information about committed payment.

Script must return text "OK". Only then our system will register, that information about payment has been received.

If there is no answer "OK", message will be sent 4 times (when we get it, after hour, after three hours and after 24 hours).
payment 20 No Payment type. The parameter that should be empty. List of payment types will be provided to the user. It is used only if the user wants the payment to be made by a concrete method.
country 2 No Payer's country (LT, EE, LV, GB, PL, DE). All possible types of payment in that country are immediately indicated to the payer, after selecting a country.
paytext *255 No Payment purpose visible when making the payment. If not specified, default text is used:
Payment for goods and services (for nb. [order_nr]) ([site_name]).

If you specify the payment purpose, it is necessary to include the following variables, which will be replaced with the appropriate values in the final purpose text:

  • [order_nr] - payment number.
  • [site_name] or [owner_name] - website address or company name.

If these variables are not specified, the default purpose text will be used.

Example of a payment purpose:

Payment for goods made to order [order_nr] in website [site_name].
p_firstname 255 No Payer's name. Requested in the majority of payment methods. Necessary for certain payment methods.
p_lastname 255 No Payer's surname. Requested in the majority of payment methods. Necessary for certain payment methods.
p_email 255 No Payer's email address is necessary. If the email address is not received, the client will be requested to enter it. At this email address Paysera will inform the payer about the payment status.
p_street 255 No Payer's address, to which goods will be sent (e.g.: Mėnulio g. 7 - 7). Necessary for certain payment methods.
p_city 255 No Payer's city, into which goods will be sent (example: Vilnius). Necessary for certain payment methods.
p_state 20 No Payer's state code (necessary, when buying in USA). Necessary for certain payment methods.
p_zip 20 No Payer's postal code. Lithuanian postal codes can be found here. Necessary for certain payment methods.
p_countrycode 2 No Payer's country code. List with country codes is here. Necessary for certain payment methods.
sign 255 Yes Parameter with data signature. It is necessary to make sure that data is being sent from your website.

If you use not a PHP programing language, you have to pay attention in coding when generating 'sign' parameter. PHP functions strlen() and strtolower() do not maintain UTF-8, because of that operations are being performed not with UTF-8, but with bytes: strlen('ąbčd') == 6 and strtolower('ĄBČD') == 'ĄbČd'.

If You use PHP programming language, we suggest You to use LibWebToPay library, which has a method for sign generation.

only_payments 0 No Show only those payment methods that are separated by commas.
disallow_payments 0 No Hide payment methods separated by comma.
repeat_request 1 No If this parameter equals 1, previous request is repeat using 'orderid' parameter
test 1 No The parameter, which allows to test the connection. The payment is not executed, but the result is returned immediately, as if the payment has been made. To test, it is necessary to activate the mode for a particular project by logging in and selecting: 'Manage projects' -> 'Payment gateway' (for a specific project) -> 'Allow test payments' (check).
version 9 Yes A version number of Paysera system specification (API).
time_limit 19 No The parameter indicating the final date for payment; the date is given in “yyyy-mm-dd HH:MM:SS” format. The minimum value is 15 minutes from the current moment; the maximum value is 3 days. Note: works only with certain payment methods.

* Final length may vary depending on payment type specification

For more information on callbacks - see the chapter Callback .