Transaction and Trace IDs

The Pay APIs support transaction and trace IDs:

  • Every response always returns a system-generated transaction ID unique to that response (transactionId).
  • In addition, you can send a custom trace ID value in the message request header for any transaction. If sent, that trace ID is returned in the response (traceId). 

These IDs can be used to assist in tracking and troubleshooting if you need Support Options.

Trace IDs in the Request

You can send any custom trace ID value of your choice to assist in tracking. To send a trace ID, send a value in the TraceId field of the message request header of any Pay API. For more about headers, see Common Pay Headers.

Do not change the trace ID value in subsequent transactions in the same flow, such as when requesting a subsequent page via pagination in Search or additional transactions in the same workbench session in AirReservation. For example, don't send a value of ABC in the header of the request to establish a workbench and then change that value to 123 when you add an offer.
Do not populate the E2ETrackingID header field in any request. This field retains the transaction ID returned in the response for subsequent responses.

IDs in the Response

The Pay APIs always return a transactionID object in the first top level object of the message response (object name varies by API). This system-generated ID is unique for every transaction. The transaction ID is also returned in the E2ETrackingID field in the response header.

If you sent a trace ID, a traceID object with that value is also returned at the top of the response. If you did not send a trace ID in the header, traceId is not returned.

The following example shows the transaction ID as returned by the Payment Card Authorization API:

{
    "PaymentCardAuthorizationResponse": {
        "@type": "PaymentCardAuthorizationResponse",
        "transactionId": "82f997d2-79bc-4145-af12-e85c241c2b8d:ppnd114",
 ...