/
Table of Contents Table of Contents

Table of Contents - PDF document

murphy
murphy . @murphy
Follow
343 views
Uploaded On 2021-08-22

Table of Contents - PPT Presentation

wwwIntroduction2 From registration to PayU launch21 General information22 Description of individual steps3 PayU implementation31 General information32 Terms used in the application33 Integration wit ID: 869481

147 lan payment payu lan 147 payu payment 132 www pos shop 148 transaction payments status 150 customer 145

Share:

Link:

Embed:

Download Presentation from below link

Download Pdf The PPT/PDF document "Table of Contents" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

1 www. Table of Contents Introduction 2.
www. Table of Contents Introduction 2. From registration to PayU launch 2.1 General information 2.2 Description of individual steps 3. PayU implementation 3.1 General information 3.2 Terms used in the application 3.3 Integration with PayU 3.3.1 Conguration data vailable procedures of the PayU application 3.3.3 Encoding 3.3.4 Data Format 3.3.5 Creating a new payment 3.4 Exchange of information on transactions 3.4.1 Notifying the Shop of transaction status change .2 Recognizing the transaction status .3 Receipt of payment .4 Rejection of payment 3.4.5 The „operation complete“ status e and UrlNegative return addresses 3.6 MD5 checksums 3.6.1 Checksum parameters pass

2 ed on to a new payment 3.7 Testing
ed on to a new payment 3.7 Testing 4. Appearance of the PayU payment gateway in the e-shop 4.1 Visualization and description of payment methods .2 Implementation .3 The purchasing process and user-friendly implementation .4 Optimizing the purchasing process .5 Navigation and visualization .6 Speed and conversion rate .7 A functional template .8 Education of customers and marketing 5. The mandatory parameters of implementation 6. PayU account administration 6.1 General information 6.2 PayU user interface 6.3 Creating a Shop and a POS 6.4 Transactions 6.5 Billing, Collection and Refund payments 6.6 Payouts /CSV/ABO Statements 6.8 Statistics 6.9 Notication settings 6.10 User accoun

3 ts 45 6713 14 14 151516212225272829303
ts 45 6713 14 14 1515162122252728293031323334353739404041 47 545659 6567 67 www. payu.cz 7. Appendices Appendix 1 – Types of payments Appendix 2 – Transaction status Appendix 3 – Transitions among transaction states Appendix 4 – Error codes Appendix 5 – A sample php script for checking transaction status Appendix 6 – PayU templates Appendix 7 – PayU implementation examples 70 71 72 73 75768081 www. payu.czIntroductionPayU is the fastest growing provider of online payments in the Czech Republic. It is the Czech version of the successful service that has been operating in Europe since 2005. It uses a unique know-how and many years of experience in the e-commerce market in Central and Eastern Europe.PayU Czech Republic, Ltd. w

4 as founded in 2011 by the Naspers techno
as founded in 2011 by the Naspers technology company, which operates in the online market in the USA, China, Brazil, Africa, Russia, Poland and many other countries, including the Czech Republic.With this strong international presence, PayU oers complete payment services connected with transaction processing, delivers innovative technology, safety and continuous development of their services. The goal of PayU is to constantly bringing fast and secure payment solutions that will simplify the payment process for shoppers and thus contribute to increased conversion on sales platforms.This guide is intended to make it easy for e-shops and partners to implement the PayU payment gateway. In a few simple steps, it explains how to register for PayU, how the technical integration works, what are the possibilitie

5 s of visualization of the oered pay
s of visualization of the oered payment options, describes and explains the functions and administration of the PayU account. The goal of this manual is to help you implement the PayU payment gateway in the best possible way. It is essential in showing how to take advantage of all the features and functions that PayU oers you and for your trading platform.The manual is composed of seven color-coded sections. Each section provides a comprehensive set of information on specic areas of implementation or operation of the PayU system. 4 1 From registration to PayU launch 2 www. General informationThis section describes in simple steps the process of establishing the payment gateway from registration until a successful launch.The following diagram clearly shows the steps required to implement the Pa

6 yU payment gatewayin an e-shop: 6 2.1 re
yU payment gatewayin an e-shop: 6 2.1 registration at activation IMPLEMENTATION OF THE PAYU PAYMENT GATEWAY 2 1. 2. 3.4. 5.www.Description of individual steps 7 website contains all important information regarding the PayU company and its Tentative registrationhttps://www.payu.cz/manager/register?execution=e1s1Based on an interview with you, our sales representative will prepare an oer of commission levels for dierent types of payments. Once you approve them, a dra agreement is sent to you for signing.corresponds with your registration. If the data is correct your PayU account can be activated. The required for implementation of the account. At the same time you can also use the system to make it’s not possible to successfully complete the implementation.You can now log in to your Pa

7 yU account and begin with the implementa
yU account and begin with the implementation. Customer (e-shop)1. Information about PayUat www.payu.cz 2. registration, creating and password)department to activate 3. sending the contract and contractual termsPayUcustomer service 4. activation of the account 7. setting the contractualfor the POS and activation10. verication of theactivation and checks 2 www. The rst step is to enter the web address of your shop, shop name (optionally also its description) and select the desired currency in which payments will be processed. If you want to process payments in If you wish to use the PayU payment system on another web address than the one specied during registration, you can add this address in your account’s setup. In this case it is necessary to create an amendment to your contract with

8 PayU where the preferred or the new web
PayU where the preferred or the new web address will be dened. 8 5.1 2 www. To set the values of a new POS, the following information mused be lled in: a) POS name b) Error return address (URL address where the payer will be redirected if the transaction fails to authorize) c) Successful return address (URL address where the payer will be redirected if the initial authorization of the transaction appears to be successful) d) Address for reports (URL address where you will be sent information about changes of payment status using the POST method) e) Data coding (character set) 9 5.2 2 www. Once you have added a POS, click it in the POS list. This will open Point of Sale conguration. There is some very important information in this conguration that you need to i

9 mplement the payment gateway. These are
mplement the payment gateway. These are the following: 10 5.3 2 www. conditions set out in chapter 5, and perform test transactions, as described in chapter 3.7.Check the contract received from PayU, sign it and send it to the following address: PayU Czech Republic, s. r. o. Karolinská 650/1When PayU receives the signed contract, customer service will added the agreed payment methodsto your Point of Sale. This is what the POS list will look like: 11 6.7. 2 www. Complete the implementation. Make the test payment. It must be processed without any error messages. The list of error messages can be found in Appendix 4. Report the successful completionTo activate the payment methods specied in the contract, contact your PayU sales representative Upon your request to the sales department and aer the

