Converting unpaid bookings to paid

You can use Connect to convert an unpaid booking into a paid booking. This follows a similar process to completing a standard paid booking, however only a subset of payment options are available for converting unpaid bookings.

Converting to paid with external payment

In this scenario, payment for the booking is made externally to Vista by the client. Essentially, the client is marking the booking as paid in Vista. Payment details in this scenario are used purely for auditing purposes, unless payment details were provided when making the unpaid booking.

POST: /restbooking.svc/booking/unpaid/mark-paid

Request:

{
  "BookingNumber": 1987,
  "CinemaId": "0001",
  "CardNumber": "411111....1111",
  "PaymentCategory": "CREDIT",
  "AuthCode": "564DFG",
  "CardType": "VISA",  
  "AmountPaid": 1895,
  "BankTransNumber": "549347345411223"
}

Response:

{
  "ResultCode": 0,
  "ErrorDescription": null
}

Converting to paid with redirect payments (Web Payments Module)

In this scenario, payment for the booking will be processed using the Vista Web Payments Module via a customer redirected to the payment provider.

POST: /restbooking.svc/booking/unpaid/start-redirect-payment

Request:

{
  "BookingNumber": 1987,
  "CinemaId": "0001",
  "ReturnUrlAfterPaymentIsDone": "https://abccinemas.com/orders/45345345/payment-complete",
  "PaymentMethodInWebPaymentModule": "payment-master"
}

Response:

{
  "ResultCode": 0,
  "PaymentUrl": "https://wpm.abc-cinemas.com/VistaWebPay/Request.aspx?token=4c41cf8cda4a44709029077555762c63",
  "BookingDetailsToken": "c911ce75cac34868a7436af309d8fc12"
}

Confirming payment

You can use the GetUnpaidBookingDetails endpoint to confirm the status of the redirect payment and confirmation process.

GET: /restbooking.svc/booking/unpaid/c911ce75cac34868a7436af309d8fc12

This response indicates the redirect process is still in progress. Note the VistaTransactionNumber is still 0.

Response:

{
    "ResultCode": 0,
    "FinishRedirectPaymentResult": {
        "CinemaId": "0000000001",
        "BookingNumber": 4166,
        "VistaTransactionNumber": "0",
        "TotalCost": 1895,
        "CardType": "VistaWebPay",
        "CinemaStatus": "Unpaid",
        "BookingStatus": "InProgress",
        "ErrorCode": 0,
        "ErrorMessage": null
    }
}

Once the payment is complete, the booking should be paid and the transaction committed in Vista.

{
    "ResultCode": 0,
    "FinishRedirectPaymentResult": {
        "CinemaId": "0000000001",
        "BookingNumber": 4166,
        "VistaTransactionNumber": "4227",
        "TotalCost": 1895,
        "CardType": "VistaWebPay",
        "CinemaStatus": "Complete",
        "BookingStatus": "Complete",
        "ErrorCode": 0,
        "ErrorMessage": null
    }
}

Other Vista payment methods

Unpaid to paid functionality only supports External and WPM Redirect payments. The following payment methods are not supported:

  • Cinema connector payments
  • Gift card payments
  • Loyalty points payments
  • Token-based payments
  • Loyalty Card wallet