Airline & Travel Data

POST https://gateway-api.paycertify.com/api/transactions/auth
POST https://gateway-api.paycertify.com/api/transactions/sale

PayCertify Gateway™ has some built-in features for the Airline and Travel industries. Whenever submitting a transaction for those industries, you can pass additional information which will both populate on our Gateway’s user interface and also on the customer’s credit card statement, besides sending additional data to the processors which help on reconciliation, dispute, risk, fraud mitigation and chargeback representment processes. This data includes:

  • Passenger name and ticket details such as ticket number, issuing city, carrier and date;
  • Restricted ticket indicators (for tickets that cannot be refunded);
  • Leg information such as carrier code, service class, departure and destination airports and fares;

For each passenger you want to use the reporting capabilities, you should be submitting an object under the passenger_transport field. As for each leg, you should be submitting information under the passenger record, even if all passengers are doing the same itinerary.

Parameter Type Length Presence Description Example
amount[1] number 0.01-9999999 Required Total transaction amount 3.50
passenger_transport.*.ticket_number number 1-13 Required (for A&TD) The ticket number for this passenger AAL1234567890
passenger_transport.*.ticket_issuing_carrier_name[2] string 1-25 Required (for A&TD) The name of carrier that generated the tickets for airline travel American Airlines
passenger_transport.*.ticket_issuing_carrier_code[2] string 2 Required (for A&TD) The IATA code for the carrier that issued the ticket AA
passenger_transport.*.ticket_issuing_city[3] string 1-18 Required (for A&TD) The city where the ticket has been issued Los Gatos
passenger_transport.*.ticket_issuing_date[4] string 10 Required (for A&TD) The date the ticket was issued in Y-m-d format, with trailing zeros 2025-05-01
(May 1st 2025)
passenger_transport.*.passenger_name string 1-20 Required (for A&TD) Passenger’s name John Doe
passenger_transport.*.restricted_ticket_indicator boolean - Required (for A&TD) If the ticket can be refundable or not. Defaults to false false
passenger_transport.*.legs.*.carrier_code string 2 Required (for A&TD) The carrier’s IATA code for the leg AA
passenger_transport.*.legs.*.service_class string 1 Required (for A&TD) The service class for the leg F
passenger_transport.*.legs.*.departure_airport string 3 Required (for A&TD) The departure airport’s IATA code SFO
passenger_transport.*.legs.*.destination_airport string 3 Required (for A&TD) The destination airport’s IATA code LAX
passenger_transport.*.legs.*.departure_date string 10 Required (for A&TD) The departure date in Y-m-d format, with trailing zeros 2025-05-01
(May 1st 2025)
passenger_transport.*.legs.*.flight_number[4] string 4 Optional The flight number for the leg 1234
passenger_transport.*.legs.*.fare_basis string 1-15 Required The fare basis for the leg VLW4MQC1
passenger_transport.*.legs.*.fare[1] number 0.01-9999999 Required The total fare for the leg 1.50

[1] The amount provided should match the sum of passenger_transport.*.legs.*.fare records.
[2] Whenever the issuing carrier is not available, use the carrier that has the majority of legs on this trip.
[3] Whenever the issuing city is not available, use the merchant’s headquarters city.
[4] The dates should be supplied on the first leg departure airport timezone.

