Visa Direct HTTP Request and Response Header Variables

This section documents the supported HTTP request and response headers for Visa Direct APIs. These headers are used for content negotiation, authentication, transaction processing, and troubleshooting. Clients should use only the headers documented here and should not rely on internal or undocumented headers.

Header Description Push Funds/Pull Funds/Pull Funds Reversal Transaction Payment Account Validation Payment Account Attributes Inquiry

Content-Type

Specifies the media type of the request payload. The value must match the format of the request body. The default is application/json; application/xml is also supported.

optional

required (V4)

Accept

Specifies the expected response format. If not provided, the default response format is application/xml; application/json is also supported.

optional

X-Transaction-Timeout-MS

This is an optional variable.

 

Elapsed time in milliseconds (ms) in which an API will respond back. If no value is specified then it defaults to 30000 ms (i.e. 30 seconds), which is the maximum value allowed. If the set value is greater than the maximum value then timeout will not occur. The API will respond with HTTP 202 ACCEPTED if the processing has not yet completed. If the processing completes within the designated timeout period, then the API will return HTTP 200 OK and the XML- or JSON-formatted response, based on the Content-Type value.

optional

optional

x_trans_duplication

A flag indicating that the request is a duplicate of an existing transaction. If set to true, Visa cross-checks its system to determine the latest status of the transaction. Used for duplicate handling and status reconciliation.

optional

x-client-transaction-id

A unique value for a transaction (unique at the level of the individual service invoker and can be recycled every 24 hours). This identifies the transaction uniquely and can help reference the results of the original transaction.

optional

x-service-context

Provides the authorization context required for BIN authorization. If not provided, the API returns a 400 validation error. Format: actor_id=<value>

optional

optional

optional

x-pay-token

Provides the X-Pay-Token used for request authentication

required (for APIs using X-Pay auth)

required (for APIs using X-Pay auth)

required (for APIs using X-Pay auth)

keyId

Identifies the key used to generate the X-Pay token or MLE encryption

required (for APIs using X-Pay auth)

required (for APIs using X-Pay auth)

required (for APIs using X-Pay auth)

 

2. Usage Guidelines

2.1 General Guidance

Clients should:

  • Use standard HTTP headers (Content-Type, Accept) for request and response handling
  • Use Visa-specific headers only for their intended purpose (e.g., timeout control, duplicate handling)
  • Provide a client transaction identifier where required for tracking and reconciliation

2.2 Restrictions

  • Clients must not introduce new custom headers
  • Clients must not rely on headers used for internal system processing
  • Only headers documented in this section are supported for client integrations

 

Header

Description

 X-Correlation-id

Returned in all API responses. Clients should capture and log this value for troubleshooting. Provide this value to Visa when requesting any transaction investigation.