Paynow Developer Hub
  • DOCUMENTATION
  • ABOUT
  • HELP
  • FORUMS
  • SIGN UP / SIGN IN

›API Reference

Getting Started

  • Getting started
  • Generating Integration Keys
  • Test Mode
  • Artwork and Buttons
  • PHP
  • .NET
  • Node.JS
  • Python
  • Java
  • WooCommerce
  • Gravity Forms
  • Easy Digital Downloads
  • Shopify
  • Camptix
  • Magento
  • Spring Boot

Links & Buttons

  • Simple Payment Request Button
  • Advanced Payment Request Button
  • Notification, Success & Cancel URLs
  • URL Safe Base 64 Encoding

API Reference

  • System Layout
  • Initiate a transaction
  • Express Checkout Transactions
  • Complete a Transaction
  • Status Update
  • Polling for a Status Update
  • Generating Hash
  • Validating Hash
  • Initiate a Passenger Ticket Transaction

Library Source Docs

  • PHP
  • .NET
  • Node.JS
  • Java

Initiate a Passenger Ticket Transaction

A merchant site that wants its customers to make payment for air tickets using Paynow can integrate using the initiatetickettransaction API.

When the customer is ready to make payment, the merchant site must perform an Initiate Transaction request. This request is in the form of an HTTP POST to the URL:

https://www.paynow.co.zw/interface/initiatetickettransaction

The HTTP POST should include the following fields:

FieldData TypeDescription
idIntegerIntegration ID shown to the merchant in the “3rd Party Site or Link Profile” area of “Receive Payment Links” section of “Sell or Receive” on Paynow.
referenceStringThe transaction’s reference on the merchant site, this should be unique to the transaction.
amountDecimalFinal amount of the transaction, in USD to two decimal places (do not include a currency symbol).
primaryticketnumberStringTicket/reservation number
passengerfirstnameString-
passengerlastnameString-
passengeridStringID of the passenger to whom the ticket was issued. For example, you can use this field for the frequent flyer number
passengerstatusStringYour company's passenger classification, such as with a frequent flyer program. In this case, you might use values such as standard, gold, or platinum
passengertypeStringpassenger classification associated with the price of the ticket. You can use one of the Passenger Type values
firstdeparturelocationcodeStringcode for departure airport location, eg. JNB for Johannesburg
firstarrivallocationcodeStringcode for arrival airport location, eg. JNB for Johannesburg
pnrnumberStringThe unique identifier to point to the PNR (Passenger Name Record) record in the database of a computer reservation system
officeiatanumberString-
ordernumberString-
placeofissueStringThe ticket office location
departuredateNumericyyyymmdd (of the initial leg of the trip)
departuretimeStringDeparture time of the initial leg of the trip. HH:mm "GMT"zzz e.g. 19:55 GMT+02:00
arrivaldateNumericyyyymmdd (of the final leg of the trip)
arrivaltimeStringDeparture time of the final leg of the trip. HH:mm "GMT"zzz e.g. 23:10 GMT+02:00
journeytypeStringType of travel: one way, round trip
completerouteStringConcatenation of individual travel legs in the format ORIG1-DEST1[:ORIG2-DEST2...:ORIGn-DESTn] e.g. CPT-JNB:JNB-NBO
additionalinfoString(optional) Additional info to be displayed on Paynow to the Customer. This should not include any confidential information.
returnurlStringThe URL on the merchant website the customer will be returned to after the transaction has been processed. It is recommended this URL contains enough information for the merchant site to identify the transaction.
resulturlStringThe URL on the merchant website Paynow will post transaction results to. It is recommended this URL contains enough information for the merchant site to identify the transaction.
authemailString(optional) If the field is present and set to an email address Paynow will attempt to auto login the customers email address as an anonymous user. If the email address has a registered account the user will be prompted to login to that account.
statusStringShould be set to “Message” at this stage of the transaction.
hashStringShould conform to hash generation

Passenger Types

The following are values that can be used for the passengertype field:

Passenger TypeDetails
ADTAdult
CNNChild
INFInfant
YTHYouth
STUStudent
SCRSenior Citizen
MILMilitary

Status update

Please refer to the status update section

← Validating HashPHP →
  • Status update
Documentation
Getting StartedAPI ReferenceFrequently Asked QuestionsArtwork & Buttons
Libraries & Plugins
PHP.NETNode.JSPythonJava
Plugins
WooCommerceGravity FormsEasy Digital DownloadsShopify
Community
Discussion ForumsBlogs & TutorialsGithubFacebookTwitter
Paynow Zimbabwe
Copyright © 2025 Paynow Zimbabwe