Parameter Type Length Description Example
transaction.id uuid 36 This transaction’s ID 41f00869-d7b3-413e-9476-9ef1a8bc2f28
transaction.merchant_id uuid 36 The user’s merchant ID 41f00869-d7b3-413e-9476-9ef1a8bc2f28
transaction.user_id uuid 36 The user’s ID 41f00869-d7b3-413e-9476-9ef1a8bc2f28
transaction.processor_id uuid 36 The processor’s ID 41f00869-d7b3-413e-9476-9ef1a8bc2f28
transaction.merchant_transaction_id string 1-255 The merchant assigned identifier my-order-id-0001
transaction.updated_at datetime - Last time this transaction was updated, on ISO 8601 UTC 2018-02-16T16:33:40+00:00
transaction.created_at datetime - Time that transaction was created, on ISO 8601 UTC 2018-02-16T16:33:40+00:00
transaction.events.*.id uuid 36 This event’s ID 41f00869-d7b3-413e-9476-9ef1a8bc2f28
transaction.events.*.success boolean - If the event was a successful event or not true
transaction.events.*.event_type string 4-10 The type of event being performed auth, capture, sale, void, refund
transaction.events.*.amount number 0.01-9999999 Total event amount 3.56
transaction.events.*.processor_code string 2-10 The processor response code 00
transaction.events.*.processor_message string 1-255 A human readable message from the processor APPROVAL V12341
transaction.events.*.processor_transaction_id string 1-255 A processor assigned identifier 00000000143242
transaction.events.*.updated_at datetime - Last time this event was updated, on ISO 8601 UTC 2018-02-16T16:33:40+00:00
transaction.events.*.created_at datetime - Time that event was created, on ISO 8601 UTC 2018-02-16T16:33:40+00:00

PS: All fields that are included on the authorization message are also echoed back.

curl --request POST \
  --url https://gateway-api.paycertify.com/api/transactions/auth \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --form 'amount=100' \
  --form 'card_number=4111111111111111' \
  --form 'card_expiry_month=01' \
  --form 'card_expiry_year=2021' \
  --form 'card_cvv=999' \
  --form 'merchant_transaction_id=W1F3D4' \
  --form 'passenger_transport[0][ticket_number]=AAL1231231231' \
  --form 'passenger_transport[0][ticket_issuing_carrier_name]=American Airlines' \
  --form 'passenger_transport[0][ticket_issuing_carrier_code]=AA' \
  --form 'passenger_transport[0][ticket_issuing_city]=Los Angeles' \
  --form 'passenger_transport[0][ticket_issuing_date]=2018-01-01' \
  --form 'passenger_transport[0][passenger_name]=Mary Doe' \
  --form 'passenger_transport[0][legs][0][carrier_code]=AA' \
  --form 'passenger_transport[0][legs][0][service_class]=F' \
  --form 'passenger_transport[0][legs][0][departure_airport]=LAX' \
  --form 'passenger_transport[0][legs][0][destination_airport]=SFO' \
  --form 'passenger_transport[0][legs][0][flight_number]=1234' \
  --form 'passenger_transport[0][legs][0][fare_basis]=Y' \
  --form 'passenger_transport[0][legs][0][fare]=10.00' \
  --form 'passenger_transport[0][legs][0][departure_date]=2018-01-30' \
  --form 'passenger_transport[0][legs][1][carrier_code]=DL' \
  --form 'passenger_transport[0][legs][1][service_class]=F' \
  --form 'passenger_transport[0][legs][1][departure_airport]=SFO' \
  --form 'passenger_transport[0][legs][1][destination_airport]=EWR' \
  --form 'passenger_transport[0][legs][1][flight_number]=2345' \
  --form 'passenger_transport[0][legs][1][fare_basis]=J' \
  --form 'passenger_transport[0][legs][1][fare]=20.00' \
  --form 'passenger_transport[0][legs][1][departure_date]=2018-01-30' \
  --form 'passenger_transport[1][ticket_number]=AAL1212123434' \
  --form 'passenger_transport[1][ticket_issuing_carrier_name]=American Airlines' \
  --form 'passenger_transport[1][ticket_issuing_carrier_code]=AA' \
  --form 'passenger_transport[1][ticket_issuing_city]=Los Angeles' \
  --form 'passenger_transport[1][ticket_issuing_date]=2018-01-06' \
  --form 'passenger_transport[1][passenger_name]=John Doe' \
  --form 'passenger_transport[1][legs][0][service_class]=F' \
  --form 'passenger_transport[1][legs][0][departure_airport]=LAX' \
  --form 'passenger_transport[1][legs][0][destination_airport]=SFO' \
  --form 'passenger_transport[1][legs][0][flight_number]=1234' \
  --form 'passenger_transport[1][legs][0][fare_basis]=Y' \
  --form 'passenger_transport[1][legs][0][fare]=30.00' \
  --form 'passenger_transport[1][legs][0][departure_date]=2018-01-30' \
  --form 'passenger_transport[1][legs][1][carrier_code]=DL' \
  --form 'passenger_transport[1][legs][1][service_class]=F' \
  --form 'passenger_transport[1][legs][1][departure_airport]=SFO' \
  --form 'passenger_transport[1][legs][1][destination_airport]=EWR' \
  --form 'passenger_transport[1][legs][1][flight_number]=2345' \
  --form 'passenger_transport[1][legs][1][fare_basis]=J' \
  --form 'passenger_transport[1][legs][0][carrier_code]=AA' \
  --form 'passenger_transport[1][legs][1][departure_date]=2018-01-30' \
  --form 'passenger_transport[1][legs][1][fare]=40.00'

