Integrating with VostroPay on your website
Purpose
This article will outline what is needed to replace your
existing Vault integration with a VostroPay (Till Payments) integration. You will have the choice
of either taking a payment at the time of booking or saving card details to be
charged in the future (like your existing Vault implementation).
Website Changes
We recommend reviewing Till Payment's
Gateway Documentation as a starting point. This will familiarise you with the high level concepts of the Till Payments API and prepare you for the technical integration. For API specifics, please see Till's
API Reference V3 documentation.
Till Payments Integration Options
We recommend using Till’s Javascript Integration which will
let you embed a card entry form in your website and give you the most control
over payments/collecting card details. You also have the options of Full-Page Redirect and Hosted Payment Form integrations which may be simpler to implement but won't provide as seamless of a customer experience as the Javascript integration.
-
Javascript integration - The most seamless experience for customers and the most flexible integration method in terms of styling/design.
- Hosted Payment Form - The card form is embedded in an iframe and hosted by Till, keeps users in your checkout but less flexible styling options.
- Full-Page Redirect - Redirects the customer from your checkout to a Till hosted page to collect card details. The user is then redirected back to your site after the transaction is complete.
Saving Cards for Future Charges
3D Secure
RCM API Calls
You will need to pass the results from Till to RCM to
record any payments and add any collected card details for use in RCM.
Payment
To save a Till payment call the “confirmpayment” RCM API
method and pass in the following Till details:
Parameter | Value |
reservationref | Booking reference code returned from method booking. |
amount | Payment amount. |
success | Indicate if payment was successful. |
paytype | Payment type, like Visa or Mastercard. |
paydate | Payment date. |
supplierid | |
transactid | The Till transaction UUID (e.g., “abcde12345abcde12345”). |
dpstxnref | The Till transaction UUID (e.g., “abcde12345abcde12345”). |
cardholder | The cardholder’s name. |
paysource | Optional Payment Source eq. 'Payment from Web API3.x'. |
cardnumber | The last 4 digits of the card as returned by Till. |
cardexpiry | The card expiry returned by Till in the format of “MM/YY”. |
transtype | The transaction type, in this case “Payment”. |
merchfeeid | Optional Merchant Fee ID corresponding to a Merchant Fee ID setup within the system. |
payscenario | Payment scenario when calling this method, possible values are: 1= at time of original booking (default), 2=convertquote, 3=prehire e.g. editbooking. |
emailoption | Email option, 0=never send email, 1=default behaviour, 2=always send email. |
Example request body:
{
"method": "confirmpayment",
"reservationref": "43F355C1223",
"amount": 500,
"success": true,
"paytype": "Credit Card",
"paydate": "01/01/2022",
"supplierid": 0,
"transactid": "abcde12345abcde12345",
"dpstxnref": "abcde12345abcde12345",
"cardnumber": "9969",
"cardexpiry": "01/25",
"cardholder": "John Doe",
"transtype": "Payment"
}
Payment Method Only (No Payment)
If you are only collecting the customer’s payment details for future usage, call the
“rebillingtoken” method with the following parameters:
Parameter | Value |
reservationref | Booking reference code returned from method booking |
paytype | Payment type, like visa or mastercard |
supplierid | |
paysource | Optional Payment Source eq. 'Payment from Web API3.x' |
rebillingtoken | The Till transaction UUID (e.g., “abcde12345abcde12345”). |
cardnumber | The last 4 digits of the card as returned by Till. |
cardexpiry | The card expiry returned by Till in the format of “MM/YY”. |
cardholder | The cardholder’s name. |
Example request body:
{
"method": "rebillingtoken",
"reservationref": "43F355C1223",
"paytype": "Credit Card",
"supplierid": 0,
"paysource": "Website",
"rebillingtoken": "abcde12345abcde12345",
"cardnumber": "9969",
"cardexpiry": "01/25",
"cardholder": "John Doe"
}
Important Articles
Related Articles
Integrating with Stripe on your website
Purpose This article will outline what is needed to replace your existing Vault integration with a Stripe integration. You will have the choice of either taking a payment at the time of booking or saving card details to be charged in the future (like ...
Getting Started with API V3.2
Overview Rental Car Manager (RCM) provides a Web API through which you are able to use to build a set of booking steps which you can plug into your website. This API also allows for Agents to have access and search for availability of vehicles and to ...
Package Deals Process
Overview Rental Car Manager (RCM) allows for the setup of Packages which can be used as the basis to create a new booking. You are able to use the Web API to obtain information about available packages and also make a booking based on a package deal. ...
Relocation Specials Process
Overview The Relocation Specials function allows Rental Car Companies to setup relocation special deals within Rental Car Manager (RCM) and have them available for booking on their websites. The Web API can be used to both obtain a listing of ...
Weekly and Monthly Rates Process
Overview As well as Daily Rates, Rental Car Manager (RCM) allows for the set up of Weekly and Monthly Rates which can be used as the basis to create a new booking. You are able to use the Web API to obtain information about these available these ...