10 verication of your implementation a
verication of your implementation according to chapter 5, the chosen payment methods will be activated for your POS. You will be able to start accepting payments through the PayU payment gateway. 12 8.9.10. 2 PayUimplementation 3 www. payu.cz 14 This practical guide to implementing PayU payment gateway contains information needed Terms used in the applicationThe company that uses the PayU application to receive payments from Customers.An e-shop receiving payments; one company may run several Shops.The Point of Sale processing the received payments; for a given POS, all service parameters are https://secure.payu.com/paygwUrlPositiveUrNegative 3 www. payu.cz 15 In PayU, each Shop can have any number of POS.For each POS, the following URL addresses can be dened: UrlPositive (return address on success)

11 , UrlNegative (return address on failure
, UrlNegative (return address on failure) and UrlOnline (address for notication).PayU allocates a set of conguration keys to each POS, consisting of a POS identier (pos_id), code strings key1 and key2 (see chapter 3.6) and an authorization key (pos_auth_key). All these data are available in the PayU user interface aer adding a POS.The conguration keys can be found by clicking on:URL addresses and available procedures of the PayU applicationThe PayU URL address is formed this way:URL = UrlPayU/Encoding/ProcedureNamehttps://secure.payu.com/paygw – one of the following values: ISO, UTF, WIN – /get, Payment/conrm, Payment/cancelAlternatively, in case of Payment/conrm and Payment/cancel procedures, UrlPayU could be „https://secure.payu.com/api“ and Proced

12 ureName „trans/conrm“ or
ureName „trans/conrm“ or „trans/cancel“.ISO-8859-2Windows-1250 3 www. payu.cz 16 Data FormatFor procedures Payment/get, Payment/conrm and Payment/cancel you can also specify the format of data sent as shown below.URL = UrlPayU/Encoding/ProcedureName/FormatFormat can be either „xml“ or „txt“. The default value is „xml“.In a simplied way, the payment via the PayU works as shown on the diagram below:procedure (for list of PayU procedures see chapter 3.3.2) must be placed to the Shop website. It is 3. E-shop sends the new payment form to PayU 2. Choosing a payment gateway in the PayU 1. Selection of goods / services in the e-shop 4. The customer 7. PayU informs the e-shop of 3 www. payu.cz 17 Parameters of the new payments are as follows: 3 v

13 alue assigned by PayUpos_auth_keySTR {7,
alue assigned by PayUpos_auth_keySTR {7,7}value assigned by PayUSTR {1,1024}Short description – shown to the customerSTR {1,1024}STR {0,1024}customer‘s country code (2 letters) according to ISO-3166http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.htmlphone number (or several numbers separated by commas)http://www.ics.uci.edu/pub/ietf/http/related/iso639.txtSTR {7,15}client’s IP address in the following format:whether the client’s browser has JavaScript enabledtimestamp used to calculate the value of the sig parameter www. payu.cz 18 It is not mandatory to include the payer address parameters in the New payment form, however, ifpossible, we recommend to use these parameters. Entering this information allows easier identication of the payer in the event that it is necessary to

14 match the payment manually. Identic
match the payment manually. Identication of the payer aects conversion in case of unpaired payments.Aer creating a payment the customer will be redirected to the UrlPositive or UrlNegative address using the GET method. Since it’s possible that the Customer does not return back to the Shop website (e.g. the Customer closes their browser window before they can be redirected), the information obtained through these URLs is not binding and cannot provide a basis to draw any conclusions Caution! payment method (e.g. selects a bank where he doesn’t have an account open or chooses payment by a card which does not have with him at that moment, etc). Customer oen realizes the error only aer he’s redirected to the website of the bank or the card transactions provider. At this p

15 oint, the Customer oen tries to go
oint, the Customer oen tries to go back a step using the browser buttons and then NewPayment request is sent to PayU, a new value of the session_id parameter is generated (despite the fact that from the Merchant’s perspective this is still the same order). It is necessary redirecting the customer to the bank, which also includes this parameter. Repeated use of the same session_id value will cause an error that leads to the transaction being rejected. https://secure.payu.com/paygw/Encoding/NewPaymentthus necessary to ensure that the used session_id was unique even in those cases where the order.The standard way to create a payment form uses so-called PayU templates. The PayU system allows you to select from two types of predened templates. Creating a new payment form using these templates is ve

16 ry easy and can be done in three steps:I
ry easy and can be done in three steps:Inserting JavaScript libraries to headጀ section of the HTML documentCreating a simple form with the corresponding parametersInserting a JavaScript snippet to the payment formThe JavaScript library can be loaded from this location in the PayU system:UrlPayU/Encoding/js/pos_id/KK/template:x/ext_calc:y/paytype.js 3 1.2.3. www. payu.cz 19 the Shop is allowed to customize the template to suit their specic requirements. Any template editing must be approved by the PayU payment system operator. Names and logos of payment channels and the PayU logo cannot be removed or changed in any way.The „ext_calc“ parameter indicates whether the calculation of the sig parameter value should include the pay_type parameter. If the ext_calc is „0“ then the pay_type

17 parameter is not included in the sig par
parameter is not included in the sig parameter calculation and its value is not sent. If the ext_calc is „1“ then the pay_type parameter is included in the calculation of the sig parameter and its value is sent as the „pay_type“ parameter.Jav&#xhead;aScript libraries should be placed in the ML document (step 1 above) as follows:‘vaScript‘ type=‘text/JavaScript‘ src=‘https://secure.payu.com/jsgenerator/js/&#xscri;&#xpt l; ngu; ge=;&#xJa10;jquery-latest.js‘&#x/500;script‘vascript‘ type=‘text/javascript‘ src=‘https://secure.payu.com/paygw/UTF/js/pos_id/KK/template:3/ext_calc:1/&#xscri;&#xpt l; ngu; ge=;&#xja10;paytype.js‘&#x/500;scripttemplate was assigned a value of 3Template number 4 oers a list of payment methods

18 in the drop-down option (see also Appen
in the drop-down option (see also Appendix 6). This template is available when you insert the follo&#xhead;wing link into the ‘vaScript‘ type=‘text/JavaScript‘ src=‘https://secure.payu.com/jsgenerator/js/&#xscri;&#xpt l; ngu; ge=;&#xJa10;jquery-latest.js‘&#x/500;script‘vascript‘ type=‘text/javascript‘ src=‘https://secure.payu.com/paygw/UTF/js/pos_id/KK/template:4/ext_calc:1/&#xscri;&#xpt l; ngu; ge=;&#xja10;paytype.js‘&#x/500;script UrlPayU one of the following values: ISO, UTF, WINa value assigned by PayU; POS number (ID)the rst two characters of Key1template identier, where x is a numerical value from the {3,4,5,6} setwhether the sig parameter value calculation should or should not include 3 where the parameters have the fol

19 lowing meaning: www. payu.cz 20 3 The En
lowing meaning: www. payu.cz 20 3 The English version of template number 3 is template number 5, the English version of template number 4 is template number 6. The English versions of the templates can be found in Appendix 6 aswell.In accordance with step 3 above, this JavaScript snippet should be added to the payment form:‘vaScript‘ type=‘text/JavaScript&#xscri;&#xpt l; ngu; ge=;&#xJa10;‘ PlnPrintTemplate();&#x/500;scriptExample payment form with the snippet added:“secure.payu.com/paygw/UTF/NewPayment“ ““““alue=“1234&#xinpu;&#xt ty;&#xpe=h;&#xidde;&#xn na;&#xme=p;&#xos_i; v1;�5“ “““ey“ value=“w&#xinpu;&#xt ty;&#xpe=h;&#xidde;&#xn na;&#xme=p;&#xos_a;&#xuth_;&#xk100;q2iO3q“ “““se

20 ssion_id“ value=“1234&#xinpu;&
ssion_id“ value=“1234&#xinpu;&#xt ty;&#xpe=h;&#xidde;&#xn na;&#xme=3;�565“ ““““ v&#xinpu;&#xt ty;&#xpe=h;&#xidde;&#xn na;&#xme=a;&#xmoun;&#xt-20;alue=“1000“ ‘vaScript‘ type=‘text/JavaScript&#xscri;&#xpt l; ngu; ge=;&#xJa10;‘PlnPrintTemplate(); &#x/500;script “““desc“ v&#xinpu;&#xt ty;&#xpe=h;&#xidde;&#xn na;&#xme=7;�alue=“Payment description“ ““““&#xinpu;&#xt ty;&#xpe=h;&#xidde;&#xn na;&#xme=c;&#xlien;&#xt_ip;&#x v10;alue=“123.123.123.123“ ““““&#xinpu;&#xt ty;&#xpe=h;&#xidde;&#xn na;&#xme=j;&#xs v1;�alue=“0“ ““““alue=“example@ex&#xinpu;&#xt ty;&#xpe=h;&#xidde;&#xn na;&#xme=e;&#xmail;&#x v10;ample.c

21 z“ “““  rst_n
z“ “““  rst_name“ value=“Petr�“ ““““alue=“Nov&#xinpu;&#xt ty;&#xpe=h;&#xidde;&#xn na;&#xme=l; st_;&#xname;&#x v10;ák“ “submit“ v&#xinpu;&#xt ty;&#xpe=3;�alue=“Pay with PayU.cz“&#x/100;form“vaScript“ type=“text/javascript&#xscri;&#xpt l; ngu; ge=;&#xJa10;“ document.forms[‚payform‘].js.value=1;&#x/500;script www. payu.cz 21 Exchange of information on transactionsThe Shop application is obliged to verify the checksums of the transmitted information.to the UrlOnline address, including the following parameters:The sig value is calculated using the following formula:sig = md5(pos_id + session_id + ts + key2)the transaction and its current status must be read and anal

22 yzed by the Shop application using mecha
yzed by the Shop application using mechanisms described in chapter 3.4.2.If the PayU application receives a dierent response than this, the response will be saved to the database and the transaction status change notication shall be deemed not received.The Shop application should allow for situations where the notication regarding a single transaction is posted several times despite the fact that the transaction status hasn’t changed. „OK“ should normally be sent in response to each such repeatedly received notication.A single POST request at a time is normally sent to a specic POS, but it is also possible for several 3.4.1 pos_id value assigned by PayU; POS identier (ID)value entered by the Shop when creating the paymenttimestamp, value needed to verify the check

23 sum 3 www. payu.cz 22 again with the fol
sum 3 www. payu.cz 22 again with the following delay:Recognizing the transaction statusIn order to read the current transaction status, it is necessary to call the Payment/get procedure (for the list of PayU procedures see chapter 3.3.2) using the POST method with the following parameters:The sig value is calculated using the following formula:sig = md5(pos_id + session_id + ts + key1)3.4.2 attemptdelay0 – 101 minute11 – 153 minutes16 – 205 minutes21 10 26 15 51 30 75 60 � = 100re-sending stops pos_id value assigned by PayU; POS identier (ID)value entered by the Shop when creating the paymenttimestamp, value needed to verify the checksum 3 www. payu.cz 23 In response, the Shop application will receive the following information:„txt“ format:trans_session_id: 417419trans_in

24 it: 2012-12-21 10:41:03trans_sent: 2012-
it: 2012-12-21 10:41:03trans_sent: 2012-12-21 10:41:44trans_sig: b6d68525f724a6d691260874924759&#x?xml;&#x v10;ersion=“1.0“ encoding=“UTF-8“ ? &#xstat;&#xus00;&#x/500;status &#xtran;&#xs000; &#xid00;&#x/id0; &#xpos_;&#xid00;&#x/400;pos_id &#xsess;&#xion_;&#xid00;17419&#x/500;session_id &#xorde;&#xr_id;&#x/600;order_id mou;&#xnt00;&#x/600;amount &#xstat;&#xus00;&#x/500;status &#xpay_;&#xtype;&#x/400;pay_type &#xpay_;&#xgw_n; me0;&#x/400;pay_gw_name Þsc;&#x/000;desc Þsc; &#x/600;desc2 rea;&#xte00;10:39:52&#x/600;create &#xinit;10:4&#x/ini;&#xt000;1:03 &#xsent;10:41:44&#x/500;sent &#xrecv;&#x/450;recv Ênc;l00;&#x/600;cancel uth;&#x_fra;&#xud00;&#x/600;auth_fraud &#xts00;4&#x/100;ts &#xsig0;45079b16a

25 3668175279c35736&#x/500;sig &#x/100;tr
3668175279c35736&#x/500;sig &#x/100;trans &#x/450;response 3 www. payu.cz 24 For the data sent back by PayU, the value of sig is calculated using the following formula:sig = md5(pos_id + session_id + order_id + status + amount + desc + ts + key2)The notication elds are described is as follows: response/trans/idresponse/trans/pos_idID of the POS for which the transaction was createdresponse/transession_idvalue assigned by the Shop application when the response/transorder_idvalue assigned by the Shop application when the response/transmountcurrent value of the transaction in haler (heller)response/transtatusresponse/trans/pay_typeresponse/trans/pay_gw_name of the gateway performing the transaction – response/trans/descvalue assigned by the Shop application when the response/trans/desc2value as

26 signed by the Shop application when the
signed by the Shop application when the response/trans/createresponse/trans/initresponse/trans/sentdate the transaction was sent for collectionresponse/trans/recvdate the transaction was receivedresponse/trans/canceldate the transaction was cancelledresponse/trans/auth_fraudresponse/trans/tsvalue needed to calculate the checksumresponse/trans/sig 3 www. payu.cz 25 – Test payment response/trans/add_testalways „1“response/trans/add_testidReceipt of paymentTo receive the payment, i.e. to conrm the transaction, it is necessary to invoke the Payment/recognition (see chapter 3.4.2). It is necessary to receive payments if automatic receiving of payments is turned o (otherwise payments are received automatically). Payments with status 5 - „awaiting receipt“ can also be received thi

27 s way. Alternatively, you can also recei
s way. Alternatively, you can also receive payments through the user Rejection of paymentTo refuse the payment, it is necessary to invoke the Payment/cancel procedure and enter the same parameters as for transaction status recognition (see chapter 3.4.2). Rejection of payment is used status 5 - „awaiting receipt“ can also be rejected this way. Alternatively, you can also reject payments Responses received aer the Shop application invokes the Payment/conrm and Payment/cancel procedures are as follows:Successful execution – „txt“ format:trans_session_id: 417419trans_sig: 9da7c868407fedae6f1b6aca9054632b3.4.33.4.43.4.5 3 www. payu.cz 26 Successful execution – „xml“ format:&#x?xml;&#x v10;ersion=“1.0“ encoding=“UTF-8“? &#xstat;&#xus00;&#x/50

28 0;status &#xtran;&#xs000; &#xid00;&
0;status &#xtran;&#xs000; &#xid00;&#x/id0; &#xpos_;&#xid00;&#x/400;pos_id &#xsess;&#xion_;&#xid00;17419&#x/500;session_id &#xts00;4&#x/100;ts &#xsig0;45079b16a3668175279c35736&#x/500;sig &#x/100;trans &#x/450;responseReceiving the „OK“ status in these cases does not mean that the transaction was successfully conrmed/canceled. These responses only conrm receipt of the request for processing. Conrmation of the transaction status change is sent separately using the standard way – the UrlOnline addresses.For the data sent back by PayU, the value of sig is calculated using the following formula:sig = md5(pos_id + session_id + ts + key2)Error – „txt“ format:&#x?xml;&#x v10;ersion=“1.0“ encoding=“UTF-8“? &#xstat;&#xus00;&#x/500;st

29 atus rro;&#xr000; &#xnr00;&#x/4
atus rro;&#xr000; &#xnr00;&#x/450;nr &#xmess; ge0;&#x/600;message &#x/600;error &#x/450;response 3 www. payu.cz 27 The structure of the UrlPositive and UrlNegative return addressesDepending on the current transaction status, either UrlPositive or UrlNegative is used as the redirect address. Customer is redirected to UrlPositive aer successfully entering a payment in his internet banking (in case of quick online transfers) or on the website of a card transaction processor (when paying by card). If it is a payment by transfer or postal order, the Customer is redirected to UrlPositive aer he receives the information needed to make a payment. Redirect to UrlNegative occurs in the event that payment is not started correctly.The return UrlPositive and UrlNegative addresses are used for i

30 nformational purposes only. Therefore, i
nformational purposes only. Therefore, is not possible to draw any conclusions regarding the nal status of payments based on the redirection to these addresses. Even if you are redirected to UrlPositive, the payment may remain incomplete (e.g. the Customer may not have sucient funds for payment on his account; in case of a bank transfer or postal order, the Customer may not use the generated payment information at all, etc). Therefore, in order to nd out the transaction status, it is always necessary to invoke the Payment/get procedure (see chapter 3.4.2). Information about the current transaction status can also be found in the PayU The return address can contain the following constants which are replaced upon redirecting by the corresponding values in the following table:Examples: http://www

31 .shop.cz/status_ok.html?pos_id=%posId%&s
.shop.cz/status_ok.html?pos_id=%posId%&session_id=%sessionId%http://www.shop.cz/status_error.html?pos_id=%posId%&session_id=%sessionId%&error=%error% pos_id values%payType%pay_type valuessession_id valuesamount values, separated by dotamount values, separated by commaorder_id valueserror number according to table (see Appendix 4), used only in case of UrlNegative 3 www. payu.cz 28 Information about the values of the above constants can be used by the Shop application in many dierent ways. According to the payment type information (pay_type), it is for example possible to specify dierent notices displayed to the Customer at URLPositive for dierent payment channels. Based on the value of the session_id parameter, the Shop application can oer the Customer a link to a new payment for the sa

32 me order (but with a new session_id valu
me order (but with a new session_id value, because it must always be 4) allows the Shop application to determine the reason why the payment has not been created (we recommend to use this example in the testing phase because it allows to quickly identify and remove change notications (see chapter 3.4.1) to this address. 3 side, an MD5 checksum is created which allows you to verify data integrity.Checksums are created using the following formula („+“ stands for character strings concatenation):sig = md5(pos_id + session_id + value1 + value2 + … + valuen + ts + key) pos_id value assigned by PayUvalue1...valuenlist of other values listed in the descriptions of particular methodskeya string of characters known by both PayU and the Shop www. payu.cz 29 In the PayU application, two key values ar

33 e assigned to each pos_id:key1key2The fo
e assigned to each pos_id:key1key2The following two parameters must be specied is the new payment form to create a checksum: – timestamp, the value needed to verify the checksum; any string of characters such as the current The sig value is calculated using the following formula:sig = md5(pos_id + pay_type + session_id + pos_auth_key + amount + desc + desc2 + order_id+ email + phone + language + client_ip + ts + key1)If one of the values is not transmitted in the form used to create a new payment, use an empty string.If the value of the pay_type parameter is not known at the time of sig parameter calculation, the ext_If no the value of the sig parameter is not calculated properly or if the values of other parameters UrlNegative address with error code 103). Using the checksum thus works as a safety

34 check, ensuring that no unauthorized ch
check, ensuring that no unauthorized change of parameter values payments remains unnoticed. 3 www. payu.cz 30 TestingSo called test payments (payment type „t“, see Appendix 1) are used for testing the implementation of Test payments allow you to check the integrity of the data transmitted by the Shop to the PayU application. Using test payments it is possible to verify redirects to the UrlNegative and UrlPositive return addresses, as well as UrlOnline communication. In addition to the NewPayment procedure, test payments can also perform the Payment/get, Payment/conrm and Payment/cancel procedures.Using test payments, various payment transaction statuses (see Appendix 2) and transitions between If creating a test payment causes redirects to UrlNegative, it is possible to determine the error nu

35 mber 4 is possible to determine the caus
mber 4 is possible to determine the cause of the problem and then solve it.Since the test payments work on the same principle as the actual payments, in case they operate 3 gateway 4 Implementation This part of the implementation manual shows how to properly set up completing a purchase with PayU and how to display dierent payment methods.Visualization and description of payment methodsPayU has spent a long time analyzing the clarity of payment method description. The following instructions are the result of the analysis. They’re designed to help the customer to rapidly get their There are 2 ways to display the payment methods: Static JavaScript template Dynamic JavaScript template (the drop-down variant)The PayU JavaScript payment template allows you to leverage the PayU experience in the p

36 urchasing process and provide your custo
urchasing process and provide your customers with a clear and visually pleasing rendering of payment methods Both templates are available in Czech and English version (see Appendix 6). Examples of template implementations in particular e-shops are shown in Appendix 7.4.1 32 4 Implementation of PayU payment templates involves placing JavaScript source code into your website. You can choose between the static and the pop-up template, whichever is more suitable for your shopping process. The payment template allows the e-shop customer to select the payment purchasing process, e.g. the conrmation of the order, etc.For detailed instructions on how to implement the JavaScript PayU template, see section 3.3.5.Customizationbackground color, text color and style. You cannot change the description of payment met

37 hods, If possible, we recommend you to k
hods, If possible, we recommend you to keep the template background white or use very light colors. The darker the color you choose, the greater the possibility that the image and the template elements payment system and subsequently the conversion rate of your e-shop.In case you want to use a custom payment method selector (without using the templates), follow Present the payment methods in separate units as follows: a. payment buttons and the standard bank transfer b. debit card and Mobito 4.2 www. payu.cz 4.4 4.3According to some studies of online shopping behavior up to 75% of buyers leave the e-shop without paying for the goods. Before the customer buys the goods and pays, he’s forced to click through or go through a variety of operations which are oen unnecessary.Wrong congu

38 ration of the nal shopping process
ration of the nal shopping process stage (checkout) is to blame here. E-shop oen unknowingly complicates the path to complete the purchase, order conrmation and payment. The process is lengthy, confusing, the e-shop asks the customer to provide a number of things - forces him to register, requires lling in personal data. A properly adjusted checkout in combination with an immediate payment for goods signicantly contributes to higher purchase conversion rates and thus increases sales. By purchase conversion we mean order conrmation and payment for goods.As a general principle, the more intuitive and the faster the process is, the less likely the customeris to leave it prematurely.Simplifying the shopping process requires optimization of three basic key elements: navigation, visua

39 lization and speed. 4 2. In case y
lization and speed. 4 2. In case you are displaying other payment methods apart from the methods facilitated by the PayU payment gateway, display those separately, too. This means to display the PayU 3. ou can use a line or space between groups of payment methods as a separator. 4. ays be presented with the following symbols: a. PayU - Secure and fast payments - download banners here: http://www.en.payu.cz/downloads b. In case you’re using payment cards - download security logos here: http://www.en.payu.cz/downloads 5. ays call the bank buttons „quick bank transfers“ 6. or each payment method you must display the logo and name of the payment method in the same way as they are displayed in the PayU template (see Appendix 6). www. payu.cz 4.6 34 4 Na

40 vigace a vizualizaceNowadays, the Custom
vigace a vizualizaceNowadays, the Customer has plenty of opportunities to choose the best oer. He uses the opportunity to compare goods, for example using Heureka.cz. He therefore oen leaves the e-shop during shopping to compare parameters, price, references and quality of dierent shops. Therefore it is very important to provide the buyer as much information directly in your e-shop and go through checkout An ideal checkout process should have four steps at most. A single-page customer checkout denitely has higher conversion rate, but only if the customer is able to understand the entire process well. Necessary elements are a navigation bar, prominent buttons for continuing to the next step, and the ability to leave the shopping cart and go back to the previous step. The ability to go dire

41 ctly to the product page or the opportun
ctly to the product page or the opportunity to compare similar products in the cart are big advantages for the customer.From the Customer’s perspective, an e-shop always has greater credibility if it cooperates with well-known and trusted institutions. Any logos of banks, security systems, certicates and payment methods providers represent this credibility and are always benecial for the e-shop, so it is ideal to display them during the checkout process. They increase the sense of security and condence in the e-shop.Photographs are an equally important element of visualization. High quality and suciently detailed photographs of the product can reduce exit rate by 20%. Excessive postage is the most common reason for leaving the e-shop without completing the purchase. If there is no wa

42 y to reduce the cost of Speed and conver
y to reduce the cost of Speed and conversion rateTo speed up the shopping process, it is good to focus on eliminating any unnecessary steps and barriers that can impede the customer. Examples include the need for registration and disclosure of personal information. Allowing a purchase without registration is an interesting way to increase the number The faster the customer is led through checkout, the higher purchase conversions will be achieved.Simple and fast payments are perhaps the most underestimated and yet the most aordable way to optimize the purchasing process. They are relatively new in the Czech environment, yet they are the key to higher purchase conversion rates. Unlike cash-on-delivery or a standard bank transfer, the does not leave the e-shopon-line payments takes no more than a few secon

43 ds. On the other hand, in case of cash-o
ds. On the other hand, in case of cash-on-delivery or a standard bank transfer, it is possible for the customer to change his mind or to buy at your competitor. The simpler the checkout and payment, the higher conversions and sales for the e-shop.4.5 www. payu.cz 35 4 A functional template We have many years of experience optimizing the checkout process. Based on analyses of shopping behavior, we have developed a functional template for payment in advance. The template is used by e-shops that want to increase purchase conversion using quick online payments. In agreement with the banks, we modied the visualization and description of payment methods to be as understandable 4.7 4.8Education of customers and marketingpayment for goods or services. For „Standard Bank Transfer“ and „Payment by

44 postal order via Czech Post“ PayU o
postal order via Czech Post“ PayU oers the possibility of activating a service for sending e-mails showing payment information directly to the Customer’s e-mail. Thanks to that the Customer is assured that the data http://payu.fcostry.cz/ www. payu.cz 36 4 Inserting the PayU logo or banner is also a part of a successful implementation. These are available for download at http://www.en.payu.cz/downloadsPayU also provides an educational mailing for clients. You will be informed how you can reduce the error rate when of online payments and increase you conversion rates.For more information please contact our sales team or our customer support sta. The mandatory parameters of 5 www. payu.cz Before launching the PayU payment system into production, the e-shop must meet the following requirem

45 ents: 1. Deployment of all payment met
ents: 1. Deployment of all payment methods in accordance with the contract. Correct description and visualization of payment methods (see chapter 4). 3. Correctly implemented return addresses (see section 3.5) 4. Correctly implemented checksums (see section 3.6). A positive result of test payments. 6. Placing the PayU logo (optionally also banners and other graphics) on the main page of the e-shop and on the page with payment method selection page. 6. ve its recognition by shoppers (logos are displayed automatically if templates are used implementation). 6. All payment methods must be on the same page, therefore there must not be a step gateway oering payment methods – not a payment method. 5 PayU account administration 6 www. payu.cz General information This chapter

46 is devoted to setting up and using your
is devoted to setting up and using your PayU account. It will help you set up everything you need from the rst login to your account and navigate the PayU user interface.You can login to the PayU user interface by clicking the „Log in – new PayU account 2.0“ link,https://secure.payu.com/user/start?lang=enrequires a user name and password and then clicking the „Log in“ button. 6.1 6.240 6 Creating a Shop and a POS Aer clicking on the „Add shop“ the rst step is to choose a website address of the Shop, Shop name 6.3 41 6 If the user is interested in using the PayU payment system on another web address than the one specied during registration, he can add this address. In that case it is necessary to make an 42 6 www. payu.cz 43 6 In the second step, the

47 POS name must be specied and the de
POS name must be specied and the desired data coding selected. Also, it is possible to dene the error return address (UrlNegative), the successful return address (UrlPositive) and the address for reports (UrlOnline) for this POS. The „Secure my transaction/Check sig correctness“ must be le checked for the correct checksum value to be veried when POS, which is necessary for implementing the payment system to the Shop’s website (pos_id, key and second key (MD5) and the pos_auth_key authorization key). www. payu.cz Aer clicking the „End“ button, the Shop is added to the list of shops that are located in the „Online Payments“ tab under „My shops“.Another Shop can be added by clicking the „Add shop“ button. 44 6 www. payu.cz Another

48 POS can be added to an already existing
POS can be added to an already existing Shop by clicking „POS“ list in the Shop 45 6 www. payu.cz followed by clicking on Add POS Shop details can be viewed by clicking on the Shop name,POS details can be viewed by clicking on the POS name. 46 6 www. payu.cz The POS information also shows payment types available for a given POS including commissions (before production launch only a test payment is available). In POS conguration, the user can disable collectively for all types of payments.TransactionsThe list of transactions is in the „Online Payments“ tab under „Transactions“. Transactions in the list can be searched according to various criteria. 6.4 47 6 www. payu.cz Details of each transaction can be viewed by clicking on the transaction description. 48 6 www. payu.cz

49 The transaction details page looks like
The transaction details page looks like this Aer clicking on „Show reports“ it is possible to manually send the transaction status change notication to Shop’s UrlOnline address. The function is useful especially during the implementation automatic and it is not required to initiate it this or any other way. 6 www. payu.cz On the „List of transactions“ page, transactions with status „awaiting receipt“ can be received or cancelledtransactions with status „rejected“ can be received or cancelledand transactions with status „new“ can be cancelled. 6 www. payu.cz and clicking the „Next“ button on the following page any part thereof), post a message for the recipient in the „Refund for“ eld and choose one of three types of &#

50 132;manual“ refund methods - bank t
132;manual“ refund methods - bank transfer, foreign bank transfer or payment by postal order. On the „List of transactions“ page, payment refunds can also be performed. Only payments with status „ended“ can be refunded. Aer clicking the „Refund“ link 6 www. payu.cz Based on the chosen refund method it is then required to ll in the elds in the „Refund receiver´s data“ and click the „Make refund“ button. 6 www. payu.cz For certain types of payments, the „automatic (the same as payment method)“ option can be selected in the „Refund method“ section. When using this option, there’s no need to enter any further information – aer clicking the „Make refund“ button, the payment is refunded to the acc

51 ount from which it was sent.Alternativ&#
ount from which it was sent.Alternativ�ely, it is possible to initiate a refund from the „Online payments“ „T�ransactions“ „Refunds“ 6 www. payu.cz and entering the number of the transaction to be refunded on the next page. Billing, Collection and Refund payments„T�ransactions Billing“ link.This page can be searched by various criteria, like the „List of transactions“ page. However, search 6.5 6 www. payu.cz 55 �The „Payouts“ page („Online Payments“ „T�ransactions“ „Payouts“) allows you to search in the The „R�efunds“ page („Online Payments“ „T�ransactions“ „Refunds“) allows you to search in the history of refunded payment

52 s. You can initiate a payment refund usi
s. You can initiate a payment refund using the „New refund“ button, as already mentioned above. 6 www. payu.cz 56 Payouts You can ask to transfer the Shop’s current balance to the bank account associated with this Shop at However, it is not always necessary to request withdrawals manually as described above. Rules for automatic withdrawals can be also dened in the user interface. Aer clicking on the „Automatic 6 www. payu.cz 57 and selecting „Edit automatic payouts“ automatic payouts are activated by checking „Yes“ next to the „Automatic payouts are active“ option. Then you must specify the „Minimum amount of payout“ (if Shop’s balance is less than this amount, „periodically“, i.e. every time aer the specied numbe

53 r of days). Then press the „Save ch
r of days). Then press the „Save changes“ 6 www. payu.cz 58 Further optional „Frequency of payouts“ options are „On selected weekdays“ and „On aselected day in amonth“. The rst one allows you to make payouts on the specied day of the week, 6 www. payu.cz 59 PDF/CSV/ABO StatementsUsing the user interface, it is possible to download a statement of transactions in 3 dierent formats - PDF, CSV and ABO. The PDF format is suitable for printing. The CSV format can be open in MS Excel (or any other spreadsheet application). The ABO format (.gpc) is compatible with accounting soware (bookkeeping programs). Reports in this format can be imported into these programs and Reports in all three formats can be generated once or periodically. To create a

54 statement report, go to statement“
statement report, go to statement“ button.On the following page, select the „Shop“ for which the statements are to be generated, specify „Frequency“, i.e. dene how oen the desired statement is to be created. In the example below you can see the „aer each payout“ option chosen. In addition to this option, the statements can be set to be created at a specic day of month, a specic day of week or repeatedly aer a certain number of days (i.e. the available options are similar to those for automatic payouts). 6 www. payu.cz 60 A CSV statement with a semicolon (;) as the eld delimiter and a quote („) as the text delimiter looks as follows:You also need to select the desired „File format“. Depending on the selected format, it is po

55 ssible to specify further settings. The
ssible to specify further settings. The most exible format is CSV. This type of statement may contain the following information: type of operation, date, transaction ID, amount, account balance, change account balance, order ID, description, description 2 / account number, payment type, city, postal code, phone, e-mail address, street, name and surname, commission fees and currency. To add the �requested data to the report select it using your mouse and click on the „“ button. You can add all 6 www. payu.cz 61 looks as follows: The ABO format allows you to select which data is to be placed in the „variable symbol“ column and whether the statement should also include „commission records“. 6 www. payu.cz 62 The „Statement“ template contains the following da

56 ta: date, operation type, transaction ID
ta: date, operation type, transaction ID, currency, amount, commission fees, account balance, description/account number and a summary of the given The PDF format allows you to choose between two statement templates.The „Summary“ template contains only a summary of the given period. 6 www. payu.cz 63 To activate the statement aer lling in all the required elds, you must conrm it by clicking the Aer clicking this button, a newly created request for generation of Periodical statements is shown ��in the table on the „Online Payments Statements Periodical statements“ page. An overview of the already generated Periodical statements can be viewed by clicking the „List of periodical statements“ ��A one-time statement can be create

57 d on the „Online payments“ &#
d on the „Online payments“ „Statements“ „Statements on demand“ page by clicking on the „New statement“ button. 6 www. payu.cz 64 eld is replaced by the period for which the statement is to be created. Just like with periodic statements, the other settings then depend on what „File Format“ is selected. Aer lling in all the changed to „Generated“. Statements that have already been generated by the system one can be obtained again by clicking the „Download“ button. In this case the statement is no longer sent via email, but can be directly opened or saved on a computer instead. All periodic as well as on demand statements are always compressed using the ZIP method. 6 www. payu.cz 65 the required period. You can choose betwee

58 n daily, monthly and yearly data. Data c
n daily, monthly and yearly data. Data can be displayed only for the specic Shop or for selected types of payments. You can choose between „number of transactions“, „transaction amount“ and „number of transactions and their amount“ using the „Scope“ eld. Presentation of statistics is activated by clicking the „Show“ button. 6 www. payu.cz 66 The requested data is displayed as a chart and a table. If the chart shows the amount of transactions (cash amount paid using the various types of payments), you can press the „Number of transactions“ button to display the number of payments and vice versa. Aer you move your cursor over any of the chart columns, its numerical value will be shown.The table shows the same data as the chart. 6 www. p

59 ayu.cz 67 �Using the „Accoun
ayu.cz 67 �Using the „Account Conguration“ „Notication settings“ page, you can activate sending general or transaction notications by email. To send notications by email, click on the „Enable“ button.account can be created using the „Add user“ button.„E-mail“ and „Phone“ elds) and choose whether this should be an account of an „Administrator“ or a „User“ for your company. An „Administrator“ has access to all the data and functions in the user interface, while „User“ access rights can be limited. For a „User“ account you can select whether the account owner should have „Privileges to view invoices“. Aer completing all required elds, you can continue

60 by clicking the „Next“ button
by clicking the „Next“ button. 6.9 6.10 6 www. payu.cz 68 On the following page you can select in case of a „User“ account which functions and Shops the account owner should have access to. To complete creating the account, click the „Add user“ button. 6 www. payu.cz 69 � „User Accounts“ page. The password of the new user account is delivered to the email address Any operations that can be performed with user accounts are displayed aer moving your cursor over the „Options“ link located in the „Action“ column. For user accounts, you can activate the function of sending transactions notications by email (the „Notications“ link). It is also possible to „Edit“ user’s contact information and „Remove&#

61 147; or „Block“ a user account
147; or „Block“ a user account (a blocked account may be unblocked, as opposed to a deleted account). It is also possible to generate a new password for a user account. 6 Appendices 7 www. payu.cz 71 Appendix 1 – Types of payments 7 PLATBA 24 – eská spoitelnamPenize – mBankMojePlatba – Komerní bankaePlatby pro eKonto - RaieisenbankFio bankaPlatební karty pes GPE14 Test payment – a page is displayed that allows you to select between redirecting to UrlPositiveor UrlNegative* For these payment methods is essential for the Customer to make the payment according to instructions displayed on the screen, including the bank account number, variable symbol, specic symbol and the exact amount. This information is available to the Customer even ae

62 r leaving the website. You can activate
r leaving the website. You can activate a feature that will send the information required to make the payment to the Customer via email. To activate this function at your Shop, please contact the PayU sta. If you are The order of payment channels available on the Shop’s site should be the same as in this document. www. payu.cz 72 Appendix 2 – Transaction status 7 awaiting receipt – „new“ appears when the Shop application successfully invokes the NewPayment procedure. – „canceled“ also appears when transaction with status 1 - „new“ or 5 - „awaiting receipt“ iscanceled by the Shop application or by the user. – „rejected“ appears when a transaction had been „canceled“ (status 2) that was then paid – „reject

63 ed“ will also appear in the case wh
ed“ will also appear in the case when a transaction with status 5 - „awaiting receipt“ is canceled and the selected payment method does not allow automatic refund to the Customer. transaction receives status 5 - „awaiting receipt“. To complete the transaction and change its status – „started“ is a temporary condition and may not appear. Transactions can change their status to „awaiting receipt“ or „ended“ (in case that automatic payment reception is enabled) directly following status 1 - „new“. – „awaiting receipt“ is displayed only when automatic payment reception is disabled. A Shop should receive a payment within as many days (more exactly, until as many 24 hour periods), as it takes for the automatic cancellation of the

64 transaction (see Appendix 1). If the pa
transaction (see Appendix 1). If the payment is not received transaction status. At the moment a transaction is assigned status 99, the Shop can inform the customer about the fact that the payment was paid (recommended).Payments can be received and cancelled using the Payment/conrm and Payment/cancel procedures (see chapters 3.4.3 and 3.4.4). Receiving and cancelling payments can also be performed in the PayU www. 73 Appendix 3 – Transitions among transaction states New If it’s possible to cancel RejectedReject doneAwaiting 7 www. 74 If automatic payment receipt is enabled: New Rejected Reject done 7 www. payu.cz 75 Appendix 4 – Error codes 7 or invalid sig value107113114POS of this ID is blockedinvalid pay_type valuefor the given pos_idis temporarily blocked for the given downtime of

65 the payment gatewaythan the minimum val
the payment gatewaythan the minimum valuethan the maximum value207exceeded the value of all transactions invalid pos_id or pos_auth_keyunallowed halí (heller) entries(for not activated company)transaction authorization missingtransaction authorizationtransactions were previously revokedtransactions were previously acceptedtransaction was selected507599 www. payu.czAppendix 5 – A sample php script for checking transaction status 76 This script can also be found on our website at http://www.en.payu.cz/downloads//PayU server and the Payment/get method addresses$server“secure.payu.com”$server_script“/paygw/ISO/Payment/get”“PAYU_POS_ID”“PAYU_KEY1”“1234567890123456”“PAYU_KEY2”“9123456789012345”//returns a eld

66 with following indexes: “code”
with following indexes: “code”(transaction status code or false in case of failure), //invalid POS ID in responsealid POS ID in responseen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;1en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;]!=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;PAYU_POS_ID“incorrectPOSnumber”//calculation of signature to verify sig sent by PayUerify sig sent by PayUen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;1en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;].en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$partsen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;2en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;].en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$partsen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;3en-US&#x/Lan;&#x

67 g 00;&#x/Lan;&#xg 00;].en-US&#x/Lan;&#xg
g 00;&#x/Lan;&#xg 00;].en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$partsen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;5en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;].en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$partsen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;4en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;].en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$partsen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;6en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;].en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$partsen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;7en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;].en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;PAYU_KEY2 //various messages according to transaction status. Descriptions of individual states are li

68 sted in arious messages according to tra
sted in arious messages according to transaction status. Descriptions of individual states are listed in en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;5en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;])en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;{en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; ar-SA&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;caseen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;1en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;:returnarray(en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“code”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$partsen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;5en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;],en-US&#x/Lan;&#xg 00;&#x

69 /Lan;&#xg 00;“message”en-
/Lan;&#xg 00;“message”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“new””en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;5en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;],en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“message”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“cancelled”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;);en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;caseen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;3en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;:returnarray(en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“code”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg

70 00;&#x/Lan;&#xg 00;$partsen-US&#x/Lan;&
00;&#x/Lan;&#xg 00;$partsen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;5en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;],en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“message”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“rejected”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;);en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;caseen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;4en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;:returnarray(en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“code”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$partsen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg 00;&#x/La

71 n;&#xg 00;5en-US&#x/Lan;&#xg 00;&#x/Lan;
n;&#xg 00;5en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;],en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“message”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“started”started”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;5en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;],en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“message”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“awaitingreceipt””en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;5en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;],en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“message”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“noauthorization”ation”en-US&#x/Lan;&#x

72 g 00;&#x/Lan;&#xg 00;5en-US&#x/Lan;&#xg
g 00;&#x/Lan;&#xg 00;5en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;],en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“message”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“paymentrejected”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;);en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;caseen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;99en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;:returnarray(en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“code”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$partsen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;5en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;],en-US&#x/Lan;&#xg

73 00;&#x/Lan;&#xg 00;“message”&
00;&#x/Lan;&#xg 00;“message”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“paymentreceived-ended” en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;5en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;],en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“message”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“incorrectstatus”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;);en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;default:returnarray(en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“code”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;falseen-US&#x/La

74 n;&#xg 00;&#x/Lan;&#xg 00;,en-US&#x
n;&#xg 00;&#x/Lan;&#xg 00;,en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“message”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“nostatus”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;);en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;}en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;}en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;//some parameters are missingen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;if(!isset(en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$_POSTen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“pos_id”en-US&#x/Lan;&

75 #xg 00;&#x/Lan;&#xg 00;])||!is
#xg 00;&#x/Lan;&#xg 00;])||!isset(en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$_POSTen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“session_id”session_id”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“ts”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;])||!isset(en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$_POSTen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“sig”“ERROR:EMPTYPARAMETERS” 7 www. payu.cz 77 //the received POS ID is dierent than expecteded POS ID is dierent than expecteden-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“pos_id”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;]!=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;PAYU_POS_ID//verication of the received signatureed signatureen-US&#

76 x/Lan;&#xg 00;&#x/Lan;&#xg 00;“pos_
x/Lan;&#xg 00;&#x/Lan;&#xg 00;“pos_id”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;].en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$_POSTen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“session_id”session_id”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“ts”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;].en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;PAYU_KEY2YU_KEY2en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“sig”“ERROR:INCORRECTSIGNATURE”PAYU_POS_IDYU_POS_IDen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“session_id”PAYU_KEY1PAYU_POS_IDYU_POS_IDen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“session_id”//identify connection methods (socket or CURL)$fsocketPHP_VERSION4.3fsockopen“ssl://”$server443 $fsocket“curl_exec”//sendin

77 g the request using a socket$fsocket
g the request using a socket$fsocket$server_script”HTTP/1.0”$server“Content-Type:application/x-www-form-urlencoded””\r\n\r\n”1024 CURLOPT_URL$server$server_scriptCURLOPT_SSL_VERIFYPEERFALSECURLOPT_HEADERCURLOPT_TIMEOUTCURLOPT_POSTCURLOPT_POSTFIELDSCURLOPT_RETURNTRANSFERcurl_exec 7 www. payu.cz 78 //no usable connection method is available&#xtran;&#xs000;&#xpos_;&#xid00;“/()\&#x/400;&#xsess;&#xion_;&#xid00;pos_id.*()\&#x/500;session_id.* “\&#x/600; mou;&#xnt00;order_id.*()\&#x/600;&#xstat;&#xus00;amount.*()\&#x/500;Þsc;status.*()\ “([0-9]*)\&#x/100;&#xsig0;ts.*()\&#x/500;sig.*\&#x/100;trans/is”//recognized transaction statused transaction statusen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“code”en-US&#x/Lan;&#xg 00;&#x/L

78 an;&#xg 00;])en-US&#x/Lan;&#xg 00;&
an;&#xg 00;])en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;{en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$pos_iden-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$partsen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;1en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;];en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$session_iden-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$partsen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;2en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;];en-US&

79 #x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x
#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$order_iden-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$partsen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;3en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;];en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$amounten-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$partsen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;4en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;];en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;// in halé (heller)en-US&#x/Lan;&#x

80 g 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg
g 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$statusen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$partsen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;5en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;];en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$descen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$partsen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;6en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;];en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$ts&#

81 28;en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;
28;en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$partsen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;7en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;];en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$sigen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;=en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$partsen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;8en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;];en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;//TODO:

82 ;//change transaction status in the
;//change transaction status in the Shop‘s system/*examples” “”“”)en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; ar-SA&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;{ar-SA&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;//transaction canceled, we can cancel the transaction as well//if(everything_ok) 7 www. payu.cz 79 //TODO:ODO:en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;“code”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;].en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;”message=”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;.en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$resulten-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;[en-US&#x/Lan;&#xg

83 00;&#x/Lan;&#xg 00;“message”en
00;&#x/Lan;&#xg 00;“message”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;].en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;”\n”en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;;en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;echoen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;$payu_responseen-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;;en&#x/Lan;&#xg 00;&#x/Lan;&#xg 00; en-US&#x/Lan;&#xg 00;&#x/Lan;&#xg 00;//information about the change of status to secure.payu.com will be re-sent, we can write 7 www. payu.cz 80 template no. 3 (CZ version)template no. 5 (EN version) 7 www. Appendix 7 – PayU implementation examples 81 7 www. payu.cz 82 7 Custom implementation Adress: PayU Czech Republic, s. r. o. Karolinská 650/ 1Telephone: / web: PayU Im