Responds with:

{
  "transaction": {
    "id": "14d5c6ac-856c-47aa-b39e-e44b815ff3a6",
    "merchant_id": "455a1c64-385b-41b2-a56f-34bf6c5c5335",
    "user_id": "6e064bf5-0e18-466b-811b-f967e8d73b9f",
    "processor_id": "1f7e5551-bddb-4c72-ab33-818a1860e69a",
    "merchant_transaction_id": "W1F3D4",
    "card_number": "401200******5439",
    "card_brand": "visa",
    "card_expiry_month": "01",
    "card_expiry_year": "2021",
    "updated_at": "2018-02-19T02:22:14+00:00",
    "created_at": "2018-02-19T02:22:12+00:00",
    "events": [
        {
            "id": "ddff299c-c6d4-4917-864c-bea03a52eb1a",
            "success": true,
            "threeds_response": null,
            "avs_response": "exact_match",
            "event_type": "auth",
            "amount": "100.00",
            "ip_address": "127.0.0.1",
            "processor_code": "00",
            "processor_message": "EXACT MATCH     ",
            "processor_transaction_id": "000000000297324",
            "processor_threeds_response": null,
            "processor_avs_response": "Y",
            "updated_at": "2018-02-19T02:22:14+00:00",
            "created_at": "2018-02-19T02:22:12+00:00"
        }
    ],
    "passengers": [
        {
            "id": "88e057c7-3d95-428f-b7c2-183b46aab443",
            "passenger_name": "Mary Doe",
            "ticket_number": "AAL1231231231",
            "ticket_issuing_carrier_name": "American Airlines",
            "ticket_issuing_carrier_code": "AA",
            "ticket_issuing_city": "Los Angeles",
            "ticket_issuing_date": "2018-01-01",
            "restricted_ticket_indicator": false,
            "legs": [
                {
                    "carrier_code": "AA",
                    "service_class": "F",
                    "departure_airport": "LAX",
                    "destination_airport": "SFO",
                    "departure_date": "2018-01-30",
                    "flight_number": "1234",
                    "fare_basis": "Y",
                    "fare": "10.00"
                },
                {
                    "carrier_code": "DL",
                    "service_class": "F",
                    "departure_airport": "SFO",
                    "destination_airport": "EWR",
                    "departure_date": "2018-01-30",
                    "flight_number": "2345",
                    "fare_basis": "J",
                    "fare": "20.00"
                }
            ]
        },
        {
            "id": "35563a54-3c9f-4872-9735-4b6b1f99573f",
            "passenger_name": "John Doe",
            "ticket_number": "AAL1212123434",
            "ticket_issuing_carrier_name": "American Airlines",
            "ticket_issuing_carrier_code": "AA",
            "ticket_issuing_city": "Los Angeles",
            "ticket_issuing_date": "2018-01-06",
            "restricted_ticket_indicator": false,
            "legs": [
                {
                    "carrier_code": "AA",
                    "service_class": "F",
                    "departure_airport": "LAX",
                    "destination_airport": "SFO",
                    "departure_date": "2018-01-30",
                    "flight_number": "1234",
                    "fare_basis": "Y",
                    "fare": "30.00"
                },
                {
                    "carrier_code": "DL",
                    "service_class": "F",
                    "departure_airport": "SFO",
                    "destination_airport": "EWR",
                    "departure_date": "2018-01-30",
                    "flight_number": "2345",
                    "fare_basis": "J",
                    "fare": "40.00"
                }
            ]
        }
    ]
  }
}

