This function allows you to create a payment, with or without credit card processing, and generate a receipt or an invoice for the payment.
You can test the response of this function by passing the SimulatorCode element with the desired status response listed below.
HTTP Request Method = POST.
https://sandbox.minihotel.cloud/agents/ws/sci/sciMain.asmx/sendPayment
https://api2.minihotel.cloud/agents/ws/sci/sciMain.asmx/sendPayment
Request
| Parameter | Description | Type |
|---|---|---|
| Amount | Total amount (decimal positive/negative value), and a decimal point. e.g. 100.00 | Double |
| Currency | Currency Code | String |
| Description | Description. e.g. 'Kiosk Payment' | String |
| VAT | This is an optional parameter. Using this parameter you can determine whether the invoice/receipt should calculate the VAT amount or not. Values: ‘Yes’ or ‘No’ Default: No | String |
| PaymentType | Payment Type: 1 - Cash 2 - Credit Card 3 - Reservation Token Supported payment providers: Pelecard. The list is updated periodically as new providers become available. | Integer |
| ReservationNumber | Mini Hotel Reservation No. (9 characters length) | String |
| SelectedFolio | Selected folio makes a reference to a specific folio in the reservation. e.g. Main reservation folio: 01-1 Group member Folios: 02-001 → Member with Serial ID 001 02-002 → Member with Serial ID 002 | String |
| CreditCardInfo | Credit card info container only for PaymentType = 2 (Credit Card) | Object |
| #CreditCard | Credit Card serial (Data from Card swipe) or Credit Card Number | String |
| #ExpirationDate | Credit Card expiration date (optional). Format: MMyyyy | String |
| #CVV | Credit Card CVV or CVC (Optional) | String |
| #CardType | Card transaction type: C - Credit D - Debit | String |
| #Total | Total amount (decimal positive value) | Double |
| #HotelNumber | Hotel Number | String |
| #NumberOfPayments | Number of payments | Integer |
| OperationType | Type of operation: 1 - Charge card 2 - Check card 3 - Refund | Integer |
| #ShopNumber | Machine number (physical terminal) | Integer |
| #SimulatorCode | Use this element in case you wish to create a payment and receipt/invoice, without actually charging a card. In case you don’t use this element, then a card charge may be attempted. Using the element is also useful in case the swiping/charging is made aside, i.e. not via Minihotel. | String |
Request Example
Using Operation Type Number 1 - Charge Card
<Request>
<Payment language="ENG">
<Hotel id="sandbox" />
<Authentication username="Test" password="3657488" />
<Amount>850</Amount>
<Currency>USD</Currency>
<Description>Kiosk Payment</Description>
<VAT>Yes</VAT>
<PaymentType>2</PaymentType>
<ReservationNumber>070017975</ReservationNumber>
<SelectedFolio>01-1</SelectedFolio>
<CreditCardInfo>
<CreditCard>37551111***4444"=201220117117116612200</CreditCard>
<CardType>C</CardType>
<HotelNumber>9</HotelNumber>
<NumberOfPayments>12</NumberOfPayments>
<OperationType>2</OperationType>
<ShopNumber>1</ShopNumber>
<SimulatorCode>0</SimulatorCode>
</CreditCardInfo>
</Payment>
</Request>
Response
| Parameter | Description | Type |
|---|---|---|
| Invoice | Main element | XElement |
| GuestName | Guest name | String |
| Date | Created Date. Format: yyyymmdd | String |
| Hour | Created Hour | String |
| ReservationNumber | Reservation Number | String |
| ArrivalDate | Arrival Date | String |
| DepartureDate | Departure Date | String |
| Details | Payment Details Container | Object |
| InvoiceNumber | Invoice Number | String |
| ReceiptNumber | ReceiptNumber (This node appears only if hotel settings accept receipts) | String |
| Payment | Element | |
| #attr type | Payment type attribute. Possible Values: CreditCard or Cash | String |
| #Currency | Currency, only for PaymentType = 1 (Cash) | String |
| #TotalAmount | Total, only for PaymentType = 1 (Cash) | Double |
| #CreditCardType | Credit Card Type (1 = Credit), only for PaymentType = 2 (Credit Card) | Integer |
| #CreditCardNumber | Credit Card Number | String |
| #ExpireDate | Expire Date | String |
| TotalNet | Net Amount | Double |
| VatAmount | Vat Amount | Double |
| TotalGross | Gross Amount | Double |
Response Examples
Payment Type = Cash
<Response>
<ServerInfo>
<Name>SANDBOX1</Name>
<ResponseTime>9372 ms</ResponseTime>
<DateTime>9/15/2018 11:19:52 AM</DateTime>
</ServerInfo>
<Invoice>
<GuestName>Jon Doe</GuestName>
<Date>20180915</Date>
<Hour>11:19</Hour>
<ReservationNumber>070017975</ReservationNumber>
<ArrivalDate>15/09/2018</ArrivalDate>
<DepartureDate>16/09/2018</DepartureDate>
<Details>
<InvoiceNumber>000000001</InvoiceNumber>
<Payment type='Cash'>
<Currency>USD</Currency>
<TotalAmount>850</TotalAmount>
</Payment>
<TotalNet>3043</TotalNet>
<VatAmount>0</VatAmount>
<TotalGross>3043</TotalGross>
</Details>
</Invoice>
</Response>
Payment Type = Credit Card
<Response>
<ServerInfo>
<Name>SANDBOX1</Name>
<ResponseTime>62472 ms</ResponseTime>
<DateTime>9/15/2018 11:09:55 AM</DateTime>
</ServerInfo>
<Invoice>
<GuestName>Mickey Mouse</GuestName>
<Date>20180915</Date>
<Hour>11:09</Hour>
<ReservationNumber>070017975</ReservationNumber>
<ArrivalDate>15/09/2018</ArrivalDate>
<DepartureDate>16/09/2018</DepartureDate>
<Details>
<InvoiceNumber>00000001</InvoiceNumber>
<Payment type='CreditCard'>
<CreditCardType>1</CreditCardType>
<CreditCardNumber>************2200</CreditCardNumber>
<ExpireDate>0129</ExpireDate>
</Payment>
<TotalNet>3043</TotalNet>
<VatAmount>0</VatAmount>
<TotalGross>3043</TotalGross>
</Details>
</Invoice>
</Response>
Error Codes
INV0001: Invalid Currency (Check Mini Hotel Local Currency Setting, ex. ILS)
INV0003: Invalid Payment Type
INV0004: There is no existant linkage for the selected Currency
INV0005: There is no updated rate for the selected Currency
Z01: Invalid Credit/Debit Card serial
Z02: Invalid Card Type
Z03: Invalid Operation Type
Z04: Invalid Reservation Number
Z05: Empty or Invalid Total
Z06: Negative Total
Z07: No Hotel Number
Z08: No Currency
Z09: Invalid Number of Payments Format
Z30: Invalid Agent Credentials
Z31: Invalid Hotel Code
Z32: You do not have permission to work with selected hotel
Z33: Your IP Address is not allowed
Z34: Invalid XML Request
Z35: Invalid CCV
Z36: Invalid Expiration Date
Z37: Credit Card has expired
Z99: Simulator - Invalid status code
For Partners working vs. "Pelecard" gateway:
003: Call the credit card company
004: Refusal
006: Call the credit card company
009: No connection with credit card company
010: Process Stopped by operator or Com Port Error
011: No Approval From The Clearing Company For This ISO Currency
033: Wrong card number
036: Credit Card Expired
039: Wrong card number
061: The card does not exists or duplicate number
155: Sum of transaction too small for credit type
160: Maximal amount is zero
999: See Pelecard logs for more information
