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:
2.2 Restrictions
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. |