Integrating with Paystack on your website

Integrating with Paystack on your website

Purpose

This article will outline what is needed to replace your existing Vault integration with a Paystack 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

You will no longer need to make any calls to the “getvaulturl” RCM API method or embed the returned URL in an iframe. 
Paystack offers multiple integration methods with the Popup and Redirect methods being the most common for web integrations. 
  1. The Popup integration method keeps the user on your site and opens the Paystack card entry form in a popup.
  2. The Redirect method generates a checkout URL that you redirect the user to, to complete the transaction.

Saving cards for rebilling

By default, Paystack tokenises the card for future charges during the first payment. If you only need to tokenise the card rather than process a payment at the time of booking, it's recommended that you take a small payment and immediately refund it. See Paystack's documentation on Recurring Charges here

RCM API Calls

You will need to pass the results from Paystack to RCM to record any payments and add any collected card details for use in RCM.
Please note that you may be required to call Paystack's Verify Transaction API endpoint to retrieve the full transaction data.

Payment

To save a Paystack payment, call the “confirmpayment” RCM API method and pass in the following Paystack 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
Please email support@rentalcarmanager.com to confirm what your supplierid is.
transactid
The Paystack customer ID and authorization code separated by a pipe symbol.

For example: "CUS_woiqpaa7hw2g7ky|AUTH_rm5go7krzj".
dpstxnref
The Paystack transaction ID. 

For example: "5064387422".
cardholder
The cardholder’s name.
paysource
Optional Payment Source. E.g. 'Payment from website'.
cardnumber
The last 4 digits of the card as returned by Paystack.
cardexpiry
The card expiry returned by Paystack 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/2026",
    "supplierid": 16, // Your system's supplier ID for Paystack
    "transactid": "CUS_woiqpaa7hw2g7ky|AUTH_rm5go7krzj", // Your transaction's customer ID and authorization code
    "dpstxnref": "5064387422", // Your transaction's ID
    "cardnumber": "9969",
    "cardexpiry": "01/26",
    "cardholder": "John Doe",
    "transtype": "Payment"
}

Refund

If you are only collecting the customer’s payment details for future usage, initiate a Paystack refund for the original payment and save the refund details by calling the RCM “confirmpayment” method with the following parameters:

ParameterValue
reservationrefBooking reference code returned from method booking.
amountRefund amount as a negative value. E.g. "-1". 
successIndicate if the refund was successful.
paytypePayment type, like Visa or Mastercard.
paydatePayment date.
supplieridPlease email support@rentalcarmanager.com to confirm what your supplierid is.
dpstxnref
The Paystack transaction ID. 

For example: "5064387422".
paysourceOptional Payment Source. E.g. 'Refund from website'.
transtypeThe transaction type, in this case “Refund”.
merchfeeidOptional Merchant Fee ID corresponding to a Merchant Fee ID setup within the system.
payscenarioPayment scenario when calling this method, possible values are: 1= at time of original booking (default), 2=convertquote, 3=prehire e.g. editbooking.

Example request body:
{
    "method": "confirmpayment",
    "reservationref": "43F355C1223",
    "amount": -1,
    "success": true,
    "paytype": "Credit Card",
    "paydate": "01/01/2026",
    "supplierid": 16, // Your system's supplier ID for Paystack
    "dpstxnref": "5064387422", // Your transaction's ID
    "transtype": "Refund"
}

    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 ...
      • Integrating with Windcave on your website

        Purpose This article explains how to integrate Windcave into your online booking module, allowing you to either take payment at the time of booking or merely register the customer’s card for future charges. We offer an integration method that doesn't ...
      • 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 ...
      • API V3.2 Booking Process

        Overview The RCM API and Agent API allow you to make unallocated bookings for a specified vehicle category, for a specified pickup and drop off date. An unallocated booking is a booking that has been made for a particular category (e.g. small car), ...
      • 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 ...