Capture, void and refunds for Airline & Travel Data

POST https://gateway-api.paycertify.com/api/transactions/{transaction_id}/capture
POST https://gateway-api.paycertify.com/api/transactions/{transaction_id}/void
POST https://gateway-api.paycertify.com/api/transactions/{transaction_id}/refund

For Airline & Travel, whenever running a capture, void or refund event, you need to reference which passenger you are authorizing / voiding / refunding. In order to do that, whenever running an auth you need to store the passenger IDs sent back on the auth or sale event. You can run any of these events for multiple passenger at a time, as long as you reference the proper amounts / passenger_id pairs.

Parameter Type Length Presence Description Example
amount number 0.01-9999999 Required Total transaction amount 3.50
passenger_transport.*.passenger_id uuid 36 Required (for A&TD) The Passenger ID 88e057c7-3d95-428f-b7c2-183b46aab443
passenger_transport.*.amount[1] uuid 36 Required (for A&TD) The event amount associated to this passenger 3.50

[1] The amount provided should match the sum of passenger_transport.*.amount records.

Parameter Type Length Description Example
id uuid 36 This transaction’s ID 41f00869-d7b3-413e-9476-9ef1a8bc2f28
merchant_id uuid 36 The user’s merchant ID 41f00869-d7b3-413e-9476-9ef1a8bc2f28
user_id uuid 36 The user’s ID 41f00869-d7b3-413e-9476-9ef1a8bc2f28
processor_id uuid 36 The processor’s ID 41f00869-d7b3-413e-9476-9ef1a8bc2f28
merchant_transaction_id string 1-255 The merchant assigned identifier my-order-id-0001
updated_at datetime - Last time this transaction was updated, on ISO 8601 UTC 2018-02-16T16:33:40+00:00
created_at datetime - Time that transaction was created, on ISO 8601 UTC 2018-02-16T16:33:40+00:00
events.*.id uuid 36 This event’s ID 41f00869-d7b3-413e-9476-9ef1a8bc2f28
events.*.success boolean - If the event was a successful event or not true
events.*.event_type string 4-10 The type of event being performed auth, capture, sale, void, refund
events.*.amount number 0.01-9999999 Total event amount 3.56
events.*.processor_code string 2-10 The processor response code 00
events.*.processor_message string 1-255 A human readable message from the processor APPROVAL V12341
events.*.processor_transaction_id string 1-255 A processor assigned identifier 00000000143242
events.*.updated_at datetime - Last time this event was updated, on ISO 8601 UTC 2018-02-16T16:33:40+00:00
events.*.created_at datetime - Time that event was created, on ISO 8601 UTC 2018-02-16T16:33:40+00:00
curl --request POST \
  --url https://gateway-api.paycertify.com/api/transactions/28c7cfcf-fa2a-49c6-8860-98515407b3c5/refund \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Cache-Control: no-cache' \
  --form 'amount=3' \
  --form 'passenger_transport[1][passenger_id]=9dfe59a6-2173-4778-9fbd-4ce2e8b6d9e3' \
  --form 'passenger_transport[1][amount]=0.50'

Responds with:

