Important changes to the Classic API integration protocol based on the WEBAPI/SOAP interface. Learn more!
Documentation of Classic API is for maintenance purposes only - if you wish to integrate PayU services, please use REST API. Classic API is no longer developed and new features and services are only available through REST API.
To create a new payment, you need to place an appropriate form on your website which will redirect the customer to PayU, to NewPayment procedure (read more in "PayU URLs"). It is advised to use the POST method; if it is impossible, you may apply the GET method. The list of parameters and their description is available at "new payment parameters".
After the payment is finished, the customer will be redirected to UrlPositive or UrlNegative address using the GET method. It may happen that the customer does not go back to the Shop application, and that is why the information transferred using these addresses is not binding, decisions regarding payments cannot be made on its basis.
The method of transferring information about transactions has been described in "exchange of information".
Example form with a minimal number of parameters:
<form action="https://secure.payu.com/paygw/UTF/NewPayment" method="POST" name="payform"> Name: <input type="text" name="first_name" value=""><br/> Surname: <input type="text" name="last_name" value=""><br/> E-mail: <input type="text" name="email" value=""><br/> <input type="hidden" name="pos_id" value="178893"> <input type="hidden" name="pos_auth_key" value="gQJQrgD"> <input type="hidden" name="session_id" value="Zz0cyTCtkbiR7LOpNzrkddZXkgbFbo6A."> <input type="hidden" name="amount" value="1000"> <input type="hidden" name="desc" value="Payment desc"> <input type="hidden" name="client_ip" value="123.123.123.123"> <input type="hidden" name="js" value="0"> <input type="hidden" name="ts" value="124321879"> <input type="hidden" name="sig" value="80764dcb147ed9c71b5e2dcde26e7b3bd3879c236ccca96e9e21f2ea9c4e91b6"> <input type="submit" value="Pay via PayU"> </form> <script language="JavaScript" type="text/javascript"> <!-- document.forms['payform'].js.value=1; --> </script>
We recommend to not use special characters in transaction description. Certain characters are not allowed by the banks.
Parameter | Required field | Data type | Description |
---|---|---|---|
pos_id | Yes | INT | value assigned by PayU |
pos_auth_key | Yes | STR {7,7} | value assigned by PayU |
pay_type | No | ENUM | optional1 |
session_id | Yes | STR {1,1024} | Payment identifier – unique for every customer (a pair of pos_id and session_id identifiers must be unique in the system, i.e. session_id cannot be repeated within the same POS) |
amount | Yes | NUM {1,10} | payment amount specified in the lowest currency unit |
desc | Yes | STR {1,50} | short description – shown to customer, included in statements |
order_id | No | STR {1,1024} | order number |
desc2 | No | STR {0,1024} | any information |
trsDesc | No | STR {0,27} | Additional transaction description for bank transfers |
first_name | Yes | STR {1,100} | first name |
last_name | Yes | STR {1,100} | last name |
street | No | STR {0,100} | street |
street_hn | No | STR {0,10} | home number |
street_an | No | STR {0,10} | flat number |
city | No | STR {0,100} | city |
post_code | No | STR {0,20} | Postal code |
country | No | STR {0,100} | Two-letter customer's country code compliant with ISO-3166. |
No | STR {1,100} | e-mail address; If value of this parameter is not provided, user will be asked to enter missing data on the PayU website, additionally Installments and Pay later payments may not be possible. |
|
phone | No | STR {0,100} | phone number, you can enter several numbers separated with commas |
language | No | ENUM | language code, ISO-639-1 compliant; it can be used to choose language version of PayU-hosted payment methods page (available values for payment method page: cs, en or pl, available values for card payment form: see available language versions) |
client_ip | Yes | STR {7,15} | Customer’s IP address in the D{1,3}.D{1,3}.D{1,3}.D{1,3} format |
js | No | ENUM (0,1) | Value defines if the customer’s browser has JavaScript enabled |
sig | Yes | STR {64} | Checksum of provided form parameters2 |
ts | Yes | STR | Time stamp used to calculate the sig value |
Depending on a payment method, it may be necessary to enter values defined in the table as not required. Additional information can be found next to descriptions of particular payment methods "payment types".
1 If the pay_type parameter is missing, a window with a selection of all payment types available for a given pos_id will be displayed (list of payment types is available in "payment types")
2 Read more in "signing parameters"
Value | Description |
---|---|
1 | new |
2 | cancelled |
3 | rejected |
4 | started |
5 | Waiting for acceptance |
7 | payment rejected – funds received from a customer despite a transaction being cancelled or funds could not be returned automatically; such situations will be monitored and explained by the PayU team |
99 | payment received – ended |
888 | incorrect status – user asked to contact PayU |
Status 2 |
„cancelled” will appear automatically a few days (read more in "payment types") after a transaction was created or started (status 1 or 4) if it is not settled until then (funds will not be sent to the PayU system). This status will also appear after calling the „cancel” action in the Administration Panel or after calling the Payment/cancel method for a transaction with status 1 or 4. |
Status 3 |
„rejected” will appear when the user calls the „cancel” action in the Panel or the Payment/cancel method for a transaction with status 5 – „waiting for acceptance”, and the chosen payment type does not make it possible to automatically return the funds to the customer (in most available payment types). Status 3 – „rejected” will also appear in the case of settling a „cancelled” (status 2) transaction (PayU system received the funds). Transactions with this status are currently automatically refunded and transited to status 7. |
Status 4 |
„started” is a temporary stage and does not have to take place; the transaction may move to the „waiting for acceptance” or „ended” status (if „Automatic receipt” is enabled) directly from the „new” status. |
Status 5 |
„waiting for acceptance” will only be displayed if „Automatic receipt” is disabled, in such case the Shop has a specified number of days to accept the payment (this period equals the time of automatic payment cancellation specified in the table in "Payment types" and determined separately for every type of payment). If a payment is not accepted within this period of time, it will be automatically cancelled. A payment is accepted by calling the „Payment/confirm” method or in the Administration Panel. |
Status 7 |
„refund to customer” will appear when a transaction received status 3 – „rejected” and the user clicks on „cancel” in the Panel or calls the Payment/cancel method. |
If Automatic receipt of payments is disabled:
If Automatic receipt of payments is enabled:
Value | Description |
---|---|
100 | Missing or incorrect value of pos_id parameter
|
101 | Missing session_id parameter
|
102 | Missing ts parameter
|
103 | Missing or incorrect value of sig parameter
|
104 | Missing desc parameter
|
105 | Missing client_ip parameter
|
106 | Missing first_name parameter
|
107 | Missing last_name parameter
|
108 | Missing street parameter
|
109 | Missing city parameter
|
110 | Missing post_code parameter
|
111 | Missing amount parameter
|
112 | incorrect bank account number |
113 | Missing email parameter
|
114 | Missing phone number |
200 | Other temporary error |
201 | Other temporary database error |
202 | POS with the specified id is blocked |
203 | Forbidden pay_type value for pos_id
|
204 | Specified payment method (pay_type ) is temporarily blocked for a given pos_id , e.g. maintenance break of payment gateway |
205 | transaction amount lower than the minimal value |
206 | transaction amount higher than the maximal value |
207 | exceeded value of all transactions for one customer in the last period of time |
208 | POS works in the ExpressPayment variant but the activation of this variant of cooperation did not take place (we are waiting for the consent of the Customer Service Department) |
209 | incorrect pos_id or pos_auth_key number
|
211 | incorrect transaction currency |
212 | transaction request more frequent than one per minute - for not active company |
500 | no such transaction exists |
501 | no authorisation for this transaction |
502 | transaction started earlier |
503 | transaction already authorised |
504 | transaction cancelled earlier |
505 | transaction previously forwarded for acceptance |
506 | transaction already accepted |
507 | error when returning funds to Customer |
599 | incorrect transaction status, e.g. transaction cannot be credited several times, or another one – please contact us |
777 | creating this transaction would lead to exceeding a transaction limit for companies under verification; the verification process will take one business day |
999 | other critical error – please repeat the operation |
After a finished payment process, the customer may be redirected to a URL specified by the Shop. The use of a UrlPositive or UrlNegative depends on a transaction status. The return to Shop addresses are of information character only; no decisions can be taken on their basis.
They may contain the following constants to be exchanged for appropriate values, according to the table below:
Constant | Description |
---|---|
%transId% | identifier of a new transaction created in the PayU application |
%posId% | pos_id values |
%payType% | pay_type values |
%sessionId% | session_id values |
%amountPS% | amount values – dot as a separator |
%amountCS% | amount values – comma as a separator |
%orderId% | order_id values |
%error% | error number according to the table in "error codes", it is only used for UrlNegative |
Examples:
http://www.sklep.pl/status_ok.html?pos_id=%posId%&session_id=%sessionId%
http://www.sklep.pl/status_error.html?pos_id=%posId%&session_id=%sessionId%&error=%error%
A PayU application URL is created according to the following scheme:
URL = UrlofPlatnosci.pl/Encoding/ProcedureName
where:
UrlofPlatnosci.pl | Base address of the PayU application (https://secure.payu.com/paygw) |
Encoding | One of the following values: ISO, UTF, WIN |
ProcedureName | One of the following values: NewPayment, Payment/get, Payment/confirm, Payment/cancel |
Depending on encoding used by a Shop application, an appropriate charset should be selected for communication with PayU:
Name used in PayU | Type of encoding |
---|---|
ISO | ISO-8859-2 |
UTF | UTF-8 |
WIN | Windows-1250 |
Selected encoding should match encoding set in a given POS (point of sale).
For the Payment/get, Payment/confirm and Payment/cancel procedures it is also possible to specify a format used for sending data; the formula is the following:
URL = UrlPlatnosci.pl/Encoding/ProcedureName/Format
where the Format may be either “xml” or “txt”; “xml” is selected by default.
Shop application must add a checksum of all parameters transferred to the new payment form (NewPayment).
In order to use this option, add additional parameter to the form:
sig | Signature of transferred information |
name
attribute of the
input
element. If a given value is not transferred in the
form creating a new payment, use an empty string of characters.&
. The
parameters values must be URL encoded (application/x-www-form-urlencoded - a
space character is encoded with '+') using appropriate page encoding. Note:
capital letters must be used for encoding (e.g. Polish special character "ł"
should be "%C5%82", not "%c5%82").In case the sig value has been calculated incorrectly or the values of other transferred parameters have been changed, the new payment will not be created. The Customer will be redirected to UrlNegative with error code 103.
generate_signature(form, secondKey, posId) { sortedValues = sortValuesByItsName(form) foreach value in sortedValues { content = content + parameterName + "=" + urlencode(value) + "&" } content = content + secondKey return sha256(content) }
<form action="https://secure.payu.com/paygw/UTF/NewPayment" method="POST" name="payform"> Name: <input type="text" name="first_name" value="First Name"><br/> Surname: <input type="text" name="last_name" value="Last Name"><br/> E-mail: <input type="text" name="email" value="email@email.com"><br/> <input type="hidden" name="pos_id" value="999999"> <input type="hidden" name="pos_auth_key" value="abcDEF"> <input type="hidden" name="session_id" value="Zz0cyTCtkbiR7LOpNzrkddZXkgbFbo6A."> <input type="hidden" name="amount" value="1000"> <input type="hidden" name="desc" value="Payment desc"> <input type="hidden" name="client_ip" value="123.123.123.123"> <input type="hidden" name="js" value="1"> <input type="hidden" name="ts" value="124321879"> <input type="submit" value="Pay via PayU"> </form>
name
attribute of the
input
element and concatenating the keys and values of all the
fields according to pre-set order (key=value), separated by the ampersand sign
&
with added private key (available in the Panel Manager as
Second key (MD5)). Fake second key used in this example is
098f6bcd4621d373cade4e832627b4f6
:
amount=1000&client_ip=123.123.123.123&desc=Payment+desc&email=email%40email.com&first_name=First+Name&js=1&last_name=Last+Name&pos_auth_key=abcDEF&pos_id=999999&session_id=Zz0cyTCtkbiR7LOpNzrkddZXkgbFbo6A.&ts=124321879&098f6bcd4621d373cade4e832627b4f6
703ca5f6ac791dc244290a30d054039b32ed445c98655568c00ff532e719c6cb
<input type="hidden" name="sig" value="703ca5f6ac791dc244290a30d054039b32ed445c98655568c00ff532e719c6cb">
In case of questions please contact us.
The Shop application is obliged to verify signatures of transmitted information.
Every command (except for creating new payment) and response generated by PayU is provided with an MD5 signature that makes it possible to verify data integrity.
The signatures are created in accordance with the following formula (where “+” means operation of joining the strings of characters):
sig = md5( pos_id + session_id + value1 + value2 + ... + valuen + ts + key )
where:
pos_id | Value assigned by PayU |
session_id | Payment identifier – unique for each Customer |
wartosc1...n | A list of additional values specified when describing particular methods |
ts | Any string of characters, recommended current time in seconds |
key | String of characters known to PayU and the Shop |
In PayU application, there are two key values assigned to a given pos_id,
key1 – key used while checking the signature sent by the Shop (visible as Key(MD5) in the Management Panel)
key2 – key used to generate a signature that is sent to the Shop (visible as Secondary Key(MD5) in the Management Panel)
Each change of transaction status is reported to the Shop application. A POST request is sent to the given UrlOnline address with the following parameters:
Name | Description |
---|---|
pos_id | POS identifier |
session_id | value provided by the Shop when creating the payment |
ts | Timestamp, value required to verify the signature |
sig | signature of information transferred |
Where the sig value is calculated in accordance with the following formula:
sig = md5( pos_id + session_id + ts + key2 )
A message about a change of transaction status does not contain any detailed information. The Shop application MUST individually read transaction data and its current status using mechanisms described in "exchange of information" (section "reading transaction status").
After receiving the request, the Shop application MUST send the “OK” string of characters in response. If another answer is received, it will be saved in the database and the notification will be considered as not received.
The Shop application should take account of situations where a notification is sent several times for the same transaction and the same status. For each repeated notification, the “OK” response should be sent as well.
For one POS, one POST request is sent at a time, but it should be possible to send a few requests for same POS at a time.
Notifications are sent immediately after a payment status changes. If the notification is not received by the Shop application, it will be sent again in accordance with the table below:
Attempt | Time since the change od payment's status |
---|---|
1 | immediately |
2 | 1 minute |
3 | 2 minutes |
4 | 5 minutes |
5 | 10 minutes |
6 | 30 minutes |
7 | 1 hour |
8 | 2 hours |
9 | 3 hours |
10 | 6 hours |
11 | 9 hours |
12 | 12 hours |
13 | 15 hours |
14 | 18 hours |
15 | 21 hours |
16 | 24 hours |
17 | 36 hours |
18 | 48 hours |
19 | 60 hours |
20 | 72 hours |
In order to read the current state of the SMS transaction, you need to call the Payment/get procedure ("PayU URLs!!!") using the POST method, specifying the following parameters:
Name | Description |
---|---|
pos_id | POS identifier |
session_id | value provided by the Shop when creating the payment |
ts | Timestamp, value required to verify the signature |
sig | signature of transferred information (read more in "MD5 signatures") |
Where the sig value is calculated in accordance with the following formula:
sig = md5( pos_id + session_id + ts + key1 )
In the response you will receive the following pages containing information:
“txt” format:
status:OK trans_id:7 trans_pos_id:1 trans_session_id:417419 trans_order_id: trans_amount:200 trans_status:5 trans_pay_type:t trans_pay_gw_name:pt trans_desc:Wpłatadlatest@test.pl trans_desc2: trans_create:2004-08-2310:39:52 trans_init:2004-08-3113:42:43 trans_sent:2004-08-3113:48:13 trans_recv: trans_cancel: trans_auth_fraud:0 trans_ts:1094205761232 trans_sig:b6d68525f724a6d69fb1260874924759 trans_add_client_name: JAN KOWALSKI trans_add_client_street: UL.NOWOWIEJSKIEGO 8 trans_add_client_city: WARSZAWA trans_add_client_post_code: 02-638 trans_add_client_account: 80607787095718703296721164 trans_add_client_address:
“xml” format:
<?xml version="1.0"encoding="UTF-8" ?> <response> <status>OK</status> <trans> <id>7</id> <pos_id>1</pos_id> <session_id>417419</session_id> <order_id></order_id> <amount>200</amount> <status>5</status> <pay_type>t</pay_type> <pay_gw_name>pt</pay_gw_name> <desc>Wpłatadlatest@test.pl</desc> <desc2></desc2> <create>2004-08-2310:39:52</create> <init>2004-08-3113:42:43</init> <sent>2004-08-3113:48:13</sent> <recv></recv> <cancel></cancel> <auth_fraud>0</auth_fraud> <ts>1094205828574</ts> <sig>a95dc2145079b16a3668175279c35736</sig> <add_client_name>JAN KOWALSKI</add_client_name> <add_client_street>UL.NOWOWIEJSKIEGO 8</add_client_street> <add_client_city>WARSZAWA</add_client_city> <add_client_post_code>02-638</add_client_post_code> <add_client_account>80607787095718703296721164</add_client_account> <add_client_address></add_client_address> </trans> </response>
In respect of data sent back by PayU, we calculate the sig value according to the following formula:
sig = md5( pos_id + session_id + order_id + status + amount + desc + ts + key2 )
The meaning of the particular message fields has been described in the following tables:
Basic fields:
Txt field | Xml field | Meaning |
---|---|---|
status | response/status | notification processing status – for correct “OK” |
trans_id | response/trans/id | unique transaction id assigned by PayU |
trans_pos_id | response/trans/pos_id | POS id for which transaction was created |
trans_session_id | response/trans/session_id | value assigned by the Shop application when creating transaction |
trans_order_id | response/trans/order_id | value assigned by the Shop application when creating transaction |
trans_amount | response/trans/amount | current transaction value in the lowest currency unit |
trans_status | response/trans/status | current transaction status matching statuses available at "transaction statuses" subpage |
trans_pay_type | response/trans/pay_type | type of payment matching types available at: "payment types" subpage |
trans_pay_gw_name | response/trans/pay_gw_name | name of the gateway performing the transaction – confidential information of PayU application |
trans_desc | response/trans/desc | value assigned by the Shop application when creating transaction |
trans_desc2 | response/trans/desc2 | value assigned by the Shop application when creating transaction |
trans_create | response/trans/create | transaction creation date |
trans_init | response/trans/init | transaction starting date |
trans_sent | response/trans/sent | date when transaction was transferred for collection |
trans_recv | response/trans/recv | date when transaction was received |
trans_cancel | response/trans/cance | date when transaction was cancelled |
trans_auth_fraud | response/trans/auth_fraud | confidential information of PayU application |
trans_ts | response/trans/ts | value required to calculate signature |
trans_sig | response/trans/sig | notification signature – result of md5 function |
trans_add_client_name | response/trans/add_client_name | client name |
trans_add_client_street | response/trans/add_client_street | client street |
trans_add_client_city | response/trans/add_client_city | client city |
trans_add_client_post_code | response/trans/add_client_post_code | client postal code |
trans_add_client_account | response/trans/add_client_account | client bank account number |
trans_add_client_address | response/trans/add_client_address | client full address |
Additional fields – for chosen payment types:
- mBank, BZWBK
Txt field | Xml field | Meaning |
---|---|---|
trans_add_cc_number_hash | response/trans/add_cc_number_hash | hash of the payment sender’s bank account number (field filled out after some time) |
- payment card (incl. Masterpass)
Txt field | Xml field | Meaning |
---|---|---|
trans_add_cc_classification | response/trans/add_cc_classification | DEBIT or CREDIT |
trans_add_cc_mask_pan | response/trans/add_cc_mask_pan | masked Primary Account Number /PAN/ (e.g. 543402******4014) |
trans_add_cc_number_hash | response/trans/add_cc_number_hash | hash of the PAN |
trans_add_cc_bin | response/trans/add_cc_bin | BIN – card issuer identification number |
trans_add_cc_profile | response/trans/add_cc_profile | CONSUMER or BUSINESS |
trans_add_cc_payment_flow_type | response/trans/add_cc_payment_flow_type | flow type, e.g. CARD /standard card payment/, MASTERPASS, ONE_CLICK_CARD, ONE_CLICK_CARD_RECURRING |
trans_add_cc_scheme | response/trans/add_cc_scheme | card scheme: VS (Visa), MC (MasterCard and Maestro) |
trans_add_cc_response_code | response/trans/add_cc_response_code | response code, e.g. 000 |
trans_add_cc_response_code_desc | response/trans/add_cc_response_code_desc | code description, e.g. 000 - OK |
trans_add_cc_3ds_status | response/trans/add_cc_3ds_status | 3-D Secure result, e.g. AY – OK |
trans_add_cc_eci_code | response/trans/add_cc_eci_code | Electronic Commerce Indicator, e.g. 2 - full authentication (MasterCard), 5 - full authentication (Visa) |
trans_add_cc_bin_country | response/trans/add_cc_bin_country | Two-letter card issuer's country code compliant with ISO-3166, e.g. PL |
trans_add_card_installment_proposal_id | response/trans/add_card_installment_proposal_id | unique identifier of installment proposal * |
trans_add_cc_frictionless | response/trans/add_cc_frictionless | Indicates whether authentication was "challanged" or was "frictionless". More information on this topic can be found in 3DS 2 documentation. |
trans_add_cc_3ds_status_desc | response/trans/add_cc_3ds_status_desc | 3DS status description. More information on this topic can be found in 3DS 2 documentation. |
* - used in the service Pay in installments with Mastercard
- ING
Txt field | Xml field | Meaning |
---|---|---|
trans_add_cc_number_hash | response/trans/add_cc_number_hash | hash of the payment sender’s bank account number (field filled out after some time) |
trans_add_cc_number | response/trans/add_cc_number | payment recipient’s bank account number |
trans_add_owner_name | response/trans/add_owner_name | payment recipient’s name |
trans_add_owner_address | response/trans/add_owner_address | payment recipient’s address |
trans_add_trans_title | response/trans/add_trans_title | payment title |
- przelew bankowy
Txt field | Xml field | Meaning |
---|---|---|
trans_add_cc_number | response/trans/add_cc_number | payment recipient’s bank account number |
trans_add_bank_name | response/trans/add_bank_name | payment recipient’s bank name |
trans_add_owner_name | response/trans/add_owner_name | payment recipient’s name |
trans_add_owner_address | response/trans/add_owner_address | payment recipient’s address |
trans_add_trans_title | response/trans/add_trans_title | payment title |
trans_add_trans_prev | response/trans/add_trans_prev | link to page with bank transfer form preview |
trans_add_trans_add_desc | response/trans/add_trans_add_desc | additional transaction description placed on the bank transfer form |
- płatność testowa
Txt field | Xml field | Meaning |
---|---|---|
trans_add_test | response/trans/add_test | always ”1” value |
trans_add_testid | response/trans/add_testid | transaction identifier |
In order to receive a payment, i.e. confirm the transaction, we call the Payment/confirm procedure using the POST method, and enter the same parameters as in the case of reading transaction information (read: "exchange of information").
Calling this method is necessary only in case of disabling the “Automatic collection” option for a given payment type.
In order to cancel or reject a payment, call the Payment/cancel procedure using POST and specify the same parameters as those for retrieving transaction data (see: "exchange of information").
For the Payment/confirm and Payment/cancel procedures the following pages are retrieved:
Correct execution – “txt” format:
status:OK trans_id:7 trans_pos_id:1 trans_session_id:417419 trans_ts:1094206530505 trans_sig:9da7c868407fedae6f1b6aca9054632b
Correct execution – “xml” format:
<?xml version="1.0" encoding="UTF-8" ?> <response> <status>OK</status> <trans> <id>7</id> <pos_id>1</pos_id> <session_id>417419</session_id> <ts>1094205828574</ts> <sig>a95dc2145079b16a3668175279c35736</sig> </trans> </response>
In data returned by PayU, the sig value is calculated according to the following formula:
sig = md5( pos_id + session_id + ts + key2 )
Error – “txt” format:
status:ERROR error_nr:503 error_message:
Error – “xml” format:
<?xml version="1.0" encoding="UTF-8" ?> <response> <status>ERROR</status> <error> <nr>503</nr> <message></message> </error> </response>
Important changes to the Classic API integration protocol based on the WEBAPI/SOAP interface. Learn more!
The described procedures may be used via their WEBAPI/SOAP interface available at:
https://secure.payu.com/api/classic/services/payments
The appropriate WSDL link can be downloaded from:
PayU offers a set of tools which can be used by the Seller to enhance user experience (UX) during the payment process. These tools can be divided into two categories.
The first category is a set of tools which allows for retrieving payment methods in order to display them on the Seller’s system page. A JavaScript tool “injects” available payment methods. The second option allows for retrieving the same data in xml format that can be further processed by the server of Seller’s system.
However, the second category allows for defining the cart with a link. It is a very convenient solution enabling easy integration. You can read more about it in the sections below.
A current payment list for a given POS can be placed on a site by referring to JavaScript code retrieved from PayU.
The code can be found at:
URL = UrlPlatnosci.pl/Encoding/js/PosId/K/paytype.js
where:
UrlPlatnosci.pl | Base address of the PayU application (https://secure.payu.com/paygw) |
Encoding | One of the following values: ISO, UTF, WIN |
PosId | POS identifier |
K | First two characters from the Key1 value |
Paytype.js contains the following methods:
PlnDrawSelect() | Printing the <select> element with an available list of payments |
PlnDrawRadio() | Printing the list of radio elements with the names of payment types |
PlnDrawRadioImg(cols) | Printing the list of radio elements with the names and logotypes of payment types; cols parameter – number of columns which will be used to present a table |
Example of use:
<script language='JavaScript' type='text/JavaScript' src='https://secure.payu.com/paygw/ISO/js/1234/xx/paytype.js'> </script> <form action="https://secure.payu.com/paygw/ISO/NewPayment" method="POST" name="payform"> <input type="hidden" name="pos_id" value="12345"> <input type="hidden" name="session_id" value="1234565"> <input type="hidden" name="amount" value="1000"> <input type="hidden" name="desc" value="Payment description"> <script language='JavaScript'type='text/JavaScript'> PlnDrawSelect(); </script> <input type="hidden" name="client_ip" value="123.123.123.123"> <input type="hidden" name="js" value="0"> <input type="submit" value="Pay via PayU"> </form> <script language="JavaScript" type="text/javascript"> <!-- document.forms['payform'].js.value=1; --> </script>
A list of the current payment methods for a given POS may be downloaded as xml file.
The appropriate xml file can be found at:
URL = UrlPlatnosci.pl/Encoding/xml/PosId/K/paytype.xml
where:
UrlPlatnosci.pl | Base address of the PayU application (https://secure.payu.com/paygw) |
Encoding | One of the following values: ISO, UTF, WIN |
PosId | POS identifier |
K | First two characters from the Key1 value |
Example content of the downloaded file:
<?xml version="1.0"encoding="UTF-8" ?> <paytypes> <paytype> <type>c</type> <name>Payment card</name> <enable>true</enable> <img>https://secure.payu.com/paygw/images/paytype/on-c.gif</img> <min>1.01</min> <max>4000.0</max> </paytype> <paytype> <type>m</type> <name>mTransfer</name> <enable>true</enable> <img>https://secure.payu.com/paygw/images/paytype/on-m.gif</img> <min>0.5</min> <max>999999.99</max> </paytype> ... </paytypes>
PayU makes it possible to enable or disable automatic collection in a POS.
Automatic collection can be configured as other standard payment methods.
If Automatic collection has been enabled, transactions are processed automatically, without manual confirmation.
Automatic collection can be configured as other standard payment methods.
If Automatic collection has been disabled, transactions are processed only after they have been manually confirmed.
To manually confirm a transaction in the Management Panel when Automatic collection is disabled:
Note: Information about transaction support via API is available in the Information exchange section.
Automatic collection can be configured as other standard payment methods.
Related information