9. Transaction Examples
9.1 Transaction # 1
The merchant decides to communicate to GestPay only the essential information to allow the buyer to make the payment. The payment page must be displayed to the buyer who enters the sensitive data requie to complete the payment in protected (SSL 1024-bit) mode.
The transaction to process has the following characteristics:
Merchant’s Transaction
Shop Transaction ID 34az85ord19
Transaction Amount 1828.45
Currency Transaction euro
Let us suppose that the transaction is concluded positively (payment will be made), returning the following result:
Result
Authorisation code 54e813
Bank transaction ID 216
Phase I
The merchant’s server communicates the information that characterizes the transaction to GestPay, setting the value of the GestPayCrypt attributes:
WSCryptDecrypt transaction. If the checks are passed, it returns an encrypted string to GestPay:
Encrypted Data String
ShopLogin 9000001
EncryptString 2C53F1B5...
Phase II
The checkout page will load the js_GestPay.js file and will check the boolean variable BrowserEnabled.
If the BrowserEnabled is true the page will call the GestPay.CreatePage function passing three parameters that correspond to the shop login, the encrypted data string received in the previous phase by GestPay and the function that will check the Result object.
GestPay authenticates the Shop login (parameter a) and performs security checks on the encrypted data string (parameter b). If the checks are passed, the Result.ErrorCode property will return 10, the iFrame is created and the hidden payment page is loaded. Otherwise, the function will return a proper ErrorCode.
Phase III
In the OnSubmit event of the credit card form the checkout page will retrieve the value inserted by the cardholder and send them to the hidden iFrame through the GestPay.SendPayment function.
After processing the transaction, GestPay communicates the transaction result (encrypted data string) to the merchant with a server to server comunication.
Server-to-server communication
http://www. myshop.com/s2s.asp?a=9000001&b=4D341A8B...
After server-to-server communication has sent, GestPay will return the result through the Result object.
The object will provide the encrypted string in the Result.Encrypted string property.
The transaction result is also communicated to the merchant via e-mail.
Send E-mail
Phase IV
GestPay communicates the transaction result to the merchant, sending an encrypted data string.
Using the WSCryptDecrypt webservice, the merchant must request the string decryption service to interpret the transaction result correctly and update the information in his/her own information system, thus allowing the buyer to complete the purchasing process.
The merchant’s server communicates the encrypted data string containing the transaction result to GestPay, through the WSCryptDecrypt webservice.
Encrypted Data String
ShopLogin 9000001
EncryptedString 4D341A8B...
GestPay authenticates the calling server and the integrity of the encrypted data string. If the controls are passed, it returns the unencrypted information to GestPayCrypt allowing the merchant to interpret the transaction result correctly:
GestPay Result
ShopLogin 9000001
Currency 242
Amount 1828.45
ShopTransactionID 34az85ord19
TransactionResult OK
AuthorizationCode 54e813
BankTransactionID 216
ErrorCode 0
ErrorDescription Transaction Executed
9.2 Transaction #2
The merchant decides to communicate to GestPay not only the information that is indispensable to allow the buyer to make the payment, but also the buyer’s name, surname and e-mail address (this information is suggested by default on the payment page so that the buyer does not need to enter it a second time).
Other customized information is sent by the merchant (the client code attributed to the buyer and technical information). The payment page must be displayed to the buyer who enters any
sensitive data necessary to complete the payment in protected mode (128–bit SSL). In addition, one of the customized items of information (client code) must be displayed on the payment page.
The transaction to process has the following characteristics:
Transaction
Shop Transaction ID 34az85ord19
Transaction Amount 1245.6
Currency Transaction Euro
Language Spanish
Buyer’s Name and Surname Mario Bianchi
Buyer’s E-mail Address [email protected]
Customised info 1 BV_CODCLIENTE=12
Customised info 2 BV_SESSIONID=398
We shall assume that the transaction is concluded positively (payment is made), reporting the following result:
Result
Authorisation code 9823y5
Bank transaction ID 860
The following pages describe each individual phase that makes up the payment process, highlighting the information exchanged between GestPay and the merchant’s server.
Phase I
The merchant’s server communicates the information that characterises the transaction to GestPay, setting the value of the GestPayCrypt attributes:
GestPayCrypt
GestPay authenticates the calling server and validates the information that characterises the transaction. If the controls are passed, it returns an encrypted string to GestPay:
Encrypted Data String
ShopLogin 9000001
EncryptString 30715CA8………..
Phase II
The checkout page will load the js_Gestpay.js file and will check the boolean variable BrowserEnabled.
If the BrowserEnabled is true the page will call the GestPay.CreatePage function passing three parameters that correspond to the shop login, the encrypted data string received in the previous phase by GestPay and the function that will check the Result object.
GestPay authenticates the Shop login (parameter a) and performs security checks on the encrypted data string (parameter b). If the checks are passed, the Result.ErrorCode property will return 10, the iFrame is created and the hidden payment page is loaded. Otherwise, the function will return a proper ErrorCode.
Phase III
In the OnSubmit event of the credit card form the checkout page will retrieve the value inserted by the cardholder and send them to the hidden iFrame through the GestPay.SendPayment function.
After processing the transaction, GestPay communicates the transaction result (encrypted data string) to the merchant with a server to server comunication.
Server-to-server communication
http://www. myshop.com/s2s.asp?a=9000001&b=4D341A8B...
After server-to-server communication has sent, GestPay will return the result through the Result object.
The object will provide the encrypted string in the Result.Encrypted string property.
The transaction result is also communicated to the merchant via e-mail.
Send E-mail
Phase IV
GestPay communicates the transaction result to the merchant, sending an encrypted data string.
Using the WSCryptDecrypt webservice, the merchant must request the string decryption service
GestPay Result
ShopLogin 9000001
Currency 242
Amount 15.6
ShopTransactionID 34az85ord19
TransactionResult OK
AuthorisationCode 9823y5
BankTransactionID 860
CustomInfo BV_CODCLIENTE=12*P1*SESSIONID=398
ErrorCode 0
ErrorDescription Transaction Executed
10. Implementations Examples
10.1 .Net C#
http://service.easynolo.it/download/iFrameExample_Net.zip
10.2 PHP
http://service.easynolo.it/download/iFrameExample_php.zip
11 Errors Table
Codice Descrizione
0 Transaction correctly processed 10 Payment page correctly loaded 57 Blocked credit card
58 Confirmed amount exceeds authorized amount 63 Demand for settlement of one nonexistent transaction 64 Expired preauthorization
65 Wrong currency
66 Preauthorization already notified 74 Authorization denied
97 Authorization denied
100 Transaction interrupted by bank authorizative system
150 Wrong merchant configuration in bank authorizative system 208 Wrong expiry date
212 Bank authorizative system not available 251 Insufficient credit
401 Call credit card company 402 Call credit card company 403 Technical error
404 Collect card
405 Authorization refused by credit card companies 406 Technical error
409 Technical error 412 Technical error 413 Technical error 414 Card not recognized
415 Technical error in connection with Credit Card Company network
416 Wrong PIN
417 Authorization denied 418 Network not available 419 Wrong transaction date
420 Wrong card date
430 Technical error
431 Technical error in connection with Credit Card Company network
433 Card expired
434 Authorization refused by credit card companies 435 Authorization refused by credit card companies 436 Card not qualified
437 Operation not allowed 438 Operation not allowed 439 Card not recognized 441 Blocked credit card 443 Blocked credit card 451 Amount not available
454 Card expired
455 Operation not performed 456 Card not recognized
457 Authorization refused by credit card companies
458 Wrong merchant configuration in bank authorizative system 461 Amount not available
462 Blocked credit card
468 Bank authorizative system not available 475 Operation not allowed
490 Technical error
491 Technical error in connection with Credit Card Company network
492 Technical error in connection with Credit Card Company network 494 Technical error
810 Bank authorizative system not available
908 Authorization denied 950 Not qualified credit card
951 Wrong merchant configuration in bank authorizative system 998 Credit card with wrong check-digit
999 Operation not performed 1100 Empty parameter string
1101 Invalid format of parameter string 1102 No parameter name precedes = symbol 1103 Parameter string ending with a separator 1104 Invalid parameter name
1105 Invalid parameter value 1106 Repeated parameter name
1107 Unexpected parameter name. Please double check Fields and Parameters configuration in Back Office.
1108 Compulsory parameter not set 1109 Missing parameter
1110 Missing PAY1_UICCODE parameter 1111 Invalid currency code
1112 Missing PAY1_AMOUNT parameter 1113 Not numeric amount
1114 Amount with a wrong number of decimal digits 1115 Missing PAY1_SHOPTRANSACTIONID parameter
1116 Too long PAY1_SHOPTRANSACTIONID parameter 1117 Invalid language identifier
1118 Not numeric characters in credit card number
1119 Credit card number with wrong length 1120 Credit card with wrong check-digit
1121 Credit card belongs to a Company not enabled 1122 Expiry year without expiry month
1123 Expiry month without expiry year 1124 Invalid expiry month
1125 Invalid expiry year 1126 Expired expiry date
1127 Invalid cardholder email address 1128 Too long parameter string 1129 Too long parameter value
1130 Not accepted call: missing parameter A 1131 Not accepted call: Shop not recognized 1132 Not accepted call: shop is not in active state 1133 Not accepted call: missing parameter B 1134 Not accepted call: empty parameter B
1135 Not accepted call: other parameters beside A and B are present 1136 Not accepted call: transaction did not begin with a call to server-server
cryptography system
1137 Not accepted call: transaction already processed before 1138 Not accepted call: card number or expiry date are missing
1139 Not accepted call: missing published payment page 1140 Transaction cancelled by buyer
1141 Not accepted call: input parameter string not acceptable 1142 Not accepted call: invalid IP Address
1143 Transaction abandoned by buyer
1153 GestPay failed to verify if the card is enrolled to VBV service 1154 Not accepterd call: missing parameter TransKey
1999 Technical error in connection with Credit Card Company network 2000 Transaction exceeds maximum operations number in time period
2001 Transaction exceeds maximum number of operations performed by the same buyer in time period
2002 Transaction exceeds maximum amount in time period
2003 Transaction exceeds maximum amount payable by same buyer in time period 2004 Transaction contains a field value that had been declared not acceptable
2005 Buyer abandoned the transaction because it was double 2006 Wrong line length
2007 Wrong value in SHOPTRANSACTIONID field 2008 Wrong value in CURRENCY field
2009 Wrong value in AMOUNT field
2010 Wrong value in AUTHORIZATION DATE field 2011 Transaction not found
2012 Transaction ambiguous
2013 Text file contains more rows related to the same transaction
2014 You requested a refund operation with an amount exceeding transaction balance 2015 Wrong value in BANKTRANSACTIONID field
2016 Fields BANKTRANSACTIONID and SHOPTRANSACTIONID are empty 2017 Transacion can not be deleted
2018 Transacion can not be refunded 2019 Transacion can not be settled 2020 Transacion can not be renounced 4100 Operation not allowed
4101 Credit card number with wrong length 4102 Amount not available
4103 Technical error 4104 Technical error 4105 Technical error
4106 Technical error
4108 Technical error in connection with Credit Card Company network 4109 Technical error
4200 Technical error 4201 Technical error 4202 Technical error
4203 Call credit card company 4204 Operation not allowed 4205 Operation not allowed
4206 Credit card with wrong check-digit. Please double-check the credit card number typed in.
4207 Technical error 4208 Operation not allowed 4209 Technical error 4300 Technical error 4301 Too big amount 4302 Technical error 4303 Operation not allowed 4304 Technical error
4305 Authorization refused by credit card companies 4306 Operation not allowed
4307 Technical error 4308 Operation not allowed 4309 Too big amount
4400 Wrong transaction date 4401 Wrong expiry date
4402 Technical error in connection with Credit Card Company network
4502 Technical error 4503 Operation not allowed 4504 Operation not allowed 4505 Operation not allowed 4506 Technical error 4507 Technical error 4508 Operation not allowed 4604 Technical error 4701 Operation not allowed 4702 Wrong expiry date 4703 Card not qualified 4704 Amount not available
4705 Technical error in connection with Credit Card Company network
4706 Technical error in connection with Credit Card Company network 7400 Authorization denied
7401 Authorization refused by credit card companies 7402 Card not qualified
7403 Card not recognized 7404 Card expired
7405 Call credit card company 7406 Wrong card date
7407 Wrong transaction date 7408 System error
7409 Merchant not recognized 7410 Invalid format
7411 Amount not available 7412 Not settled
7413 Operation not allowed 7414 Network not available 7415 Collect card
7416 PIN attempts exhausted 7417 Blocked terminal
7418 Forcedly Closed terminal 7419 Not permitted transaction 7420 Not authorized transaction
7500 Authorization denied 7600 Authorization denied 8000 File correctly processed
8001 Header/bottom record not found 8002 Merchant code not set
8003 Incorrect row number 8004 Incorrect file format 8005 Merchant not enabled 8006 Verify By Visa
8007 Feature disabled for VISA credit card 8008 Feature disabled
8010 Wrong credit card number for this transaction 8011 Transaction correctly received
8012 Authorization not found 8013 Settlement not found
8014 Settlement amount > Authorization amount 8015 Refund amount > balance
8016 Transaction without settlement 8018 File correctly processed
8021 Feature disable for MASTERCARD credit card 8022 Feature disable for JCB credit card
8023 Feature disabled for MAESTRO cards 9991 Browser not supported
9992 Error creating iFrame 9997 Phase with error 9998 Phase correctly ended 9999 System Error
12 Table of currency codes
Currency codes are handled by GestPay using the currency attribute.
Code UIC Description
18 Italian lira
242 Euro
1 Dollar
2 Pound
71 Japanese Yen
103 Hong Kong Dollar
234 Real
3 Swiss franc
13 Table of Language Codes
The language code is handled by GestPay using the Language attribute.
Code Description
1 Italian
2 English
3 Spanish
4 French
5 German
14 Table of Verified by Visa Codes
The VbV code is handled by GestPay using the VbV attribute.
Code Description
OK VbV-certified transaction KO Transaction not VbV-certified
15 Payment Orders in Test Environment
Remember that to simulate the authorization of a payment order in the test environment it is necessary to use a currently valid credit card.
Amounts relating to authorised payment orders will be set against the credit limit of the card used and will never be debited. We therefore recommend that payment orders are made for small amounts so as not to run down the remaining credit on the card used for the tests.
16 Links
Test codes
http://service.easynolo.it/download.asp
Technical support
https://www.easynolo.it/easynolo/ecommerce/assistenza/richiedi_assistenza.jsp?p=com_42
F.A.Q.
https://www.easynolo.it/easynolo/ecommerce/assistenza/faq_ecommerce.jsp?p=com_55
Forum
http://service.easynolo.it/forum.asp
E-Commerce on Sella.it
https://www.sella.it/ita/aziende/ecommerce/index.jsp
Back Office environment for actual merchants
https://ecomm.sella.it/gestpay/backoffice/LoginGestPay.asp
Back Office environment for test merchants
https://testecomm.sella.it/gestpay/backoffice/logingestpay.asp