{
    "id": "3410596f-d596-42d4-9811-41d43868e984",
    "merchant_id": "455a1c64-385b-41b2-a56f-34bf6c5c5335",
    "user_id": "6e064bf5-0e18-466b-811b-f967e8d73b9f",
    "processor_id": "30ff7682-6ec7-48f3-8d7a-62319a9c3c59",
    "merchant_transaction_id": "my-order-id-0001",
    "card_number": "411111******1111",
    "card_brand": "visa",
    "card_expiry_month": "01",
    "card_expiry_year": "2021",
    "first_name": "John",
    "last_name": "Doe",
    "street_address_1": "59 N Santa Cruz Avenue",
    "street_address_2": "Suite M",
    "city": "Los Gatos",
    "state": "CA",
    "country": "US",
    "zip": "95030",
    "email": "[email protected]",
    "mobile_phone": "+11231231234",
    "updated_at": "2018-02-16T16:33:40+00:00",
    "created_at": "2018-02-16T16:33:39+00:00",
    "events": [
      {
            "id": "84a8ab86-ee0e-47d4-8686-4e42fa58355e",
            "success": true,
            "threeds_response": null,
            "avs_response": null,
            "event_type": "void",
            "amount": "0.50",
            "ip_address": "127.0.0.1",
            "processor_code": "00",
            "processor_message": "APPROVAL TAS123 ",
            "processor_transaction_id": "000000000252618",
            "processor_threeds_response": null,
            "processor_avs_response": "0",
            "updated_at": "2018-02-16T16:35:40+00:00",
            "created_at": "2018-02-16T16:35:39+00:00"
        },
        {
            "id": "84a8ab86-ee0e-47d4-8686-4e42fa58355e",
            "success": true,
            "threeds_response": null,
            "avs_response": null,
            "event_type": "auth",
            "amount": "1.00",
            "ip_address": "127.0.0.1",
            "processor_code": "00",
            "processor_message": "APPROVAL TAS656 ",
            "processor_transaction_id": "000000000252616",
            "processor_threeds_response": null,
            "processor_avs_response": "0",
            "updated_at": "2018-02-16T16:33:40+00:00",
            "created_at": "2018-02-16T16:33:39+00:00"
        }
    ],
    "passengers": [
        {
            "id": "88e057c7-3d95-428f-b7c2-183b46aab443",
            "passenger_name": "Mary Doe",
            "ticket_number": "AAL1231231231",
            "ticket_issuing_carrier_name": "American Airlines",
            "ticket_issuing_carrier_code": "AA",
            "ticket_issuing_city": "Los Angeles",
            "ticket_issuing_date": "2018-01-01",
            "restricted_ticket_indicator": false,
            "legs": [
                {
                    "carrier_code": "AA",
                    "service_class": "F",
                    "departure_airport": "LAX",
                    "destination_airport": "SFO",
                    "departure_date": "2018-01-30",
                    "flight_number": "1234",
                    "fare_basis": "Y",
                    "fare": "10.00"
                },
                {
                    "carrier_code": "DL",
                    "service_class": "F",
                    "departure_airport": "SFO",
                    "destination_airport": "EWR",
                    "departure_date": "2018-01-30",
                    "flight_number": "2345",
                    "fare_basis": "J",
                    "fare": "20.00"
                }
            ]
        },
        {
            "id": "35563a54-3c9f-4872-9735-4b6b1f99573f",
            "passenger_name": "John Doe",
            "ticket_number": "AAL1212123434",
            "ticket_issuing_carrier_name": "American Airlines",
            "ticket_issuing_carrier_code": "AA",
            "ticket_issuing_city": "Los Angeles",
            "ticket_issuing_date": "2018-01-06",
            "restricted_ticket_indicator": false,
            "legs": [
                {
                    "carrier_code": "AA",
                    "service_class": "F",
                    "departure_airport": "LAX",
                    "destination_airport": "SFO",
                    "departure_date": "2018-01-30",
                    "flight_number": "1234",
                    "fare_basis": "Y",
                    "fare": "30.00"
                },
                {
                    "carrier_code": "DL",
                    "service_class": "F",
                    "departure_airport": "SFO",
                    "destination_airport": "EWR",
                    "departure_date": "2018-01-30",
                    "flight_number": "2345",
                    "fare_basis": "J",
                    "fare": "40.00"
                }
            ]
        }
    ]
}