Credit card payments
Operationcode: PAR
PAR
Direction
SIHOT.WEB -> SIHOT.PMS SIHOT.PMS -> SIHOT.WEB
Message
The incoming request looks like:
<?xml version="1.0" encoding="ISO-8859-1"?>
<SIHOT-Document>
<OC>PAR</OC>
<TN>2</TN>
<INPUTTYPE>M</INPUTTYPE>
<OPERATORID>...</OPERATORID>
<AMOUNT>1785</AMOUNT>
<TRACK1>B4242424242424242^^0808</TRACK1>
<POSID>0001</POSID>
<TRACK2>4242424242424242=0808</TRACK2>
<MANDATOR>1</MANDATOR>
<HOTELID>1000</HOTELID>
<CARDNO>4242424242424242</CARDNO>
<OPTYPE>PAYMENT</OPTYPE>
</SIHOT-Document>
Attributes Message
Attribute | Description | Data type | Usage |
---|---|---|---|
OC | Action Type: PAR = payment request |
String | Mandatory |
TN | Transaction Number within interface | Unsigned long | Mandatory |
OPTYPE | Possible values are: AUTHORISATION PAYMENT CANCELLATION EXTENDAUTHORISATION FREEAUTHORISATION |
String | Mandatory |
OPERATORID | ID of the Operator | String | |
AMOUNT | Amount in cents to be booked | Decimal | Mandatory |
TRACK1 | The complete data of the magnetic strip 1 | String | Optional |
TRACK2 | The complete data of the magnetic strip 2 | String | Optional |
TRACK3 | The complete data of the magnetic strip 3 | String | Optional |
OPERATIONTYPE | Possible values are: S = Stored A = Authenticated P = Payed C = Cancelled R = Reversal D = Deposit |
Char | Mandatory |
OPERATIONNO | Number (code) of this operation in the payment system. (external transaction number) | String | Optional |
INPUTTYPE | Possible values are: CARDREADER == “C” MANUALLY == “M” |
Char | Mandatory |
PINCODE | Credit card pin code | String | Optional |
AUTHNO | Authentication Number | String | Optional |
AUTHCENTER | Authorization place | String | Optional |
TERMINALID | The ID of the requesting terminal | String | Optional |
POSID | The ID of the requesting Point of Sale | String | Optional |
BIDPOS | Bank ID Point of Sale | String | Optional |
BIDSTORE | Merchant ID | String | Optional |
REFNO | Reference Number of external system | String | Optional |
ADDTEXT | Additional comment or information | String | Optional |
BANKCODE | Bank code (used only for EC cards) | String | Optional |
ACCOUNTNO | Account number (used only for EC cards) | Integer | Optional |
NRAUTHS | Number of previously taken authorizations | Short | Optional |
CVC | CVV/CVC code | Short | Optional |
CARDHOLDER | Name of the card holder | String | Optional |
CCHANDLE | Pseudo credit card number | String | Optional |
CCHANDLEVALIDUNTIL | Expire date of the pseudo card number | Date | Optional |
CARDTYPENUMERIC | Numeric SIHOT representation if the card type. Possible values are 1 = AmericanExpress 2 = Diners Club 3 = EuroCard 4 = Visa 5 = Discover 6 = JCB 7 = EnRoute 8 = EC Card 9 = Red6000 10 = VierB 11 = Other 12 = Jelmoli |
Short | Optional |
VALIDUNTIL | Expire date of the card (MMYY) | Date | Optional |
CARDNO* | Number of the credit card / EC card | String | Optional |
EXPIREDATE* | Expire date of the card (MMYY) | Date | Optional |
HOTELID | The external ID of the requesting Hotel | String | Optional |
HOTELCURRENCY | Currency of the hotel | String | Optional |
*only used if no Track data is given.
Response
The OCC for the Response Message is PAA
The outgoing answer looks like:
<?xml version="1.0" encoding="iso-8859-1"?>
<SIHOT-Document>
<SIHOT-Version>
<Version>9.0.0.0000</Version>
<EXE>D:\\sihot\\sinetres.exe</EXE>
</SIHOT-Version>
<OC>PAA</OC>
<TN>2</TN>
<RC>00</RC>
<MSG></MSG>
<CCRC></CCRC>
<CCMSG></CCMSG>
<OPERATIONNO></OPERATIONNO>
<AUTHNO>880236</AUTHNO>
<AUTHCENTER>EASYCASH DIRECT (EA)</AUTHCENTER>
<HOTELID>1</HOTELID>
<REFNO>0202</REFNO>
</SIHOT-Document>
Attributes Response
With this record, a request is answered (not all of these data need to be filled):
Attribute | Description | Data type |
---|---|---|
OC | Action Type: PAA = payment answer | String |
TN | Transaction Number within interface | Unsigned long |
RC | Return code | Short |
MSG | Information from ADDTEXT | String |
CCRC | Return code of external system | String |
CCMSG | Additional Text | String |
OPERATIONNO | Number (code) of this operation in the payment system. (external transaction number) | String |
AUTHNO | Authentication Number | String |
AUTHCENTER | Authenticating Server | String |
HOTELID | The external ID of the requesting Hotel | String |
REFNO | Reference Number of external system | String |
RC Codes
Code | Description |
---|---|
00 | Everything is all right. No special message is shown |
01 | Protocol of payment traffic "procID" reports a writing error to payment system (CCRC, CCMSG)! |
02 | Protocol of payment traffic "procID" reports a reading error to payment system (CCRC, CCMSG)! |
03 | Protocol of payment traffic "procID" received an invalid answer from the payment system (subCode, MSG)! |
04 | The protocol of payment traffic "procID" could not communicate the card number (CCRC, CCMSG)! |
05 | The protocol of payment traffic "procID" was unable to identify the card number (procID, CCRC, CCMSG)! |
06 | The payment system reported a transaction error (procID, CCRC, CCMSG) |
07 | The payment system "procID" could not register in the payment system (procID, CCRC, CCMSG)! |
08 | The protocol of payment traffic "procID" was unable to logon to payment system (procID, CCRC, CCMSG)! |
09 | The self-test of the payment system was negative (procID, CCRC, CCMSG)! |
10 | A timeout error has occurred during reading of protocol of payment traffic "procID". |
11 | Missing compulsory fields. |
AES crypted payments
By changing the OC
from PAR
to ``PAR_AES, you could transmit payments AES
crypted (analogous to
RESand
RES_AES). You need to set the AES crypted
data into a
CONTENT-Block and the answer will contain the
CONTENT-Block
with the AES crypted answer (operation code
PAA_AES``).