{ "openapi": "3.0.1", "info": { "title": "Visa Direct", "description": "", "version": "1" }, "servers": [ { "url": "https://sandbox.api.visa.com", "description": "Sandbox server" } ], "security": [], "tags": [ { "name": "Adjustment API", "description": "The AdjustReverseFundsTransactions resource credits (pushes back) funds to the sender's Visa account by initiating a financial message called an Account Funding Transaction Reversal (AFTR) without the 24 hours limitation in the AFTR." }, { "name": "Cancel OCT API", "description": "The Cancel API request can be used to stop a pending deferred OCT request from being sent to the recipient issuer for payment. This value is sent to cancel the original deferred OCT request that was submitted with request type as 02. The original deferred OCT request can only be canceled until it is processed which is approximately 48 hours from when it was submitted to Visa." }, { "name": "Deferred OCT Advice API", "description": "Visa will implement the deferred Push Fund transaction confirmation advice message that will be used to confirm when a deferred Push Fund transaction request has been processed. Originators will receive deferred Push Fund transaction confirmation advices when the recipient issuer of a deferred Push Fund transaction request has responded." }, { "name": "Funds Transfer API", "description": "The Funds Transfer API can pull funds from the sender's Visa account (in preparation for pushing funds to a recipient's account) in an Account Funding Transaction (AFT). Additionally, the Funds Transfer API also provides functionality to push funds to the recipient's Visa account in an Original Credit Transaction (OCT). If a transaction is declined, the Funds Transfer API can also return the funds to the sender's funding source in an Account Funding Transaction Reversal (AFTR). The API has been enhanced to allow originators to send their PushFundsTransactions(OCTs) and PullFundsTransactions(AFTs) to Visa for routing to multiple U.S. debit networks." }, { "name": "Issuer Receive API", "description": "The Issuer Receive API provide a receive side client the option to request delivery of their OCTs via API. This API assist issuers that don’t have SMS connection to establish similar connection via API, and allow a streamlined approach for FAST Funds integration." }, { "name": "Mobile Push Payment Refund API", "description": "Mobile Push Payment is a simple, secure and fast way to pay and be paid using mobile phones. Mobile Push Payment enables a range of payment use cases and is technology agnostic-leveraging evolving POS environment such as QR codes and works on both smart or feature phones." }, { "name": "Query API", "description": "The Transaction Query API can be used to determine the processing status of a transaction or to retreive the lifecycle of a transaction. This API can be used to check whether a PullFunds, PushFunds or ReverseFunds transaction processed successfully if received by Visa. This API could also be used to retrieve the detailed lifecycle or history of a transaction (e.g. original transaction, chargeback, chargeback reversal etc). " }, { "name": "Receive Side Callback API", "description": "To facilitate the implementation of mVisa, Visa provides mVisa Receive Side API specifications to clients who implement a set of outbound RESTful APIs (Receive Side APIs) so that Visa can call these APIs to request clients to process the transactions over the Internet." }, { "name": "Reports API", "description": "The Reports API provides reporting capabilities such as transaction reconciliation data API. The data needed for reconciliation includes both push(OCT) and pull(AFT) transaction details and any exceptions such as chargebacks & reversals. This data allows you to reconcile the transactions sent by your systems with what was processed through VisaNet." }, { "name": "Visa Alias Directory API ", "description": "Visa Alias Directory Service provides services to map and resolve an identifier; referred to as an “Alias” such as mobile phone number or email address to a card Primary Account Number (PAN). The purpose of using an Alias for payment is that it is intuitive, easy to share, and avoids exposing sensitive information such as the PAN of the payee when initiating a payment.

\nA Visa client can use Visa Alias Directory Service to allow consumers to initiate push payments using an Alias. A Visa client can provide Visa Alias Directory Service with an Alias and receive the PAN mapped to that Alias. This PAN can then be used in a push payment." }, { "name": "mVisa API", "description": "The mVisa is a simple, secure and fast way to pay and be paid using mobile phones. mVisa enables a range of payment use cases and is technology agnostic-leveraging evolving POS environment such as QR codes and works on both smart or feature phones." } ], "paths": { "/visaaliasdirectory/v1/managereport/{reportid}/{pageid}": { "get": { "tags": [ "Visa Alias Directory API " ], "summary": "Get Report", "description": "Get Report data.

To retrieve report from the Alias Directory based on report ID and page ID.", "operationId": "Get Report", "parameters": [ { "name": "reportid", "in": "path", "description": "This attribute is uniquely generated by Visa Alias directory to identify the report generation request. This is used to retrieve the alias report together with the page ID.
The format is {BID}-{TYPE}-{NUMERIC STRING}, where BID is the Business Identifier of the client used by Visa, TYPE can be 'CONSUMER', 'MERCHANT' or 'AGENT' alias report. ", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } }, { "name": "pageid", "in": "path", "description": "Numeric only. This attribute is used to specify the page number of the report.", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "GetReport API Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetReportResponse" }, "examples": { "Default": { "summary": "Default", "value": [ { "_links": { "next": "", "last": "", "self": "", "first": "" }, "content": [ { "statusChangeDateTime": "2018-11-19 08:56:40", "guid": "161f411aii2ffdd4237721324413653333265329831222a4d3270", "status": "ACTIVE" }, { "statusChangeDateTime": "2018-12-07 02:43:42", "guid": "161f411aii2rrdd4288721324413659933265329831222a4d3270", "status": "ACTIVE" }, { "statusChangeDateTime": "2018-12-07 02:43:42", "guid": "161f411e3i2rrdd4237721324413659933265329831222a4d3270", "status": "ACTIVE" } ] } ] } } }, "Get Report Success Response": { "example": [ { "_links": { "last": "", "next": "", "self": "", "first": "" }, "content": [ { "guid": "161f411aii2ffdd4237721324413653333265329831222a4d3270", "status": "ACTIVE", "statusChangeDateTime": "2018-11-19 08:56:40" }, { "guid": "161f411aii2rrdd4288721324413659933265329831222a4d3270", "status": "ACTIVE", "statusChangeDateTime": "2018-12-07 02:43:42" }, { "guid": "161f411e3i2rrdd4237721324413659933265329831222a4d3270", "status": "ACTIVE", "statusChangeDateTime": "2018-12-07 02:43:42" } ] } ] } } }, "202": { "description": "GenerateRequestResponse", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenerateReportResponse" }, "examples": { "Default": { "summary": "Default", "value": [ { "_links": { "next": "", "last": "", "self": "", "first": "" }, "content": [ { "statusChangeDateTime": "2018-11-19 08:56:40", "guid": "161f411aii2ffdd4237721324413653333265329831222a4d3270", "status": "ACTIVE" }, { "statusChangeDateTime": "2018-12-07 02:43:42", "guid": "161f411aii2rrdd4288721324413659933265329831222a4d3270", "status": "ACTIVE" }, { "statusChangeDateTime": "2018-12-07 02:43:42", "guid": "161f411e3i2rrdd4237721324413659933265329831222a4d3270", "status": "ACTIVE" } ] } ] } } }, "reportLocation": { "example": "" } } }, "400": { "description": "VAD-1100 Invalid request: reportid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "VAD-1120 Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "VAD-1130 Temporarily unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } }, "x-name": "Get Report", "x-notes": "", "x-operationVersions": [ { "label": "v1", "operationPointer": "#/paths/~1visaaliasdirectory~1v1~1managereport~1{reportid}~1{pageid}/get", "default": false } ], "x-hideTryIt": true } }, "/visaaliasdirectory/v1/managemerchant/updatealias": { "post": { "tags": [ "Visa Alias Directory API " ], "summary": "Update Merchant Alias", "description": "Update merchant alias or agent alias info in the Alias Directory

Update merchant alias or agent alias info in the Alias Directory for the given aliasId.", "operationId": "Update Merchant Alias", "requestBody": { "description": "Request body for updating merchant or agent alias API", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateMerchantAliasRequest" }, "examples": { "Default": { "summary": "Default", "value": { "country": "KE", "city": "Nairobi", "merchantId": "4761100090708271", "aliasId": "888000", "merchantCategoryCode": "6012", "transactionCurrencyCode": "404", "recipientName": "Bob's Ice Cream", "tipConvenienceFeeIndicator": "01", "email": "bob@example.com", "payloadFormatIndicator": "01", "pointOfInitiationMethod": "11" } } } } }, "required": true }, "responses": { "200": { "description": "Merchant or Agent Alias Update Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchantAliasResponse" }, "examples": { "Default": { "summary": "Default", "value": { "aliasId": "123456" } } } }, "Update Merchant/Agent Alias Success Response": { "example": { "aliasId": "123456" } } } }, "400": { "description": "VAD-1000 Required Field missing: ", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "VAD-1040 Record Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "VAD-1120 Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "VAD-1130 Temporarily unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } }, "x-samplePayload": { "city": "Nairobi", "email": "bob@example.com", "aliasId": "888000", "country": "KE", "aliasType": "01", "merchantId": "4761100090708271", "recipientName": "Bob's Ice Cream", "merchantCategoryCode": "6012", "payloadFormatIndicator": "01", "pointOfInitiationMethod": "11", "transactionCurrencyCode": "404", "tipConvenienceFeeIndicator": "01" }, "x-name": "Update Merchant Alias", "x-notes": "", "x-codegen-request-body-name": "UpdateMerchantAliasRequestPayload", "x-operationVersions": [ { "label": "v1", "operationPointer": "#/paths/~1visaaliasdirectory~1v1~1managemerchant~1updatealias/post", "default": false } ], "x-hideTryIt": true } }, "/visaaliasdirectory/v1/managemerchant": { "get": { "tags": [ "Visa Alias Directory API " ], "summary": "Get Merchant Alias", "description": "Get alias and merchant or agent related data.

To fetch aliases and merchant or agent related data including PAN from the Alias Directory.", "operationId": "Get Merchant Alias", "parameters": [ { "name": "merchantaliasid", "in": "query", "description": "This attribute is uniquely used by acquirer to identify their merchant or agent.", "required": true, "style": "form", "explode": true, "schema": { "type": "string" } }, { "name": "type", "in": "query", "description": "Valid type value is 'agent'. If type is not provided, default search for merchant alias records only.", "required": false, "style": "form", "explode": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Alias Get Merchant or Agent Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetMerchantAliasResponse" }, "examples": { "Default": { "summary": "Default", "value": { "country": "KE", "city": "Nairobi", "merchantId": "4761100090708271", "aliasId": "888000", "merchantCategoryCode": "6012", "transactionCurrencyCode": "404", "recipientName": "Bob's Ice Cream", "payloadFormatIndicator": "01", "pointOfInitiationMethod": "12" } } } }, "Alias Get Merchant/Agent Success Response": { "example": { "city": "Nairobi", "aliasId": "888000", "country": "KE", "aliasType": "01", "merchantId": "4761100090708271", "recipientName": "Bob's Ice Cream", "merchantCategoryCode": "6012", "payloadFormatIndicator": "01", "pointOfInitiationMethod": "12", "transactionCurrencyCode": "404" } } } }, "404": { "description": "VAD-1040 Record Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "VAD-1120 Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "VAD-1130 Temporarily unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } }, "x-name": "Get Merchant Alias", "x-notes": "", "x-operationVersions": [ { "label": "v1", "operationPointer": "#/paths/~1visaaliasdirectory~1v1~1managemerchant/get", "default": false } ], "x-hideTryIt": true } }, "/visaaliasdirectory/v1/resolve": { "post": { "tags": [ "Visa Alias Directory API " ], "summary": "Resolve", "description": "Resolve an alias for recipient's primary account number (PAN) and related data.

The Resolve API provides recipient's primary account and related data associated with the input alias. The data returned in API response is in application/json format.", "operationId": "Resolve", "requestBody": { "description": "Request body for resolve alias API", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AliasResolveRequest" }, "examples": { "Default": { "summary": "Default", "value": { "businessApplicationId": "PP", "alias": "254711001987" } } } } }, "required": true }, "responses": { "200": { "description": "Alias Resolve Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AliasResolveResponse-1" }, "examples": { "Default": { "summary": "Default", "value": { "country": "KE", "city": "Mombasa", "recipientPrimaryAccountNumber": "4895140000066666", "issuerName": "Test Bank 1", "postalCode": "80100", "cardType": "Visa Classic", "recipientName": "John K Kamau" } } } } } }, "400": { "description": "VAD-1000 Required Field missing: alias
VAD-1000 Required Field missing: businessApplicationId", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "VAD-1040 Record Not Found
VAD-1260 Default account number is deleted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseURL" } } } }, "500": { "description": "VAD-1120 Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "VAD-1130 Temporarily unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } }, "x-codegen-request-body-name": "AliasResolveRequestPayload", "x-operationVersions": [ { "label": "v1", "operationPointer": "#/paths/~1visaaliasdirectory~1v1~1resolve/post", "default": false }, { "label": "v2 - Latest", "operationPointer": "#/paths/~1visaaliasdirectory~1v2~1resolve/post", "default": false } ], "x-hideTryIt": true } }, "/visaaliasdirectory/v1/aliasinquiry": { "post": { "tags": [ "Visa Alias Directory API " ], "summary": "Alias Inquiry", "description": "The Alias Inquiry API enables clients to check if an Alias or list of Aliases is available for Alias resolution. The response will indicate the Aliases that are available for Alias resolution. Up to 1000 Aliases can be sent in the Alias Inquiry request.", "operationId": "inquiry", "requestBody": { "description": "Request body for Alias Inquiry API", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AliasInquiryRequest" }, "examples": { "default": { "summary": "default", "value": { "aliases": [ "7911123456", "7911123457", "7911123458", "7911123459", "7911123460" ], "paymentInstrTypes": [ "CARD" ] } } } } }, "required": true }, "responses": { "200": { "description": "Alias Inquiry Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AliasInquiryResponse" }, "examples": { "default": { "summary": "default", "value": { "summary": { "aliasesTotal": 5, "aliasesFound": 4, "aliasesNotFound": 1 }, "details": [ { "paymentInstrOwner": "REQUESTOR", "paymentInstrTypes": [ "CARD" ], "aliasType": "01", "alias": "7911123456" }, { "paymentInstrOwner": "REQUESTOR", "paymentInstrTypes": [ "CARD" ], "aliasType": "01", "alias": "7911123457" }, { "paymentInstrOwner": "REQUESTOR", "paymentInstrTypes": [ "CARD" ], "aliasType": "01", "alias": "7911123460" }, { "paymentInstrOwner": "REQUESTOR", "paymentInstrTypes": [ "CARD" ], "aliasType": "01", "alias": "7911123458" } ] } } } } } }, "400": { "description": "VAD-1100 aliases list size must be within 1 and 1000", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "401": { "description": "VAD-1100 Request unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "VAD-1120 Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "VAD-1130 Temporarily unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } }, "x-samplePayload": {}, "x-name": "Inquiry", "x-notes": "", "x-codegen-request-body-name": "AliasInquiryRequestPayload", "x-operationVersions": [ { "label": "v1", "operationPointer": "#/paths/~1visaaliasdirectory~1v1~1aliasinquiry/post", "default": false } ], "x-hideTryIt": true } }, "/visaaliasdirectory/v2/resolve": { "post": { "tags": [ "Visa Alias Directory API " ], "summary": "Resolve V2", "description": "The Resolve API provides recipient's primary account and related data associated with the input Alias. The data returned in API response is in application/json format.

The Resolve API provides recipient's primary account and related data associated with the input alias. The data returned in API response is in application/json format.", "operationId": "Resolve V2", "requestBody": { "description": "Request body for Resolve API", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AliasResolveRequest-1" }, "examples": { "Default": { "summary": "Default", "value": { "businessApplicationId": "PP", "alias": "254711001987" } } } } }, "required": true }, "responses": { "200": { "description": "Resolve API Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AliasResolveResponse-2" }, "examples": { "Default": { "summary": "Default", "value": { "country": "KE", "city": "Mombasa", "recipientPrimaryAccountNumber": "4895140000066666", "issuerName": "Test Bank 1", "postalCode": "80100", "cardType": "Visa Classic", "recipientName": "John K Kamau" } } } } } }, "204": { "description": "No content in response body. This is returned if Alias is not found or if there is no default payment instrument set for the Alias.", "content": {} }, "400": { "description": "VAD-1000 Required Field missing: businessApplicationId
VAD-1010 Invalid value: businessApplicationId
VAD-1100 Invalid request
VAD-1160 AccountLookup Error
VAD-1170 Account number is restricted
VAD-1190 Cross border Alias resolution not allowed
VAD-1210 Invalid field", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseV2" } } } }, "401": { "description": "VAD-1100 Request unauthorized
VAD-1290 Originator Country not supported", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseV2" } } } }, "500": { "description": "VAD-1120 Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseV2" } } } }, "503": { "description": "VAD-1130 Temporarily unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseV2" } } } } }, "x-samplePayload": { "alias": "254711001987", "businessApplicationId": "PP" }, "x-name": "Resolve", "x-notes": "", "x-codegen-request-body-name": "AliasResolveRequestPayload", "x-hideTryIt": true } }, "/visaaliasdirectory/v1/manage/getalias": { "post": { "tags": [ "Visa Alias Directory API " ], "summary": "Get Alias", "description": "Get alias and recipient's related data.

To fetch aliases and recipient's related data including PAN from the Alias Directory for a given consumer GUID.", "operationId": "Get Alias", "requestBody": { "description": "This attribute represents the unique id for a payment instrument belonging to a consumer cardholder.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetAliasRequest-1" } } }, "required": true }, "responses": { "200": { "description": "Alias Get Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetAliasResponse-1" }, "examples": { "Default": { "summary": "Default", "value": { "country": "RU", "recipientLastName": "Kamau", "aliases": [ { "isDefault": "true", "aliasType": "01", "alias": "756783776513" }, { "isDefault": "true", "aliasType": "01", "alias": "766783776517" } ], "statusChangeDateTime": "2021-04-14 22:44:42", "recipientMiddleName": "K", "city": "Moscow", "recipientFirstName": "John", "recipientPrimaryAccountNumber": "9935070157933916", "address1": "G.P.O", "issuerName": "Test Bank 1", "postalCode": "94588", "cardType": "Visa Classic", "consentDateTime": "2018-08-05 23:02:03", "guid": "iehjghygjdoij", "contactPhoneNumber": "973578377655", "status": "ACTIVE" } } } } } }, "404": { "description": "VAD-1040 Record Not Found ", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "VAD-1130 Temporarily unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } }, "x-codegen-request-body-name": "GetAliasRequest", "x-operationVersions": [ { "label": "v1", "operationPointer": "#/paths/~1visaaliasdirectory~1v1~1manage~1getalias/post", "default": false } ], "x-hideTryIt": true } }, "/visaaliasdirectory/v1/manage/updatealias": { "post": { "tags": [ "Visa Alias Directory API " ], "summary": "Update Alias", "description": "Update alias and recipient data in the Alias Directory

To update alias and/or recipient related data in the Alias Directory for the given guid.", "operationId": "Update Alias", "requestBody": { "description": "Request body for updating alias API", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAliasRequest-2" }, "examples": { "Default": { "summary": "Default", "value": { "guid": "574f4b6a4c2b70472f306f300099515a789092348832455975343637a4d3170", "consentDateTime": "2018-02-01 12:20:22" } } } } }, "required": true }, "responses": { "200": { "description": "Alias Update Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AliasResponse-1" }, "examples": { "Default": { "summary": "Default", "value": { "guid": "574f4b6a4c2b70472f306f300099515a789092348832455975343637a4d3170" } } } }, "Alias Update Success Response": { "example": { "guid": "574f4b6a4c2b70472f306f300099515a789092348832455975343637a4d3170" } } } }, "400": { "description": "VAD-1000 Required Field missing:
VAD-1180 Invalid account number
VAD-1300 Exceeded threshold for the number of requests where isDefault is True", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "VAD-1040 Record Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "VAD-1120 Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "VAD-1130 Temporarily unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } }, "x-samplePayload": { "guid": "574f4b6a4c2b70472f306f300099515a789092348832455975343637a4d3170", "consentDateTime": "2018-02-01 12:20:22" }, "x-name": "Update Alias", "x-notes": "", "x-codegen-request-body-name": "UpdateAliasRequestPayload", "x-operationVersions": [ { "label": "v1", "operationPointer": "#/paths/~1visaaliasdirectory~1v1~1manage~1updatealias/post", "default": false } ], "x-hideTryIt": true } }, "/visaaliasdirectory/v1/managemerchant/deletealias": { "post": { "tags": [ "Visa Alias Directory API " ], "summary": "Delete Merchant Alias", "description": "Delete alias of a merchant or agent from the Alias Directory.

Delete merchant alias or agent alias from the Alias Directory.", "operationId": "Delete Merchant Alias", "requestBody": { "description": "Request body for deleting a merchant or agent alias", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteMerchantAliasRequest" }, "examples": { "Default": { "summary": "Default", "value": { "merchantId": "4761100090708271", "aliasId": "888000" } } } } }, "required": true }, "responses": { "200": { "description": "Merchant/Agent Alias Delete Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchantAliasResponse" }, "examples": { "Default": { "summary": "Default", "value": { "aliasId": "123456" } } } }, "Delete Merchant/Agent Success Response": { "example": { "aliasId": "123456" } } } }, "400": { "description": "VAD-1000 Required Field missing: ", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "VAD-1040 Record Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "VAD-1120 Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "VAD-1130 Temporarily unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } }, "x-samplePayload": { "aliasId": "888000", "merchantId": "4761100090708271" }, "x-name": "Delete Merchant Alias", "x-notes": "", "x-codegen-request-body-name": "DeleteAliasRequestPayload", "x-operationVersions": [ { "label": "v1", "operationPointer": "#/paths/~1visaaliasdirectory~1v1~1managemerchant~1deletealias/post", "default": false } ], "x-hideTryIt": true } }, "/visaaliasdirectory/v1/managereport/generate": { "post": { "tags": [ "Visa Alias Directory API " ], "summary": "Generate Report", "description": "To submit a request to generate report and return a URL as response for retrieving report.

To place report download request.", "operationId": "Generate Report", "requestBody": { "description": "Request body for generating a report", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenerateReportRequest" }, "examples": { "Default": { "summary": "Default", "value": { "reportStartDate": "2018-09-01", "limit": "100", "type": "CONSUMER", "status": "ACTIVE,DISABLED" } } } } }, "required": false }, "responses": { "202": { "description": "GenerateRequestResponse", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenerateReportResponse" }, "examples": { "Default": { "summary": "Default", "value": { "reportLocation": "" } } } }, "Generate Request Success Response": { "example": { "reportLocation": "" } } } }, "400": { "description": "VAD-1000 Required Field missing:
VAD-1010 Invalid value: ", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "VAD-1040 Record Not Found ", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "VAD-1120 Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "VAD-1130 Temporarily unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } }, "x-samplePayload": { "type": "CONSUMER", "limit": "100", "status": "ACTIVE,DISABLED", "reportStartDate": "2018-09-01" }, "x-name": "Get Report", "x-notes": "", "x-codegen-request-body-name": "GenerateReport API", "x-operationVersions": [ { "label": "v1", "operationPointer": "#/paths/~1visaaliasdirectory~1v1~1managereport~1generate/post", "default": false } ], "x-hideTryIt": true } }, "/visaaliasdirectory/v1/manage/deletealias": { "post": { "tags": [ "Visa Alias Directory API " ], "summary": "Delete Alias", "description": "Delete alias of a recipient from the Alias Directory.

To delete alias(es) and recipient related data including PAN from the Alias Directory.", "operationId": "Delete Alias", "requestBody": { "description": "Request body for deleting an alias", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteAliasRequest" }, "examples": { "Default": { "summary": "Default", "value": { "guid": "574f4b6a4c2b70472f306f300099515a789092348832455975343637a4d3170", "alias": "254711333888" } } } } }, "required": true }, "responses": { "200": { "description": "Alias Delete Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AliasResponse" }, "examples": { "Default": { "summary": "Default", "value": { "guid": "574f4b6a4c2b70472f306f300099515a789092348832455975343637a4d3170" } } } }, "Alias Delete Success Response": { "example": { "guid": "574f4b6a4c2b70472f306f300099515a789092348832455975343637a4d3170" } } } }, "400": { "description": "VAD-1000 Required Field missing: ", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "VAD-1040 Record Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "VAD-1120 Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "VAD-1130 Temporarily unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } }, "x-samplePayload": { "guid": "574f4b6a4c2b70472f306f300099515a789092348832455975343637a4d3170", "alias": "254711333888" }, "x-name": "Delete Alias", "x-notes": "", "x-codegen-request-body-name": "DeleteAliasRequestPayload", "x-operationVersions": [ { "label": "v1", "operationPointer": "#/paths/~1visaaliasdirectory~1v1~1manage~1deletealias/post", "default": false } ], "x-hideTryIt": true } }, "/visaaliasdirectory/v1/manage/createalias": { "post": { "tags": [ "Visa Alias Directory API " ], "summary": "Create Alias", "description": "Create an alias in the Alias Directory.

To create alias record(s) with recipient's primary account number (PAN) and related data in the Alias Directory.", "operationId": "Create Alias", "requestBody": { "description": "Request body for creating alias API", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAliasRequest-2" }, "examples": { "Default": { "summary": "Default", "value": { "country": "KE", "recipientLastName": "Bakari", "recipientMiddleName": "M", "city": "Nairobi", "address2": "Region 1", "recipientFirstName": "Jamie", "recipientPrimaryAccountNumber": "4895140000066666", "address1": "Street 1", "issuerName": "Test Bank 1", "postalCode": "00111", "cardType": "Visa Classic", "consentDateTime": "2018-03-01 01:02:03", "aliasType": "01", "guid": "574f4b6a4c2b70472f306f300099515a789092348832455975343637a4d3170", "alias": "254711333888" } } } } }, "required": true }, "responses": { "200": { "description": "Alias Create Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AliasResponse-2" }, "examples": { "Default": { "summary": "Default", "value": { "guid": "574f4b6a4c2b70472f306f300099515a789092348832455975343637a4d3170" } } } }, "Create Alias Success Response": { "example": { "guid": "574f4b6a4c2b70472f306f300099515a789092348832455975343637a4d3170" } } } }, "400": { "description": "VAD-1000 Required Field missing:
VAD-1010 Invalid value:
VAD-1050 Record Exists
VAD-1180 Invalid account number", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "VAD-1120 Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "VAD-1130 Temporarily unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } }, "x-samplePayload": { "city": "Nairobi", "guid": "574f4b6a4c2b70472f306f300099515a789092348832455975343637a4d3170", "alias": "254711333888", "country": "KE", "address1": "Street 1", "address2": "Region 1", "cardType": "Visa Classic", "aliasType": "01", "issuerName": "Test Bank 1", "postalCode": "00111", "consentDateTime": "2018-03-01 01:02:03", "recipientLastName": "Bakari", "recipientFirstName": "Jamie", "recipientMiddleName": "M", "recipientPrimaryAccountNumber": "4895140000066666" }, "x-name": "Create Alias", "x-notes": "", "x-codegen-request-body-name": "CreateAliasRequestPayload", "x-operationVersions": [ { "label": "v1", "operationPointer": "#/paths/~1visaaliasdirectory~1v1~1manage~1createalias/post", "default": false } ], "x-hideTryIt": true } }, "/visaaliasdirectory/v1/managemerchant/createalias": { "post": { "tags": [ "Visa Alias Directory API " ], "summary": "Create Merchant Alias", "description": "Creates a merchant or agent alias in the Alias Directory.

To create alias record(s) with merchant or agent with 16-digit number as per Mobile Push Payment Program Implementation Guide and related data in the Alias Directory.", "operationId": "Create Merchant Alias", "requestBody": { "description": "Request body for creating merchant or agent alias", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateMerchantAliasRequest" }, "examples": { "Default": { "summary": "Default", "value": { "country": "KE", "city": "Nairobi", "merchantId": "4761100090708271", "aliasId": "888000", "merchantCategoryCode": "6012", "transactionCurrencyCode": "404", "recipientName": "Bob's Ice Cream", "payloadFormatIndicator": "01", "pointOfInitiationMethod": "11" } } } } }, "required": true }, "responses": { "200": { "description": "Alias merchant or agent Create Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchantAliasResponse" }, "examples": { "Default": { "summary": "Default", "value": { "aliasId": "1234567" } } } }, "Create Merchant/Agent Alias Success Response": { "example": { "aliasId": "1234567" } } } }, "400": { "description": "VAD-1000 Required Field missing:
VAD-1010 Invalid value:
VAD-1050 Record Exists", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "VAD-1120 Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "VAD-1130 Temporarily unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } }, "x-samplePayload": { "city": "Nairobi", "aliasId": "888000", "country": "KE", "aliasType": "01", "merchantId": "4761100090708271", "recipientName": "Bob's Ice Cream", "merchantCategoryCode": "6012", "payloadFormatIndicator": "01", "pointOfInitiationMethod": "11", "transactionCurrencyCode": "404" }, "x-name": "Create Merchant Alias", "x-notes": "", "x-codegen-request-body-name": "CreateMerchantAliasRequestPayload", "x-operationVersions": [ { "label": "v1", "operationPointer": "#/paths/~1visaaliasdirectory~1v1~1managemerchant~1createalias/post", "default": false } ], "x-hideTryIt": true } }, "/visadirect/v1/pushpayment/advice/receive/oct": { "post": { "tags": [ "Issuer Receive API" ], "summary": "Receive OCT Advice API specification", "description": "Receive OCT Advice API specification

The 'Advice OCT' will be generated to address adjustment and reversal scenarios (e.g. timeouts, declines originator request, or reject issuer response)", "operationId": "adviceOCT", "requestBody": { "description": "Request body for Receive OCT Advice API", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReceiveOCTAdviceRequest" } } }, "required": true }, "responses": { "200": { "description": "Response body for Receive OCT Advice API - Nil (i.e. no data element).", "content": {} }, "400": { "description": "Error may be due to the following plausible reasons.
Missing required field
Field value exceeds the specified length.
Field formatting does not match the expected format.
Type mismatch like Non-string values in string fields
Invalid JSON request /The recipient API server could not understand the request.
Failed to decrypt the encrypted fields", "content": {} }, "500": { "description": "Any unexpected error that may happen on the recipient server while processing the request.", "content": {} } }, "x-name": "Receive OCT Advice API specification", "x-notes": "", "x-codegen-request-body-name": "receiveOCTAdviceRequestPayload", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1v1~1pushpayment~1advice~1receive~1oct/post", "default": false } ], "x-hideSample": true, "x-hideTryIt": true } }, "/visadirect/v1/pushpayment/transactions/receive/oct": { "post": { "tags": [ "Issuer Receive API" ], "summary": "Receive OCT API specification", "description": "Receive OCT API specification

The 'Receive OCT' API pushes funds to a participant issuer to post accordingly to their recipient's Visa account customer.", "operationId": "receiveOCT", "requestBody": { "description": "Request body for Receive OCT API", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReceiveOctRequest" } } }, "required": true }, "responses": { "200": { "description": "Response body for Receive OCT API", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReceiveOctResponse" } } } }, "400": { "description": "Error may be due to the following plausible reasons.
Missing required field
Field value exceeds the specified length.
Field formatting does not match the expected format.
Type mismatch like Non-string values in string fields
Invalid JSON request /The recipient API server could not understand the request.
Failed to decrypt the encrypted fields", "content": {} }, "500": { "description": "Any unexpected error that may happen on the recipient server while processing the request.", "content": {} } }, "x-name": "Receive OCT API specification", "x-notes": "", "x-codegen-request-body-name": "request", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1v1~1pushpayment~1transactions~1receive~1oct/post", "default": false } ], "x-hideSample": true, "x-hideTryIt": true } }, "/visadirect/mvisa/v1/mr": { "post": { "tags": [ "Mobile Push Payment Refund API" ], "summary": "MerchandiseReturn POST", "description": "Merchandise Return Transaction is used to refund (full or partial) sale amount back to consumer. A merchant may, at its discretion, process a credit into consumer account when a valid transaction was previously processed. This situation can arise when the consumer cancels the purchase, or returns the goods in part or in full, or the merchant agrees to return a part of the payment.

Merchandise Return Transaction is used to refund (full or partial) sale amount back to consumer. A merchant may, at its discretion, process a credit into consumer account when a valid transaction was previously processed. This situation can arise when the consumer cancels the purchase, or returns the goods in part or in full, or the merchant agrees to return a part of the payment.", "operationId": "createMerchandiseReturnTransaction", "requestBody": { "description": "Request body for creating in merchandise return", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchandiseReturnTransactionPayload" }, "examples": { "Default": { "summary": "Default", "value": { "amount": 123.45, "localTransactionDateTime": "2016-12-12T21:32:52", "recipientPrimaryAccountNumber": "4898100000000245", "cardAcceptor": { "address": { "country": "USA", "zipCode": "94404", "city": "Test", "county": "San Mateo", "state": "CA" }, "idCode": "CA-IDCode-77765", "name": "Visa Inc. USA-Foster City", "terminalId": "TID-9999" }, "transactionIdentifier": "381228649430011", "acquirerCountryCode": "101", "acquiringBin": "830", "retrievalReferenceNumber": "412770451018", "systemsTraceAuditNumber": "451018", "transactionFeeAmt": "2.00", "settlementServiceIndicator": "9", "merchantCategoryCode": "6012", "transactionCurrencyCode": "USD", "merchantVerificationValue": { "mvvAcquirerAssigned": "41394644363445313243", "mvvVisaAssigned": "41394644363445313243" }, "feeProgramIndicator": "aaa" } } } } }, "required": true }, "responses": { "200": { "description": "Merchandise Return Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchandiseReturnTransactionResponse" } } } } }, "x-samplePayload": { "amount": 123.45, "acquiringBin": "400171", "cardAcceptor": { "name": "Visa Inc. USA-Foster City", "idCode": "CA-IDCode-77765", "address": { "city": "Test", "state": "CA", "county": "San Mateo", "country": "USA", "zipCode": "94404" }, "terminalId": "TID-9999" }, "transactionFeeAmt": "2.00", "acquirerCountryCode": "643", "feeProgramIndicator": "aaa", "merchantCategoryCode": "6012", "systemsTraceAuditNumber": "451018", "transactionCurrencyCode": "USD", "localTransactionDateTime": "2020-05-08T21:32:52", "retrievalReferenceNumber": "430000367722", "merchantVerificationValue": { "mvvVisaAssigned": "41394644363445313243", "mvvAcquirerAssigned": "41394644363445313243" }, "settlementServiceIndicator": "9", "recipientPrimaryAccountNumber": "4761360055652118" }, "x-name": "MerchandiseReturn POST", "x-notes": "", "x-codegen-request-body-name": "CreateMerchandiseReturnTransactionPayload", "x-samplePayloadXML": "6432.00400171123.45
TestUSASan MateoCA94404
CA-IDCode-77765Visa Inc. USA-Foster CityTID-9999
2020-05-08T21:32:52601241394644363445313243413946443634453132434761360055652118430000367722451018USDaaa9
", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1mvisa~1v1~1mr/post", "default": false } ] } }, "/visadirect/mvisa/v1/mrr/{statusIdentifier}": { "get": { "tags": [ "Mobile Push Payment Refund API" ], "summary": "Merchandise Return Reversal GET", "description": "Read Merchandise Return Reversal Transaction", "operationId": "Merchandise Return Reversal GET", "parameters": [ { "name": "statusIdentifier", "in": "path", "description": "Status Identifier", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Merchandise Return Reversal Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchandiseReturnReversalTransactionResponse-1" }, "examples": { "Default": { "summary": "Default", "value": { "transmissionDateTime": "2016-12-13T05:32:48.591", "approvalCode": "21324K", "transactionIdentifier": 234234322342343, "actionCode": "00", "merchantVerificationValue": "0A45AF98FC", "feeProgramIndicator": "aaa", "responseCode": "5" } } } }, "application/xml": { "examples": { "Default": { "summary": "Default", "value": "23423432234234321324K0052016-12-13T05:32:48.591aaa0A45AF98FC" } } } } } }, "x-samplePayload": {}, "x-name": "Merchandise Return Reversal GET", "x-notes": "", "x-samplePayloadXML": "", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1mvisa~1v1~1mrr~1{statusIdentifier}/get", "default": false } ], "x-hideTryIt": true } }, "/visadirect/mvisa/v1/mrr": { "post": { "tags": [ "Mobile Push Payment Refund API" ], "summary": "Merchandise Return Reversal POST", "description": "Merchandise Return Reversal Transaction is used to reverse the refund amount that sent to the consumer.

Merchandise Return Reversal Transaction is used to reverse the refund amount that sent to the consumer.", "operationId": "createMerchandiseReturnReversalTransaction", "requestBody": { "description": "Request body for creating in merchandise return reversal", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchandiseReturnReversalTransactionPayload" }, "examples": { "Default": { "summary": "Default", "value": { "amount": "24.01", "localTransactionDateTime": "2016-12-12T21:32:52", "recipientPrimaryAccountNumber": "4898100000000245", "cardAcceptor": { "address": { "country": "IND", "zipCode": "94404", "county": "kolkata", "state": "KO" }, "idCode": "VMT200911026070", "name": "Visa Inc. USA-Foster City", "terminalId": "365539" }, "transactionIdentifier": "381228649430011", "acquirerCountryCode": "101", "acquiringBin": "830", "senderCurrencyCode": "USD", "retrievalReferenceNumber": "330000550000", "systemsTraceAuditNumber": "451050", "transactionFeeAmt": "2", "settlementServiceIndicator": "9", "merchantVerificationValue": { "mvvAcquirerAssigned": "41394644363445313243", "mvvVisaAssigned": "41394644363445313243" }, "feeProgramIndicator": "aaa", "originalDataElements": { "transmissionDateTime": "2016-11-30T03:00:37", "systemsTraceAuditNumber": "897825", "approvalCode": "20304B", "acquiringBin": "408999" } } } } } }, "required": true }, "responses": { "200": { "description": "Merchandise Return Reversal Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchandiseReturnReversalTransactionResponse" } } } } }, "x-samplePayload": { "amount": "24.01", "acquiringBin": "400171", "cardAcceptor": { "name": "Visa Inc. USA-Foster City", "idCode": "VMT200911026070", "address": { "state": "KO", "county": "kolkata", "country": "IND", "zipCode": "94404" }, "terminalId": "365539" }, "transactionFeeAmt": "2", "senderCurrencyCode": "USD", "acquirerCountryCode": "643", "feeProgramIndicator": "aaa", "originalDataElements": { "acquiringBin": "400171", "approvalCode": "21324K", "transmissionDateTime": "2016-11-30T03:00:37", "systemsTraceAuditNumber": "313223" }, "transactionIdentifier": "891518058305395", "systemsTraceAuditNumber": "451050", "localTransactionDateTime": "2020-05-08T21:32:52", "retrievalReferenceNumber": "430000367722", "merchantVerificationValue": { "mvvVisaAssigned": "41394644363445313243", "mvvAcquirerAssigned": "41394644363445313243" }, "settlementServiceIndicator": "9", "recipientPrimaryAccountNumber": "4761360055652118" }, "x-name": "Merchandise Return Reversal POST", "x-notes": "", "x-codegen-request-body-name": "CreateMerchandiseReturnReversalTransactionPayload", "x-samplePayloadXML": "64340017124.012
INDkolkataKO94404
VMT200911026070Visa Inc. USA-Foster City365539
2020-05-11T21:32:5240899920304B8978252020-05-11T03:00:37430000367722USD4761360055652118451050891518058305395aaa4139464436344531324341394644363445313243
", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1mvisa~1v1~1mrr/post", "default": false } ] } }, "/visadirect/mvisa/v1/mr/{statusIdentifier}": { "get": { "tags": [ "Mobile Push Payment Refund API" ], "summary": "Merchandise Return GET", "description": "Read Merchandise Return Transaction

Read Merchandise Return Transaction", "operationId": "Merchandise Return GET", "parameters": [ { "name": "statusIdentifier", "in": "path", "description": "Status Identifier", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Merchandise Return Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchandiseReturnTransactionResponse-1" }, "examples": { "Default": { "summary": "Default", "value": { "transmissionDateTime": "2016-12-13T04:07:40.267", "approvalCode": "21324K", "cardAcceptor": { "idCode": "IDCode", "name": "ABC XYZ", "terminalId": "TERMID01" }, "transactionIdentifier": "234234322342343", "actionCode": "00", "retrievalReferenceNumber": "412770451018", "feeProgramIndicator": "aaa", "responseCode": "5" } } } }, "application/xml": { "examples": { "Default": { "summary": "Default", "value": "2342343223423430052016-12-13T04:07:40.26721324K412770451018aaaABC XYZTERMID01IDCode" } } } } } }, "x-samplePayload": {}, "x-name": "Merchandise Return GET", "x-notes": "", "x-samplePayloadXML": "", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1mvisa~1v1~1mr~1{statusIdentifier}/get", "default": false } ], "x-hideTryIt": true } }, "/visadirect/v1/pushpayment/advice/receive/deferredoct": { "post": { "tags": [ "Deferred OCT Advice API" ], "summary": "DeferredOctAdvice POST", "description": "DeferredOctAdvice POST", "operationId": "postDeferredOctAdvice", "requestBody": { "description": "Request body for Deferred OCT Advice API", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeferredOCTAdviceRequest" } } }, "required": true }, "responses": { "200": { "description": "Response body for deferred OCT Advice API - Nil (i.e. no data element).", "content": { "application/xml": { "example": "" }, "application/json": { "schema": { "$ref": "#/components/schemas/200" } } } }, "400": { "description": "Error may be due to the following plausible reasons.
  • Missing required field
  • Field value exceeds the specified length.
  • Field formatting does not match the expected format.
  • Type mismatch like Non-string values in string fields
  • Invalid JSON request /The recipient API server could not understand the request.
  • Failed to decrypt the encrypted fields
", "content": {} }, "500": { "description": "Any unexpected error that may happen on the recipient server while processing the request.", "content": {} } }, "x-name": "Deferred OCT Advice", "x-notes": "", "x-internalUri": {}, "x-codegen-request-body-name": "deferredOCTAdviceRequestPayload", "x-slug": "operation_slug", "x-description": "Visa will implement the deferred Push Fund transaction confirmation advice message that will be used to confirm when a deferred Push Fund transaction request has been processed. Originators will receive deferred Push Fund transaction confirmation advices when the recipient issuer of a deferred Push Fund transaction request has responded.", "x-samplePayloadXML": "", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1v1~1pushpayment~1advice~1receive~1deferredoct/post", "default": false } ], "x-hideSample": true, "x-hideTryIt": true } }, "/visadirect/reports/v1/transactiondata": { "get": { "tags": [ "Reports API" ], "summary": "TransactionData", "description": "Transaction Data

The TransactionData API resource returns the transaction data that includes both push and pull transaction details and any exceptions such as chargebacks, reversals etc. The data is primarily useful for reconciliation purpose. Currently the data returned in API response is in text/csv (default) or application/json (with Accept key value as 'application/json' in the request Header) format. NOTE: In the sandbox this API will only return sample data and not real transaction data. In Production environment the API will return the transaction data based on what was processed by VisaNet.", "operationId": "TransactionData", "parameters": [ { "name": "fromDate", "in": "query", "description": "The beginning date. Example: 31032016 for 31st March 2016.", "required": true, "style": "form", "explode": true, "schema": { "type": "integer" } }, { "name": "toDate", "in": "query", "description": "The end date. Example: 03042016 for 3rd April 2016. Currently, only upto 5 days worth of data can be retrieved. Also, only the last 120 days of data can be searched from the current date.", "required": true, "style": "form", "explode": true, "schema": { "type": "integer" } }, { "name": "fields", "in": "query", "description": "Required additional fields. Example: Add fields like amountInTransactionCurrency, currencyConversionRate, reasonCodeValue, cardType, networkId, transactionStateCode, businessApplicationId, separated by comma.", "required": false, "style": "form", "explode": true, "schema": { "type": "string" } }, { "name": "offset", "in": "query", "description": "This determines the page number for the pagination. Defalut is set to 1.", "required": false, "style": "form", "explode": true, "schema": { "type": "string" } }, { "name": "limit", "in": "query", "description": "Total number of records that should be present in each page. Defalut is set to 100.", "required": false, "style": "form", "explode": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransactionDataResponse" }, "examples": { "Default": { "summary": "Default", "value": [ { "Transaction Amount": 2461.37, "Transaction State": "CRED VOUCHER", "Transaction Currency": 840, "Visa Transaction ID": 528706215101, "Acquirer Bin": 408999, "RRN": 528706215101, "transactionStateCode": 25, "Auth Code": 82541, "businessApplicationId": "AA", "Card Acceptor ID": "Cardacceptor_1", "networkId": 2, "Transaction Time": 32206, "FeeProgramIndicator Desc": "ORIGINAL CREDIT", "Processing Date": "2016-02-02", "cardType": "Debit", "amountInTransactionCurrency": 200.2, "Account Number Masked": "429393XXXXXX7715", "Reason Code": "NOT APPLICABLE", "currencyConversionRate": 10, "System Trace Audit Number": 215101, "Transaction Date": "2016-02-14", "FeeProgramIndicator Code": "", "reasonCodeValue": 2002, "Card Acceptor Name": "VISA MONEY TRANSFER", "Settlement Datetime": "2016-02-02:325" }, { "Transaction Amount": 14.32, "Transaction State": "CRED REVERSAL", "Transaction Currency": 840, "Visa Transaction ID": 585032554732529, "Acquirer Bin": 408999, "RRN": 503215465493, "transactionStateCode": 37, "Auth Code": 312448, "businessApplicationId": "AA", "Card Acceptor ID": "Cardacceptor_1", "networkId": 2, "Transaction Time": 152429, "FeeProgramIndicator Desc": "VMT FF NATL", "Processing Date": "2016-02-02", "cardType": "Credit", "amountInTransactionCurrency": 200.2, "Account Number Masked": "2009EDXXXXXXCF17", "Reason Code": "TRANSACTION NOT COMPLETED/TIMEOUT", "currencyConversionRate": 10, "System Trace Audit Number": 465493, "Transaction Date": "2015-02-01", "FeeProgramIndicator Code": "", "reasonCodeValue": "", "Card Acceptor Name": "VISA MONEY TRANSFER", "Settlement Datetime": "2016-02-02:2017" }, { "Transaction Amount": 2461.37, "Transaction State": "CRED VOUCHER", "Transaction Currency": 840, "Visa Transaction ID": 528706215101, "Acquirer Bin": 408999, "RRN": 528706215101, "transactionStateCode": 36, "Auth Code": 82541, "businessApplicationId": "AA", "Card Acceptor ID": "Cardacceptor_1", "networkId": 2, "Transaction Time": 32206, "FeeProgramIndicator Desc": "ORIGINAL CREDIT", "Processing Date": "2016-02-02", "cardType": "Debit", "amountInTransactionCurrency": 200.2, "Account Number Masked": "429393XXXXXX7715", "Reason Code": "NOT APPLICABLE", "currencyConversionRate": 10, "System Trace Audit Number": 215101, "Transaction Date": "2016-02-14", "FeeProgramIndicator Code": "", "reasonCodeValue": 30, "Card Acceptor Name": "VISA MONEY TRANSFER", "Settlement Datetime": "2016-02-02:325" }, { "Transaction Amount": 68.18, "Transaction State": "CRED CHGBK", "Transaction Currency": 840, "Visa Transaction ID": 385274484362603, "Acquirer Bin": 408999, "RRN": 527413616315, "transactionStateCode": 15, "Auth Code": 0, "businessApplicationId": "AA", "Card Acceptor ID": "Cardacceptor_1", "networkId": 2, "Transaction Time": 12716, "FeeProgramIndicator Desc": "OCTRANFR NATL", "Processing Date": "2016-03-02", "cardType": "Credit", "amountInTransactionCurrency": 200.2, "Account Number Masked": "479325XXXXXX0000716", "Reason Code": "CREDIT NOT PROCESSED", "currencyConversionRate": 10, "System Trace Audit Number": 616315, "Transaction Date": "2015-10-01", "FeeProgramIndicator Code": "", "reasonCodeValue": 30, "Card Acceptor Name": "VISA MONEY TRANSFER", "Settlement Datetime": "2016-03-02:2226" }, { "Transaction Amount": 68.18, "Transaction State": "SALES DRAFT", "Transaction Currency": 840, "Visa Transaction ID": 385274484362603, "Acquirer Bin": 408999, "RRN": 527413616315, "transactionStateCode": 5, "Auth Code": 0, "businessApplicationId": "AA", "Card Acceptor ID": "Cardacceptor_1", "networkId": 2, "Transaction Time": 12716, "FeeProgramIndicator Desc": "OCTRANFR NATL", "Processing Date": "2016-02-02", "cardType": "Debit", "amountInTransactionCurrency": 200.2, "Account Number Masked": "479325XXXXXX0000716", "Reason Code": "NOT APPLICABLE", "currencyConversionRate": 10, "System Trace Audit Number": 616315, "Transaction Date": "2015-10-01", "FeeProgramIndicator Code": "", "reasonCodeValue": 30, "Card Acceptor Name": "VISA MONEY TRANSFER", "Settlement Datetime": "2016-03-02:2226" }, { "Transaction Amount": 14.32, "Transaction State": "SALES REVERSAL", "Transaction Currency": 840, "Visa Transaction ID": 585032554732529, "Acquirer Bin": 408999, "RRN": 503215465493, "transactionStateCode": 25, "Auth Code": 312448, "businessApplicationId": "AA", "Card Acceptor ID": "Cardacceptor_1", "networkId": 2, "Transaction Time": 152429, "FeeProgramIndicator Desc": "VMT FF NATL", "Processing Date": "2016-04-02", "cardType": "Credit", "amountInTransactionCurrency": 200.2, "Account Number Masked": "2009EDXXXXXXCF17", "Reason Code": "TRANSACTION NOT COMPLETED/TIMEOUT", "currencyConversionRate": 10, "System Trace Audit Number": 465493, "Transaction Date": "2015-02-01", "FeeProgramIndicator Code": "", "reasonCodeValue": 2002, "Card Acceptor Name": "VISA MONEY TRANSFER", "Settlement Datetime": "2016-04-02:2017" } ] } } } } } }, "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1reports~1v1~1transactiondata/get", "default": false } ], "x-hideTryIt": true } }, "/visadirect/mvisa/v1/merchantpushpayments/{statusIdentifier}": { "get": { "tags": [ "mVisa API" ], "summary": "MerchantPushPayments GET", "description": "Get the status and details for a specific MerchantPushPayments POST request when timeout occurs.", "operationId": "MerchantPushPayments GET", "parameters": [ { "name": "statusIdentifier", "in": "path", "description": "Status Identifier", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Merchant Push Payment Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchantPushPaymentResponse" }, "examples": { "Default": { "summary": "Default", "value": { "transmissionDateTime": "2016-01-07T06:58:17.000Z", "approvalCode": "21324K", "transactionIdentifier": 23423400, "actionCode": "00", "feeProgramIndicator": "123", "responseCode": "5" } } } }, "application/xml": { "schema": { "$ref": "#/components/schemas/MerchantPushPaymentResponse" } } } } }, "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1mvisa~1v1~1merchantpushpayments~1{statusIdentifier}/get", "default": false } ], "x-hideTryIt": true } }, "/visadirect/mvisa/v1/cashinpushpayments/{statusIdentifier}": { "get": { "tags": [ "mVisa API" ], "summary": "CashInPushPayments GET", "description": "Get the status and details for a specific CashInPushPayments POST request when timeout occurs.", "operationId": "CashInPushPayments GET", "parameters": [ { "name": "statusIdentifier", "in": "path", "description": "Status Identifier", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Cash In Push Payment Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CashInPushPaymentResponse" }, "examples": { "Default": { "summary": "Default", "value": { "transmissionDateTime": "2016-01-07T07:01:22.000Z", "approvalCode": "21324K", "transactionIdentifier": 23423432, "actionCode": "00", "retrievalReferenceNumber": "430000367618", "responseCode": "5" } } } }, "application/xml": { "schema": { "$ref": "#/components/schemas/CashInPushPaymentResponse" }, "example": "\n\n 23423432\n 00\n 21324K\n 5\n 2016-01-07T07:00:40.000Z\n 412365987412\n" } } } }, "x-samplePayload": {}, "x-name": "CashInPushPayments GET", "x-notes": "Get the status and details for a specific CashInPushPayments POST request.The CashInPushPayments GET operation can be invoked when the initial CashInPushPayments POST request has returned a timeout error. When a timeout occurs, the response will include the appropriate CashInPushPayments Link header which the client then uses to get the status and details of the initial request.", "x-samplePayloadXML": "", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1mvisa~1v1~1cashinpushpayments~1{statusIdentifier}/get", "default": false } ], "x-hideTryIt": true } }, "/visadirect/mvisa/v1/cashoutpushpayments": { "post": { "tags": [ "mVisa API" ], "summary": "CashOutPushPayments POST", "description": "CashOutPushPayments POST allows consumer to withdraw cash from their own account at merchant. The API is invoked in the following sequence
1. The consumer connects to their account through the mobile device, provides withdrawal instructions and authenticates themselves. The withdrawal instructions provided by the consumer includes the merchant's PAN used to route the transaction to the merchant, and the amount to be withdrawn.
2. Upon receiving the payment instructions, the consumer's issuer invokes CashOutPushPayments POST operation to push cash out instructions to the merchant's visa account.
3. The merchant acquirer processes the Visa message, credits the merchant account if valid and reverts back with a response message containing the CashOutPushPayments response attributes.
4. On completion, both the consumer and merchant receive confirmation or decline notification. The merchant then provides the cash to the consumer.", "operationId": "CashOutPushPayments POST", "requestBody": { "description": "Request body for creating in cash out push payment", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CashOutPushPaymentPayload" }, "examples": { "Default": { "summary": "Default", "value": { "amount": "124.05", "localTransactionDateTime": "2021-09-10T03:02:06", "recipientPrimaryAccountNumber": "4123640062698797", "cardAcceptor": { "address": { "country": "IN", "city": "merchant city" }, "idCode": "CA-IDCode-77765", "name": "Test merchant" }, "senderReference": "REFNUM123", "acquirerCountryCode": "643", "acquiringBin": "400171", "retrievalReferenceNumber": "412123412878", "systemsTraceAuditNumber": "567889", "senderName": "Mohammed Qasim", "businessApplicationId": "CO", "merchantCategoryCode": "6012", "transactionCurrencyCode": "356", "senderAccountNumber": "456789123456" } } } }, "application/xml": { "schema": { "$ref": "#/components/schemas/CashOutPushPaymentPayload" } } }, "required": true }, "responses": { "200": { "description": "Cash In Push Payment Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CashOutPushPaymentResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/CashOutPushPaymentResponse" } } } } }, "x-samplePayload": { "amount": "124.05", "senderName": "Mohammed Qasim", "acquiringBin": "400171", "cardAcceptor": { "name": "Test merchant", "idCode": "CA-IDCode-77765", "address": { "city": "merchant city", "country": "IN" } }, "senderReference": "REFNUM123", "acquirerCountryCode": "643", "senderAccountNumber": "456789123456", "merchantCategoryCode": "6012", "businessApplicationId": "CO", "systemsTraceAuditNumber": "567889", "transactionCurrencyCode": "356", "localTransactionDateTime": "2018-05-30T09:51:18", "retrievalReferenceNumber": "412123412878", "recipientPrimaryAccountNumber": "4123640062698797" }, "x-name": "CashOutPushPayments POST", "x-notes": "", "x-codegen-request-body-name": "CreateCashOutPushPaymentPayload", "x-samplePayloadXML": "\n\n\t450123\n\t412123412878\n\t4123640062698797\n\t124.05\n\t2018-05-30T09:51:18\n\t643\n\t400171\n\t356\n\tCO\n\tMohammed Qasim\n\t6012\n\tREFNUM123\n\t456789123456\n\t\n\t\tTest merchant\n\t\tCA-IDCode-77765\n\t\t
\n\t\t\tIN\n\t\t\tmerchant city\n\t\t
\n\t
\n
\n", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1mvisa~1v1~1cashoutpushpayments/post", "default": false } ] } }, "/visadirect/mvisa/v1/cashoutpushpayments/{statusIdentifier}": { "get": { "tags": [ "mVisa API" ], "summary": "CashOutPushPayments GET", "description": "Get the status and details for a specific CashOutPushPayments POST request when timeout occurs.", "operationId": "CashOutPushPayments GET", "parameters": [ { "name": "statusIdentifier", "in": "path", "description": "Status Identifier", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Cash Out Push Payment Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CashOutPushPaymentResponse" }, "examples": { "Default": { "summary": "Default", "value": { "transmissionDateTime": "2016-01-07T07:02:28.000Z", "approvalCode": "21324K", "cardAcceptor": { "address": { "country": "IN", "city": "merchant city" }, "name": "Test Merchant" }, "transactionIdentifier": 23423432, "actionCode": "00", "retrievalReferenceNumber": "412123412878", "responseCode": "5" } } } }, "application/xml": { "schema": { "$ref": "#/components/schemas/CashOutPushPaymentResponse" }, "example": "\n\n 23423432\n 00\n 21324K\n 5\n 2016-01-07T07:01:52.000Z\n 412365987412\n \n Test Merchant\n
\n merchant city\n IN\n
\n
\n
" } } } }, "x-samplePayload": {}, "x-name": "CashOutPushPayments GET", "x-notes": "Get the status and details for a specific CashOutPushPayments POST request.The CashOutPushPayments GET operation can be invoked when the initial CashOutPushPayments POST request has returned a timeout error. When a timeout occurs, the response will include the appropriate CashOutPushPayments Link header which the client then uses to get the status and details of the initial request.", "x-samplePayloadXML": "", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1mvisa~1v1~1cashoutpushpayments~1{statusIdentifier}/get", "default": false } ], "x-hideTryIt": true } }, "/visadirect/mvisa/v1/cashinpushpayments": { "post": { "tags": [ "mVisa API" ], "summary": "CashInPushPayments POST", "description": "Cash-in Push Payments allows consumer to deposit cash into their own account at merchant. The API is invoked in the following sequence:
1. A merchant connects to their account through the mobile device, provides transfer instructions and authenticates themselves. The transfer instructions provided by the merchant includes the depositing consumer's PAN used to route the transaction, and the amount to be deposited.
2. Upon receiving the payment instructions, the merchant's acquirer invokes CashInPushPayments POST operation to push cash-in instructions to the consumer's Visa account.
3. The issuer processes the Visa message, instantly credits the consumer account if valid and reverts back with a response message containing the CashInPushPayments response attributes.
4. On completion, both the consumer and merchant receive confirmation or decline notification. The consumer then provides the cash to the merchant.", "operationId": "CashInPushPayments POST", "requestBody": { "description": "Request body for creating in cash in push payment", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CashInPushPaymentPayload" }, "examples": { "Default": { "summary": "Default", "value": { "amount": "124.05", "localTransactionDateTime": "2021-09-10T02:58:26", "recipientPrimaryAccountNumber": "4123640062698797", "cardAcceptor": { "address": { "country": "IN", "city": "Bangalore" }, "idCode": "ID-Code123", "name": "Test Merchant" }, "senderReference": "1234", "acquirerCountryCode": "643", "acquiringBin": "400171", "retrievalReferenceNumber": "430000367618", "systemsTraceAuditNumber": "313042", "senderName": "Mohammed Qasim", "businessApplicationId": "CI", "merchantCategoryCode": "6012", "transactionCurrencyCode": "840", "senderAccountNumber": "4541237895236" } } } }, "application/xml": { "schema": { "$ref": "#/components/schemas/CashInPushPaymentPayload" } } }, "required": true }, "responses": { "200": { "description": "Cash In Push Payment Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CashInPushPaymentResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/CashInPushPaymentResponse" } } } } }, "x-samplePayload": { "amount": "124.05", "senderName": "Mohammed Qasim", "acquiringBin": "400171", "cardAcceptor": { "name": "Test Merchant", "idCode": "ID-Code123", "address": { "city": "Bangalore", "country": "IN" } }, "senderReference": "1234", "acquirerCountryCode": "643", "senderAccountNumber": "4541237895236", "merchantCategoryCode": "6012", "businessApplicationId": "CI", "systemsTraceAuditNumber": "313042", "transactionCurrencyCode": "840", "localTransactionDateTime": "2018-05-30T09:29:29", "retrievalReferenceNumber": "430000367618", "recipientPrimaryAccountNumber": "4123640062698797" }, "x-name": "CashInPushPayments POST", "x-notes": "", "x-codegen-request-body-name": "CreateCashInPushPaymentPayload", "x-samplePayloadXML": "\n\n\t313042\n\t430000367618\n\t4123640062698797\n\t124.05\n\t2018-05-30T09:29:29\n\t643\n\t400171\n\tUSD\n\tCI\n\t4541237895236\n\t1234\n\tMohammed Qasim\n\t6012\n\t\n\t\tCard Accpector ABC\n\t\tID-Code123\n\t\t
\n\t\t\tIN\n\t\t\tBangalore\n\t\t
\n\t
\n
", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1mvisa~1v1~1cashinpushpayments/post", "default": false } ] } }, "/visadirect/mvisa/v1/merchantpushpayments": { "post": { "tags": [ "mVisa API" ], "summary": "MerchantPushPayments POST", "description": "MerchantPushPayments is used for payment to a merchant for goods or services purchased, either face-to-face or remote ecommerce payment. This API is invoked in the following sequence:
1.The consumer connects the account through the mobile device, provides payment instructions and authenticates themselves. The merchant information is captured by the consumer's mobile from the merchant information display which can be through key entry, QR code, NFC or other means.
2. Upon receiving the payment instructions, the consumer's issuer invokes MerchantPushPayments POST operation to push payment instructions to the merchant's account.
3. The merchant acquirer processes the Visa message, creates a record of merchant payment and reverts back with a response message containing the MerchantPushPayments response attributes.
4. On completion, both the consumer and the merchant receive confirmation or decline notification.", "operationId": "MerchantPushPayments POST", "requestBody": { "description": "Request body for creating in merchant push payment", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchantPushPaymentPayload-1" }, "examples": { "Default": { "summary": "Default", "value": { "amount": "124.05", "secondaryId": "123TEST", "localTransactionDateTime": "2021-09-10T02:56:26", "recipientPrimaryAccountNumber": "4123640062698797", "cardAcceptor": { "address": { "country": "IN", "city": "KOLKATA" }, "idCode": "CA-IDCode-77765", "name": "Visa Inc. USA-Foster City" }, "senderReference": "", "acquirerCountryCode": "356", "acquiringBin": "408972", "retrievalReferenceNumber": "412770451035", "purchaseIdentifier": { "referenceNumber": "REF_123456789123456789123", "type": "0" }, "systemsTraceAuditNumber": "451035", "senderName": "Jasper", "businessApplicationId": "MP", "settlementServiceIndicator": "9", "merchantCategoryCode": "5812", "transactionCurrencyCode": "356", "senderAccountNumber": "4027290077881587" } } } }, "application/xml": { "schema": { "$ref": "#/components/schemas/MerchantPushPaymentPayload-1" } } }, "required": true }, "responses": { "200": { "description": "Merchant Push Payment Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchantPushPaymentResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/MerchantPushPaymentResponse" } } } } }, "x-samplePayload": { "amount": "124.05", "senderName": "Jasper", "secondaryId": "123TEST", "acquiringBin": "408972", "cardAcceptor": { "name": "Visa Inc. USA-Foster City", "idCode": "CA-IDCode-77765", "address": { "city": "KOLKATA", "country": "IN" } }, "senderReference": "", "purchaseIdentifier": { "type": "0", "referenceNumber": "REF_123456789123456789123" }, "acquirerCountryCode": "356", "senderAccountNumber": "4027290077881587", "merchantCategoryCode": "5812", "businessApplicationId": "MP", "systemsTraceAuditNumber": "451035", "transactionCurrencyCode": "356", "localTransactionDateTime": "2018-05-30T05:36:14", "retrievalReferenceNumber": "412770451035", "settlementServiceIndicator": "9", "recipientPrimaryAccountNumber": "4123640062698797" }, "x-name": "MerchantPushPayments POST", "x-notes": "", "x-codegen-request-body-name": "MerchantPushPaymentPayload", "x-samplePayloadXML": "\n\n 451035\n 412770451035\n 4123640062698797\n 124.05\n 2018-05-30T05:36:14\n 5812\n 356\n 408972\n 356\n MP\n Jasper\n 9\n \n Visa Inc. USA-Foster City\n CA-IDCode-77765\n
\n IN\n KOLKATA\n
\n
\n 4027290077881587\n 123TEST\n \n 0\n REF_123456789123456789123\n \n
", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1mvisa~1v1~1merchantpushpayments/post", "default": false } ] } }, "/visadirect/v1/adjustment": { "post": { "tags": [ "Adjustment API" ], "summary": "Create Adjustment Reverse Funds Transaction", "description": "Create Adjustment Funds Transaction

The AdjustmentFundsTransactions adjusts funds by initiating a financial message called Adjustment.", "operationId": "adjustFundsTransaction", "requestBody": { "description": "Request body for creating adjustment of funds transfer", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdjustFundsTransactionPostPayload" }, "examples": { "Default": { "summary": "Default", "value": { "rewardProgramIdentificationCode": "A34324", "amount": "124.01", "localTransactionDateTime": "2020-05-21T09:00:00", "cpsAuthorizationCharacteristicsIndicator": "Y", "pointOfServiceData": { "panEntryMode": "01", "posConditionCode": "00" }, "digitalWalletProviderId": "VCIND", "colombiaNationalServiceData": { "addValueTaxReturn": "10.00", "taxAmountConsumption": "10.00", "nationalNetReimbursementFeeBaseAmount": "20.00", "addValueTaxAmount": "10.00", "nationalNetMiscAmount": "10.00", "countryCodeNationalService": "170", "nationalChargebackReason": "11", "emvTransactionIndicator": "1", "nationalNetMiscAmountType": "A", "costTransactionIndicator": "0", "nationalReimbursementFee": "20.00" }, "cardAcceptor": { "address": { "country": "USA", "zipCode": "94404", "county": "San Mateo", "state": "CA" }, "idCode": "ABCD1234ABCD123", "name": "Visa Inc.", "terminalId": "ABCD1234" }, "transactionIdentifier": "381228649430056", "acquirerCountryCode": "840", "acquiringBin": "408999", "senderCurrencyCode": "USD", "retrievalReferenceNumber": "433122895499", "transactionTypeCode": 22, "messageReasonCode": 2150, "systemsTraceAuditNumber": "895499", "businessApplicationId": "AA", "senderPrimaryAccountNumber": "4895070000003551", "settlementServiceIndicator": "9", "cardProductCode": "15", "merchantCategoryCode": "6012", "senderCardExpiryDate": "2021-10", "dynamicCurrencyConversionIndicator": "Y" } } } }, "application/xml": { "schema": { "$ref": "#/components/schemas/AdjustFundsTransactionPostPayload" }, "examples": { "Default": { "summary": "Default", "value": "\n\t \n\t\t 451050\n\t\t 330000550000\n\t\t 381228649430011\n\t\t 2140\n\t\t 22\n\t\t 2020-05-06T17:06:25\n\t\t 408999\n\t\t 840\n\t\t 4895070000003551\n\t\t 2015-10\n\t\t USD\n\t\t 1000\n\t\t \n\t\t\t Visa Inc. USA-Foster City\n\t\t\t 365539\n\t\t\t VMT200911026070\n\t\t\t
\n\t\t\t\t CA\n\t\t\t\t San Mateo\n\t\t\t\t USA\n\t\t\t\t 94404\n\t\t\t
\n\t\t
\n\t\t AA\n\t\t 6012\n\t\t Y\n\t\t 9\n\t\t 15\n\t\t A34324\n\t\t VCIND\n\t\t Y\n\t\t \n\t\t\t 01\n\t\t\t 00\n\t\t\t\n\t \n\t\t\t 170\n\t\t\t 20.00\n\t\t\t A\n\t\t\t 20.00\n\t\t\t 10.00\n\t\t\t 10.00\n\t\t\t 10.00\n\t\t\t 10.00\n\t\t\t 0\n\t\t\t 1\n\t\t\t 11\n\t\t \n\t
" } } } }, "required": true }, "responses": { "200": { "description": "Adjustment Funds Transfer Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdjustFundsTransactionPostResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/AdjustFundsTransactionPostResponse" } } } } }, "x-samplePayload": { "amount": "124.01", "surcharge": "11.2", "acquiringBin": "408999", "cardAcceptor": { "name": "Visa Inc.", "idCode": "ABCD1234ABCD123", "address": { "state": "CA", "county": "San Mateo", "country": "USA", "zipCode": "94404" }, "terminalId": "ABCD1234" }, "cardProductCode": "15", "messageReasonCode": 2150, "pointOfServiceData": { "panEntryMode": "01", "posConditionCode": "00" }, "senderCurrencyCode": "USD", "acquirerCountryCode": "840", "transactionTypeCode": 22, "merchantCategoryCode": "6012", "senderCardExpiryDate": "2021-10", "businessApplicationId": "AA", "transactionIdentifier": "381228649430056", "digitalWalletProviderId": "VCIND", "systemsTraceAuditNumber": "895499", "localTransactionDateTime": "2020-05-21T09:00:00", "retrievalReferenceNumber": "433122895499", "senderPrimaryAccountNumber": "4895070000003551", "settlementServiceIndicator": "9", "colombiaNationalServiceData": { "addValueTaxAmount": "10.00", "addValueTaxReturn": "10.00", "taxAmountConsumption": "10.00", "nationalNetMiscAmount": "10.00", "emvTransactionIndicator": "1", "costTransactionIndicator": "0", "nationalChargebackReason": "11", "nationalReimbursementFee": "20.00", "nationalNetMiscAmountType": "A", "countryCodeNationalService": "170", "nationalNetReimbursementFeeBaseAmount": "20.00" }, "rewardProgramIdentificationCode": "A34324", "dynamicCurrencyConversionIndicator": "Y", "cpsAuthorizationCharacteristicsIndicator": "Y" }, "x-name": "Create Adjustment Reverse Funds Transaction", "x-notes": "Initiate a Adjustment Transactions POST operation for a single transaction. The Adjustment FundsTransactions POST operation is invoked in the context of a single operation sequence.", "x-codegen-request-body-name": "AdjustFundsTransactionPayload", "x-samplePayloadXML": "\n\t \n\t\t 451050\n\t\t 330000550000\n\t\t 381228649430011\n\t\t 2140\n\t\t 22\n\t\t 2020-05-06T17:06:25\n\t\t 408999\n\t\t 840\n\t\t 4895070000003551\n\t\t 2015-10\n\t\t USD\n\t\t 1000\n\t\t \n\t\t\t Visa Inc. USA-Foster City\n\t\t\t 365539\n\t\t\t VMT200911026070\n\t\t\t
\n\t\t\t\t CA\n\t\t\t\t San Mateo\n\t\t\t\t USA\n\t\t\t\t 94404\n\t\t\t
\n\t\t
\n\t\t AA\n\t\t 6012\n\t\t Y\n\t\t 9\n\t\t 15\n\t\t A34324\n\t\t VCIND\n\t\t Y\n\t\t \n\t\t\t 01\n\t\t\t 00\n\t\t\t\n\t \n\t\t\t 170\n\t\t\t 20.00\n\t\t\t A\n\t\t\t 20.00\n\t\t\t 10.00\n\t\t\t 10.00\n\t\t\t 10.00\n\t\t\t 10.00\n\t\t\t 0\n\t\t\t 1\n\t\t\t 11\n\t\t \n\t
", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1v1~1adjustment/post", "default": false } ] } }, "/visadirect/v1/transactionquery": { "get": { "tags": [ "Query API" ], "summary": "Transaction Query using GET", "description": "The Transaction Query API can be used to determine the processing status of a transaction or to retreive the lifecycle of a transaction. This API can be used to check whether a PullFunds, PushFunds or ReverseFunds transaction processed successfully if received by Visa. This API could also be used to retrieve the detailed lifecycle or history of a transaction (e.g. original transaction, chargeback, chargeback reversal etc).

The Transaction Query API can be used to determine the processing status of a transaction or to retreive the lifecycle of a transaction. This API can be used to check whether a PullFunds, PushFunds or ReverseFunds transaction processed successfully if received by Visa. This API could also be used to retrieve the detailed lifecycle or history of a transaction (e.g. original transaction, chargeback, chargeback reversal etc).", "operationId": "transactionquery", "parameters": [ { "name": "acquiringBIN", "in": "query", "description": "The Bank Identification Number (BIN) under which the Visa Direct solution is registered. This must match the information provided during enrollment.", "required": true, "style": "form", "explode": true, "schema": { "maxLength": 11, "minLength": 6, "type": "integer" } }, { "name": "stan", "in": "query", "description": "A number assigned by the message initiator that uniquely identifies a transaction. This is the same as systemsTraceAuditNumber previously sent in the request for the PullFunds, PushFunds or ReverseFunds transaction API calls.
Note: When transactionIdentifier is not used as a query parameter, this parameter must be included along with rrn as query parameters.
e.g.: /transactionquery?acquiringBIN=408999&stan=351480&rrn=221917871070", "required": false, "style": "form", "explode": true, "schema": { "maxLength": 6, "minLength": 6, "type": "integer" } }, { "name": "rrn", "in": "query", "description": "A value used to tie together service calls related to a single financial transaction. This is the same as retrievalReferenceNumber previously sent in the request for PullFunds, PushFunds or ReverseFunds transaction API calls.
Note: When transactionIdentifier is not used as a query parameter, this parameter must be included along with stan as query parameters.
e.g.: /transactionquery?acquiringBIN=408999&stan=351480&rrn=221917871070", "required": false, "style": "form", "explode": true, "schema": { "maxLength": 12, "minLength": 12, "type": "string" } }, { "name": "requestType", "in": "query", "description": "This parameter will contain the deferred OCT request type.

00 : (Not a deferred OCT). This value indicates that the request is not a deferred OCT. Visa will send this value to the recipient issuer in the request. This acts as the default value if not provided in the request.

01 : (Originator hold). This value indicates that the originating acquirer has held the OCT for a period of time before sending to Visa and is requesting for Visa to treat the transaction as a deferred OCT. Visa will send this value to the recipient issuer in the request.
Note: The value of 01 is reserved for originating acquirers that meet certain conditions. Contact your regional client support representative for more information.

02 : (Visa deferred OCT hold, default interval). This value indicates that the originating acquirer is requesting Visa to apply the default holding period of 48 hours upon receipt and process the request as a deferred OCT. Visa will send this value to the recipient issuer in the request.
Note: Query parameters acquiringBIN, stan and rrn are mandatory parameters when querying deferred OCT having request type as 02, while transactionIdentifier is an optional parameter. The parameters transactionStartDate and transactionEndDate are also optional parameters and should contain the transaction date for which the query needs to be performed. Note that the transactionStartDate and transactionEndDate should be same for deferred OCT, when not provided in the request, would default to the current date. The remaining parameters are ignored for deferred OCT requestType 02.", "required": false, "style": "form", "explode": true, "schema": { "maxLength": 2, "minLength": 2, "type": "string" } }, { "name": "transactionIdentifier", "in": "query", "description": "The VisaNet reference number for the transaction. This is the same transactionIdentifier previously received in the response for PullFunds, PushFunds or ReverseFunds transaction API calls.
Note: When stan and rrn parameters combination is not used as query parameters, this parameter must be included as a query parameter.
e.g.: /transactionquery?acquiringBIN=408999&transactionIdentifier=234234322342343", "required": false, "style": "form", "explode": true, "schema": { "maxLength": 15, "minLength": 15, "type": "string" } }, { "name": "caid", "in": "query", "description": "An identifier for the card acceptor. This is the same as cardAcceptor.idCode previously sent in the request for PullFunds, PushFunds or ReverseFunds transaction API calls.", "required": false, "style": "form", "explode": true, "schema": { "maxLength": 15, "minLength": 1, "type": "string" } }, { "name": "transactionStartDate", "in": "query", "description": "The start date for querying the transaction. Can be in previous 120 day range including today's date. Start date cannot be later than End date.", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "format": "DD-MM-YYYY:HH:MM:SS" } }, { "name": "transactionEndDate", "in": "query", "description": "The end date for querying the transacton. Can be in previous 120 day range including today's date.", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "format": "DD-MM-YYYY:HH:MM:SS" } }, { "name": "fields", "in": "query", "description": "Comma separated list of additional fields requestor would like in response e.g. amount, responseCode
Note:
If no fields parameter is specified, then following fields are returned by default in the response
1) statusCode
2) acquiringBin
3) actionCode
4) approvalCode
5) responseCode
6) transactionIdentifier
7) transactionType
8) retrievalReferenceNumber
9) systemsTraceAuditNumber
10) transactionDate
11) transactionTime", "required": false, "style": "form", "explode": true, "schema": { "type": "string" } }, { "name": "limit", "in": "query", "description": "Number of records to return, if there are multiple records. Useful for pagination. e.g. if there are 29 records, limit=10 returns 10 records at a time
Note:
1) If no limit parameter is specified, then max of 10 records will be returned by default.
2) A header value x-pagination=true will be returned if there are more than 10 records, so that you can query with offset and limit parameters to get the next set of records.", "required": false, "style": "form", "explode": true, "schema": { "type": "integer" } }, { "name": "offset", "in": "query", "description": "Starting record number, from where to return records. Useful for pagination. e.g. if offset =11 and limit =10, then records 11 thru 20 will be returned.", "required": false, "style": "form", "explode": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Query Transaction Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/QueryTransactionResponse" } }, "examples": { "Default": { "summary": "Default", "value": [ { "transactionType": "SALES DRAFT", "systemsTraceAuditNumber": "952909", "approvalCode": "002798", "transactionIdentifier": "388234793890020", "actionCode": "00", "acquiringBin": "408999", "retrievalReferenceNumber": "823410000885", "transactionDate": "22-08-2018", "transactionTime": "22:03:09", "statusCode": "COMPLETED", "responseCode": "4" }, { "transactionType": "SALES DRAFT", "systemsTraceAuditNumber": "952909", "approvalCode": "002798", "originalActionCode": "00", "transactionIdentifier": "388234793890020", "actionCode": "94", "acquiringBin": "408999", "retrievalReferenceNumber": "823410000885", "transactionDate": "22-08-2018", "transactionTime": "22:03:09", "statusCode": "COMPLETED", "responseCode": "4" }, { "transactionType": "SALES REVERSAL", "systemsTraceAuditNumber": "952909", "approvalCode": "002798", "transactionIdentifier": "388234793890020", "actionCode": "00", "acquiringBin": "408999", "retrievalReferenceNumber": "823410000885", "transactionDate": "22-08-2018", "transactionTime": "22:03:09", "statusCode": "COMPLETED", "responseCode": "C" } ] } } }, "application/xml": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/QueryTransactionResponse" } } } } } }, "x-name": "transactionquery", "x-samplerequest": "https://sandbox.api.visa.com/visadirect/v1/transactionquery?acquiringBIN=408999&rrn=823410000885&stan=952909", "x-sampleresponse": [ { "actionCode": "00", "statusCode": "COMPLETED", "acquiringBin": "408999", "approvalCode": "002798", "responseCode": "4", "transactionDate": "22-08-2018", "transactionTime": "22:03:09", "transactionType": "SALES DRAFT", "transactionIdentifier": "388234793890020", "systemsTraceAuditNumber": "952909", "retrievalReferenceNumber": "823410000885" }, { "actionCode": "94", "statusCode": "COMPLETED", "acquiringBin": "408999", "approvalCode": "002798", "responseCode": "4", "transactionDate": "22-08-2018", "transactionTime": "22:03:09", "transactionType": "SALES DRAFT", "originalActionCode": "00", "transactionIdentifier": "388234793890020", "systemsTraceAuditNumber": "952909", "retrievalReferenceNumber": "823410000885" }, { "actionCode": "00", "statusCode": "COMPLETED", "acquiringBin": "408999", "approvalCode": "002798", "responseCode": "C", "transactionDate": "22-08-2018", "transactionTime": "22:03:09", "transactionType": "SALES REVERSAL", "transactionIdentifier": "388234793890020", "systemsTraceAuditNumber": "952909", "retrievalReferenceNumber": "823410000885" } ], "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1v1~1transactionquery/get", "default": false } ], "x-hideTryIt": true } }, "/visadirect/fundstransfer/cancel": { "post": { "tags": [ "Cancel OCT API" ], "summary": "Create Cancel Deferred Push Funds Transaction", "description": "Create Cancel Deferred Push Funds Transaction", "operationId": "createCancelDeferredPushFundsTransaction", "requestBody": { "description": "Request body for creating Cancel Deferred push funds transfer", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CancelDeferredPushFundsTransactionPostPayload" }, "examples": { "Default": { "summary": "Default", "value": { "systemsTraceAuditNumber": "152333", "acquiringBin": 408999, "retrievalReferenceNumber": "115201533133" } } } }, "application/xml": { "schema": { "$ref": "#/components/schemas/CancelDeferredPushFundsTransactionPostPayload" }, "examples": { "XML payload": { "summary": "XML payload", "value": "\n\n 015623\n 115752111623\n 408999\n" } } } }, "required": true }, "responses": { "200": { "description": "Conditional.

Cancel Deferred Push Funds Transfer Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CancelDeferredPushFundsTransactionPostResponse" }, "examples": { "Default": { "summary": "Default", "value": { "transactionIdentifier": 461253406200001, "actionCode": "85" } } } }, "application/xml": { "schema": { "$ref": "#/components/schemas/CancelDeferredPushFundsTransactionPostResponse" }, "examples": { "XML payload": { "summary": "XML payload", "value": "\n\n 461263305410002\n 25\n" } } } } } }, "x-samplePayload": { "acquiringBin": "408999", "transactionIdentifier": 234234322342343, "systemsTraceAuditNumber": "451018", "retrievalReferenceNumber": "412770451018" }, "x-name": "Create Cancel Deferred Push Funds Transaction", "x-notes": "Initiate a CancelDeferredPushFundsTransactions POST operation for a single transaction. The CancelDeferredPushFundsTransactions POST operation can be invoked to Cancel Deferred PushFundsTransactions .", "x-codegen-request-body-name": "CreatePullFundsTransactionPayload", "x-samplePayloadXML": "149748412770451018451018234234322342343", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1fundstransfer~1cancel/post", "default": false } ], "x-hideTryIt": true } }, "/visadirect/v1/pushpayment/advice/receive/co": { "post": { "tags": [ "Receive Side Callback API" ], "summary": "Receive Cash out Advice API specification", "description": "Advice message is generated if one of the following exceptions occurs.<ul><li>Timeout occurs at acquirer’s processing system when Visa is waiting for a response of a payload request.</li><li>VisaNet has declined a transaction initiated by the issuer.</li><li>VisaNet has declined a transaction on behalf of the acquirer, as the velocity setup by acquirer has exceeded.</li><li>VisaNet has rejected a response from the Acquirer, as invalid values were detected in the message.</li></ul><br>If the acquirer has approved the original transaction but the response got rejected for whatsoever reason or timed out, the acquirer should reverse the credit to the agent account based on the advice message.", "operationId": "Receive Cash-Out Payment Advice", "requestBody": { "description": "Request body for Receive Cash-Out Advice API", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CashOutAdviceRequest" } } }, "required": true }, "responses": { "200": { "description": "Response body for Receive Cash-Out Advice API - Nil (i.e. no data element).", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/200" }, "example": {} }, "application/xml": { "example": "" } } }, "400": { "description": "Error may be due to the following plausible reasons.
  • Missing required field
  • Field value exceeds the specified length.
  • Field formatting does not match the expected format.
  • Type mismatch like Non-string values in string fields
  • Invalid JSON request /The recipient API server could not understand the request.
  • Failed to decrypt the encrypted fields
", "content": {} }, "500": { "description": "Any unexpected error that may happen on the recipient server while processing the request.", "content": {} } }, "x-name": "Receive Cash out Advice API specification", "x-notes": "", "x-internalUri": {}, "x-codegen-request-body-name": "CashOutAdviceRequest", "x-slug": "operation_slug", "x-description": "Receive Cash-out Advice API specification", "x-samplePayloadXML": "", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1v1~1pushpayment~1advice~1receive~1co/post", "default": false } ], "x-hideSample": true, "x-hideTryIt": true } }, "/visadirect/v1/pushpayment/transactions/receive/ci": { "post": { "tags": [ "Receive Side Callback API" ], "summary": "Receive Cash in API specification", "description": "The Receive Cash-In API is implemented by client so that Visa can call this API to request client to receive cash deposit transactions initiated by the agents. The issuer credits the consumer’s account with the funds.", "operationId": "Receive Cash-In Payment", "requestBody": { "description": "Request body for Receive Cash-In API", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CashInRequest" } } }, "required": true }, "responses": { "200": { "description": "Response body for Receive Cash-In API", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CashInResponse" } } } }, "400": { "description": "Error may be due to the following plausible reasons.
  • Missing required field
  • Field value exceeds the specified length.
  • Field formatting does not match the expected format.
  • Type mismatch like Non-string values in string fields
  • Invalid JSON request /The recipient API server could not understand the request.
  • Failed to decrypt the encrypted fields
", "content": {} }, "500": { "description": "Any unexpected error that may happen on the recipient server while processing the request.", "content": {} } }, "x-name": "Receive Cash in API specification", "x-notes": "", "x-internalUri": {}, "x-codegen-request-body-name": "CashInRequest", "x-slug": "operation_slug", "x-description": "Receive Cash-in API specification", "x-samplePayloadXML": "", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1v1~1pushpayment~1transactions~1receive~1ci/post", "default": false } ], "x-hideSample": true, "x-hideTryIt": true } }, "/visadirect/v1/pushpayment/transactions/receive/co": { "post": { "tags": [ "Receive Side Callback API" ], "summary": "Receive Cash Out API specification", "description": "The Receive Cash-Out API is implemented by client so that Visa can call this API to request client to receive cash-out transaction initiated by the consumer. The acquirer credits the agent’s account with the funds.", "operationId": "Receive Cash Out Payment", "requestBody": { "description": "Request body for Receive Cash-Out API", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CashOutRequest" } } }, "required": true }, "responses": { "200": { "description": "Response body for Receive Cash-Out API", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CashOutResponse" } } } }, "400": { "description": "Error may be due to the following plausible reasons.
  • Missing required field
  • Field value exceeds the specified length.
  • Field formatting does not match the expected format.
  • Type mismatch like Non-string values in string fields
  • Invalid JSON request /The recipient API server could not understand the request.
  • Failed to decrypt the encrypted fields

Regarding other errors such as 'invalid Agent PAN' not found in acquirer's system, the acquirer should return HTTP 200 response with decline response code instead of sending HTTP 400 response.", "content": {} }, "500": { "description": "Any unexpected error that may happen on the recipient server while processing the request.", "content": {} } }, "x-name": "Receive Cash Out API specification", "x-notes": "", "x-internalUri": {}, "x-codegen-request-body-name": "CashOutRequest", "x-slug": "operation_slug", "x-description": "Receive Cash-Out API specification", "x-samplePayloadXML": "", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1v1~1pushpayment~1transactions~1receive~1co/post", "default": false } ], "x-hideSample": true, "x-hideTryIt": true } }, "/visadirect/v1/pushpayment/transactions/receive/p2m": { "post": { "tags": [ "Receive Side Callback API" ], "summary": "Receive Person to Merchant API specification", "description": "The Receive Merchant Payment API is implemented by client so that Visa can call this API to request client to receive and process the merchant payment transaction sent by the Sending insititution. The acquirer credits the merchant’s account with the funds.", "operationId": "Receive Merchant Payment", "requestBody": { "description": "Request body for Receive Person-to-Merchant API", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PersonToMerchantRequest" } } }, "required": true }, "responses": { "200": { "description": "Response body for Receive Person-to-Merchant API", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PersonToMerchantResponse" } } } }, "400": { "description": "Error may be due to the following plausible reasons.
  • Missing required field
  • Field value exceeds the specified length.
  • Field formatting does not match the expected format.
  • Type mismatch like Non-string values in string fields
  • Invalid JSON request /The recipient API server could not understand the request.
  • Failed to decrypt the encrypted fields

Regarding other errors such as 'invalid Merchant PAN' not found in acquirer's system, the acquirer should return HTTP 200 response with decline response code instead of sending HTTP 400 response.", "content": {} }, "500": { "description": "Any unexpected error that may happen on the recipient server while processing the request.", "content": {} } }, "x-name": "Receive Person to Merchant API specification", "x-notes": "", "x-internalUri": {}, "x-codegen-request-body-name": "PersonToMerchantRequest", "x-slug": "operation_slug", "x-description": "Receive Person-to-Merchant API specification", "x-samplePayloadXML": "", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1v1~1pushpayment~1transactions~1receive~1p2m/post", "default": false } ], "x-hideSample": true, "x-hideTryIt": true } }, "/visadirect/v1/pushpayment/advice/receive/ci": { "post": { "tags": [ "Receive Side Callback API" ], "summary": "Receive Cash in Advice API specification", "description": "Advice message is generated if one of the following exceptions occurs.<ul><li>Timeout occurs at acquirer’s processing system when Visa is waiting for a response of a payload request.</li><li>VisaNet has declined a transaction initiated by the issuer.</li><li>VisaNet has declined a transaction on behalf of the acquirer, as the velocity setup by acquirer has exceeded.</li><li>VisaNet has rejected a response from the Acquirer, as invalid values were detected in the message.</li></ul><br>If the issuer has approved the original transaction but the response got rejected for whatsoever reason or timed out, the issuer should reverse the credit to the consumer account based on the advice message.", "operationId": "Receive Cash In Payment Advice", "requestBody": { "description": "Request body for Receive Cash-In Advice API", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CashInAdviceRequest" } } }, "required": true }, "responses": { "200": { "description": "Response body for Receive Cash-In Advice API - Nil (i.e. no data element).", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/200" }, "example": {} }, "application/xml": { "example": "" } } }, "400": { "description": "Error may be due to the following plausible reasons.
  • Missing required field
  • Field value exceeds the specified length.
  • Field formatting does not match the expected format.
  • Type mismatch like Non-string values in string fields
  • Invalid JSON request /The recipient API server could not understand the request.
  • Failed to decrypt the encrypted fields
", "content": {} }, "500": { "description": "Any unexpected error that may happen on the recipient server while processing the request.", "content": {} } }, "x-name": "Receive Cash in Advice API specification", "x-notes": "", "x-internalUri": {}, "x-codegen-request-body-name": "CashInAdviceRequest", "x-slug": "operation_slug", "x-description": "Receive Cash-in Advice API specification", "x-samplePayloadXML": "", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1v1~1pushpayment~1advice~1receive~1ci/post", "default": false } ], "x-hideSample": true, "x-hideTryIt": true } }, "/visadirect/v1/pushpayment/advice/receive/p2m": { "post": { "tags": [ "Receive Side Callback API" ], "summary": "Receive Person-to-Merchant Advice API specification", "description": "Advice message is generated if one of the following exceptions occurs.<ul><li>Timeout occurs at acquirer’s processing system when Visa is waiting for a response of a payload request.</li><li>VisaNet has declined a transaction initiated by the issuer.</li><li>VisaNet has declined a transaction on behalf of the acquirer, as the velocity setup by acquirer has exceeded.</li><li>VisaNet has rejected a response from the Acquirer, as invalid values were detected in the message.</li></ul><br>If the acquirer has approved the original transaction but the response got rejected for whatsoever reason or timed out, the acquirer should reverse the credit to the merchant account based on the advice message.", "operationId": "Receive Merchant Payment Advice", "requestBody": { "description": "Request body for Receive Person-to-Merchant Advice API", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PersonToMerchantAdviceRequest" } } }, "required": true }, "responses": { "200": { "description": "Response body for Receive Person-to-Merchant Advice API - Nil (i.e. no data element).", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/200" }, "example": {} }, "application/xml": { "example": "" } } }, "400": { "description": "Error may be due to the following plausible reasons.
  • Missing required field
  • Field value exceeds the specified length.
  • Field formatting does not match the expected format.
  • Type mismatch like Non-string values in string fields
  • Invalid JSON request /The recipient API server could not understand the request.
  • Failed to decrypt the encrypted fields
", "content": {} }, "500": { "description": "Any unexpected error that may happen on the recipient server while processing the request.", "content": {} } }, "x-name": "Receive Person-to-Merchant Advice API specification", "x-notes": "", "x-internalUri": {}, "x-codegen-request-body-name": "PersonToMerchantAdviceRequest", "x-slug": "operation_slug", "x-description": "Receive Person-to-Merchant Advice API specification", "x-samplePayloadXML": "", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1v1~1pushpayment~1advice~1receive~1p2m/post", "default": false } ], "x-hideSample": true, "x-hideTryIt": true } }, "/visadirect/fundstransfer/v1/multipushfundstransactions/{statusIdentifier}": { "get": { "tags": [ "Funds Transfer API" ], "summary": "Read Multi Push Funds Transaction", "description": "Read Multi Push Funds Transaction

Get the status and details for a specific MultiPushFundsTransactions POST request.", "operationId": "readMultiPushFundsTransaction", "parameters": [ { "name": "transaction-id", "in": "path", "description": "transaction-id", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Multi Push Funds Transfer Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MultiPushFundsTransactionGetResponse" }, "examples": { "Default": { "summary": "Default", "value": { "localTransactionDateTime": "2016-01-04T21:32:52.000", "businessApplicationId": "AA", "response": [ { "systemsTraceAuditNumber": 350420, "octResponseDetail": { "transmissionDateTime": "2016-01-07T05:59:32.000Z", "transactionIdentifier": 23423432, "actionCode": "01", "retrievalReferenceNumber": "330000550000", "responseCode": "5" } }, { "systemsTraceAuditNumber": 350420, "octResponseDetail": { "transmissionDateTime": "2016-01-07T05:59:32.000Z", "transactionIdentifier": 23423432, "actionCode": "01", "retrievalReferenceNumber": "330000550000", "responseCode": "5" } }, { "systemsTraceAuditNumber": 350420, "octResponseDetail": { "transmissionDateTime": "2016-01-07T05:59:32.000Z", "transactionIdentifier": 23423432, "actionCode": "01", "retrievalReferenceNumber": "330000550000", "responseCode": "5" } } ], "acquirerCountryCode": 840, "acquiringBin": 408999 } } } }, "application/xml": { "schema": { "$ref": "#/components/schemas/MultiPushFundsTransactionGetResponse" }, "examples": { "Default": { "summary": "Default", "value": "\n\n 408999\n 840\n AA\n 2016-01-04T21:32:52.000Z\n \n 350420\n \n 23423432\n 01\n 5\n 2016-01-07T05:59:32.000Z\n 330000550000\n \n \n \n 350420\n \n 23423432\n 01\n 5\n 2016-01-07T05:59:32.000Z\n 330000550000\n \n \n \n 350420\n \n 23423432\n 01\n 5\n 2016-01-07T05:59:32.000Z\n 330000550000\n \n \n\n" } } } } } }, "x-name": "Read Multi Push Funds Transaction", "x-notes": "Get the status and details for a specific MultiPushFundsTransactions POST request The MultiPushFundsTransactions GET operation can be invoked when the initial MultiPushFundsTransactions POST request has been submitted successfully. All successful MultiPushFundsTransactions POST requests will return a simple 202 response with the appropriate MultiPushFundsTransactions Link header which the client then uses it to get the status and details of the initial request.", "x-samplePayloadXML": "", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1fundstransfer~1v1~1multipushfundstransactions~1{statusIdentifier}/get", "default": false } ], "x-hideTryIt": true } }, "/visadirect/fundstransfer/v1/pushfundstransactions/{statusIdentifier}": { "get": { "tags": [ "Funds Transfer API" ], "summary": "Read Push Funds Transaction", "description": "Get the status and details for a specific PushFundsTransactions POST request.The PushFundsTransactions GET operation can be invoked when the initial PushFundsTransactions POST request has returned a timeout error. When a timeout occurs, the response will include the appropriate PushFundsTransactions Link header which the client then uses to get the status and details of the initial request.

Get the status and details for a specific PushFundsTransactions POST request.", "operationId": "readPushFundsTransaction", "parameters": [ { "name": "statusIdentifier", "in": "path", "description": "Status Identifier", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Push Funds Transfer Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PushFundsTransactionGetResponse" }, "examples": { "Default": { "summary": "Default", "value": { "transmissionDateTime": "2015-12-17T08:35:21.000Z", "transactionIdentifier": 234234322342343, "actionCode": "65", "retrievalReferenceNumber": "330000550000", "responseCode": "5" } } } }, "application/xml": { "schema": { "$ref": "#/components/schemas/PushFundsTransactionGetResponse" }, "examples": { "Default": { "summary": "Default", "value": "\n\n\n\n 23423432\n\n\n\n 65\n\n\n\n 5\n\n\n\n 2016-01-07T05:54:56.000Z\n\n\n\n 330000550000\n\n\n\n" } } } } } }, "x-name": "Read Push Funds Transaction", "x-notes": "Get the status and details for a specific PushFundsTransactions POST request.The PushFundsTransactions GET operation can be invoked when the initial PushFundsTransactions POST request has returned a timeout error. When a timeout occurs, the response will include the appropriate PushFundsTransactions Link header which the client then uses to get the status and details of the initial request.", "x-samplePayloadXML": "", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1fundstransfer~1v1~1pushfundstransactions~1{statusIdentifier}/get", "default": false } ], "x-hideTryIt": true } }, "/visadirect/fundstransfer/v1/multireversefundstransactions/{statusIdentifier}": { "get": { "tags": [ "Funds Transfer API" ], "summary": "Read Multi Reverse Funds Transaction", "description": "Read Multi Reverse Funds Transaction

Get the status and details for a specific MultiReverseFundsTransactions POST request.", "operationId": "readMultiReverseFundsTransaction", "parameters": [ { "name": "transaction-id", "in": "path", "description": "transaction-id", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Multi Reverse Funds Transfer Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MultiReverseFundsTransactionGetResponse" }, "examples": { "Default": { "summary": "Default", "value": { "localTransactionDateTime": "2016-01-04T17:34:49.000", "response": [ { "aftrResponseDetail": { "transmissionDateTime": "2016-01-07T06:05:05.000Z", "approvalCode": "50607D", "statusIdentifier": 234234322342343, "actionCode": "00", "responseCode": "5" }, "systemsTraceAuditNumber": 355553 }, { "aftrResponseDetail": { "transmissionDateTime": "2016-01-07T06:05:05.000Z", "approvalCode": "50607D", "statusIdentifier": 234234322342343, "actionCode": "00", "responseCode": "5" }, "systemsTraceAuditNumber": 355553 } ], "acquirerCountryCode": 840, "acquiringBin": 408999 } } } }, "application/xml": { "schema": { "$ref": "#/components/schemas/MultiReverseFundsTransactionGetResponse" }, "example": "" } } } }, "x-name": "Read Multi Reverse Funds Transaction", "x-notes": "Get the status and details for a specific MultiReverseFundsTransactions POST request. When the initial MultiReverseFundsTransactions POST request returns a 202 response with statusIdentifier value, the client can then use it as the {statusIdentifier} in the URI of the MultiReverseFundsTransactions GET operation to get the status and details of the initial request.", "x-samplePayloadXML": "\n\n\t408999\n\t840\n\t2015-12-15T17:34:49.000Z\n\t\n\t\t111111\n\t\t\n\t\t\t234234322342343\n\t\t\t50607D\n\t\t\t00\n\t\t\t5\n\t\t\t2015-12-15T09:34:51.000Z\n\t\t\n\t\n\t\n\t\t222222\n\t\t\n\t\t\t234234322342343\n\t\t\t50607D\n\t\t\t00\n\t\t\t5\n\t\t\t2015-12-15T09:34:51.000Z\n\t\t\n\t\n\t\n\t\t333333\n\t\t\n\t\t\t234234322342343\n\t\t\t50607D\n\t\t\t00\n\t\t\t5\n\t\t\t2015-12-15T09:34:51.000Z\n\t\t\n\t\n\t\n\t\t355553\n\t\t\n\t\t\t234234322342343\n\t\t\t50607D\n\t\t\t00\n\t\t\t5\n\t\t\t2015-12-15T09:34:51.000Z\n\t\t\n\t\n\t\n\t\t355553\n\t\t\n\t\t\t234234322342343\n\t\t\t50607D\n\t\t\t00\n\t\t\t5\n\t\t\t2015-12-15T09:34:51.000Z\n\t\t\n\t\n\t\n\t\t355553\n\t\t\n\t\t\t234234322342343\n\t\t\t50607D\n\t\t\t00\n\t\t\t5\n\t\t\t2015-12-15T09:34:52.000Z\n\t\t\n\t\n\t\n\t\t355553\n\t\t\n\t\t\t234234322342343\n\t\t\t50607D\n\t\t\t00\n\t\t\t5\n\t\t\t2015-12-15T09:34:52.000Z\n\t\t\n\t\n\n", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1fundstransfer~1v1~1multireversefundstransactions~1{statusIdentifier}/get", "default": false } ] } }, "/visadirect/fundstransfer/v1/multipushfundstransactions": { "post": { "tags": [ "Funds Transfer API" ], "summary": "Create Multi Push Funds Transaction", "description": "Create Multi Push Funds Transaction

The MultiPushFundsTransactions resource credits (pushes) funds to multiple recipient's Visa accounts by initiating an extension of the Original Credit Transaction (OCT) financial message. The MultiPushFundsTransactions resource can be used to submit large API requests with multiple transactions to gain operational efficiencies.", "operationId": "createMultiPushFundsTransaction", "requestBody": { "description": "Request body for creating in multi push funds transfer", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MultiPushFundsTransactionPostPayload" }, "examples": { "Default": { "summary": "Default", "value": { "request": [ { "amount": "100.00", "senderAddress": "My Address", "localTransactionDateTime": "2016-11-17T18:24:24", "recipientPrimaryAccountNumber": "4957030420210454", "cardAcceptor": { "address": { "country": "USA", "zipCode": "94454", "county": "00", "state": "CA" }, "idCode": "5678", "name": "Mr Smith", "terminalId": "1234" }, "senderReference": "", "transactionIdentifier": "234234234234234", "retrievalReferenceNumber": "401010101011", "senderCity": "My City", "senderStateCode": "CA", "systemsTraceAuditNumber": "101011", "senderName": "Mr Name", "settlementServiceIndicator": "9", "transactionCurrencyCode": "USD", "recipientName": "Akhila", "senderCountryCode": "USA", "feeProgramIndicator": "123", "sourceOfFundsCode": "01", "senderAccountNumber": "4005520000011126" }, { "amount": "100.00", "senderAddress": "My Address", "localTransactionDateTime": "2016-11-17T18:24:24", "recipientPrimaryAccountNumber": "4957030420210454", "cardAcceptor": { "address": { "country": "USA", "zipCode": "94454", "county": "00", "state": "CA" }, "idCode": "5678", "name": "Mr Smith", "terminalId": "1234" }, "senderReference": "", "transactionIdentifier": "234234234234234", "retrievalReferenceNumber": "401010101012", "senderCity": "My City", "senderStateCode": "CA", "systemsTraceAuditNumber": "101012", "senderName": "Mr Name", "settlementServiceIndicator": "9", "transactionCurrencyCode": "USD", "recipientName": "Akhila", "senderCountryCode": "USA", "feeProgramIndicator": "123", "sourceOfFundsCode": "01", "senderAccountNumber": "4840920103511221" } ], "localTransactionDateTime": "2016-11-17T18:24:24", "businessApplicationId": "AA", "merchantCategoryCode": "6012", "acquirerCountryCode": "840", "acquiringBin": "408999" } } } }, "application/xml": { "schema": { "$ref": "#/components/schemas/MultiPushFundsTransactionPostPayload" }, "examples": { "Default": { "summary": "Default", "value": "\n\n\t2016-01-04T21:32:52\n\t408999\n\t840\n\tAA\n\t\n\t\t350420\n\t\t201010101030\n\t\t2016-01-04T21:32:52\n\t\t9\n\t\t\n\t\t\tAcceptor 1\n\t\t\t12332\n\t\t\t1014\n\t\t\t
\n\t\t\t\tCA\n\t\t\t\tSan Mateo\n\t\t\t\tUSA\n\t\t\t\t94404\n\t\t\t
\n\t\t
\n\t\t12345\n\t\t4216700000000007\n\t\tUSA\n\t\tUSD\n\t\tMr name\n\t\tMy address\n\t\tMy City\n\t\tCA\n\t\t4895070000007685\n\t\t100.00\n\t\t123\n\t\t02\n\t\troselle\n\t\t\n\t\t\t4895070000007685D130310191014085\n\t\t\n\t\t\n\t\t\t90\n\t\t\t00\n\t\t\t0\n\t\t\n\t\t\n\t\t\t4\n\t\t\t2\n\t\t\n\t
\n\t\n\t\t350420\n\t\t201010101030\n\t\t2016-01-04T21:32:52\n\t\t9\n\t\t\n\t\t\tAcceptor 1\n\t\t\t12332\n\t\t\t1014\n\t\t\t
\n\t\t\t\tCA\n\t\t\t\tSan Mateo\n\t\t\t\tUSA\n\t\t\t\t94404\n\t\t\t
\n\t\t
\n\t\t12345\n\t\t4216700000000007\n\t\tUSA\n\t\tUSD\n\t\tMr name\n\t\tMy address\n\t\tMy City\n\t\tCA\n\t\t4895070000007685\n\t\t100.00\n\t\t123\n\t\t02\n\t\troselle\n\t\t\n\t\t\t4895070000007685D130310191014085\n\t\t\n\t\t\n\t\t\t90\n\t\t\t00\n\t\t\t0\n\t\t\n\t\t\n\t\t\t4\n\t\t\t2\n\t\t\n\t
\n\t\n\t\t350420\n\t\t201010101030\n\t\t2016-01-04T21:32:52\n\t\t9\n\t\t\n\t\t\tAcceptor 1\n\t\t\t12332\n\t\t\t1014\n\t\t\t
\n\t\t\t\tCA\n\t\t\t\tSan Mateo\n\t\t\t\tUSA\n\t\t\t\t94404\n\t\t\t
\n\t\t
\n\t\t12345\n\t\t4216700000000007\n\t\tUSA\n\t\tUSD\n\t\tMr name\n\t\tMy address\n\t\tMy City\n\t\tCA\n\t\t4895070000007685\n\t\t100.00\n\t\t123\n\t\t02\n\t\troselle\n\t\t\n\t\t\t4895070000007685D130310191014085\n\t\t\n\t\t\n\t\t\t90\n\t\t\t00\n\t\t\t0\n\t\t\n\t\t\n\t\t\t4\n\t\t\t2\n\t\t\n\t
\n\t\n\t\t350420\n\t\t201010101030\n\t\t2016-01-04T21:32:52\n\t\t9\n\t\t\n\t\t\tAcceptor 1\n\t\t\t12332\n\t\t\t1014\n\t\t\t
\n\t\t\t\tCA\n\t\t\t\tSan Mateo\n\t\t\t\tUSA\n\t\t\t\t94404\n\t\t\t
\n\t\t
\n\t\t12345\n\t\t4895070000007685\n\t\tUSA\n\t\tUSD\n\t\tMr name\n\t\tMy address\n\t\tMy City\n\t\tCA\n\t\t4895070000007685\n\t\t100.00\n\t\t123\n\t\t02\n\t\troselle\n\t\t\n\t\t\t4895070000007685D130310191014085\n\t\t\n\t\t\n\t\t\t90\n\t\t\t00\n\t\t\t0\n\t\t\n\t\t\n\t\t\t4\n\t\t\t2\n\t\t\n\t
\n\t\n\t\t350420\n\t\t201010101030\n\t\t2016-01-04T21:32:52\n\t\t9\n\t\t\n\t\t\tAcceptor 1\n\t\t\t12332\n\t\t\t1014\n\t\t\t
\n\t\t\t\tCA\n\t\t\t\tSan Mateo\n\t\t\t\tUSA\n\t\t\t\t94404\n\t\t\t
\n\t\t
\n\t\t12345\n\t\t4216700000000007\n\t\tUSA\n\t\tUSD\n\t\tMr name\n\t\tMy address\n\t\tMy City\n\t\tCA\n\t\t4895070000007685\n\t\t100.00\n\t\t123\n\t\t02\n\t\troselle\n\t\t\n\t\t\t4895070000007685D130310191014085\n\t\t\n\t\t\n\t\t\t90\n\t\t\t00\n\t\t\t0\n\t\t\n\t\t\n\t\t\t4\n\t\t\t2\n\t\t\n\t
\n\t\n\t\t\t350420\n\t\t\t201010101030\n\t\t\t2016-01-04T21:32:52\n\t\t\t9\n\t\t\n\t\t\t\tAcceptor 1\n\t\t\t12332\n\t\t\t1014\n\t\t\t
\n\t\t\t\tCA\n\t\t\t\tSan Mateo\n\t\t\t\tUSA\n\t\t\t\t94404\n\t\t\t
\n\t\t
\n\t\t12345\n\t\t4216700000000007\n\t\tUSA\n\t\tUSD\n\t\tMr name\n\t\tMy address\n\t\tMy City\n\t\tCA\n\t\t4895070000007685\n\t\t100.00\n\t\t123\n\t\t02\n\t\troselle\n\t\t\n\t\t\t4895070000007685D130310191014085\n\t\t\n\t\t\n\t\t\t90\n\t\t\t00\n\t\t\t0\n\t\t\n\t\t\n\t\t\t4\n\t\t\t2\n\t\t\n\t
\n\t350420\t\t201010101030\n\t\t2016-01-04T21:32:52\n\t\t9\n\t\t\n\t\t\tAcceptor 1\n\t\t12332\n\t\t\t1014\n\t\t\t
CA\t\tSan Mateo\n\t\t\t\tUSA\n\t\t\t\t94404\n\t\t\t
\t
\n\t123454216700000000007\n\t\tUSA\n\t\tUSD\n\t\tMr name\n\t\tMy address\n\t\tMy City\n\t\tCA\t\t4895070000007685\n\t\t100.00\n\t123\t\t02roselle\t\t4895070000007685D130310191014085\t\t\t\t90\t\t\t000\n4\n2
\n\n" } } } }, "required": true }, "responses": { "200": { "description": "Multi Push Funds Transfer Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MultiPushFundsTransactionPostResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/MultiPushFundsTransactionPostResponse" } } } } }, "x-samplePayload": { "request": [ { "amount": "100.00", "senderCity": "My City", "senderName": "Mr Name", "cardAcceptor": { "name": "Mr Smith", "idCode": "5678", "address": { "state": "CA", "county": "00", "country": "USA", "zipCode": "94454" }, "terminalId": "1234" }, "recipientName": "Akhila", "senderAddress": "My Address", "senderReference": "", "senderStateCode": "CA", "senderCountryCode": "USA", "sourceOfFundsCode": "01", "feeProgramIndicator": "123", "senderAccountNumber": "4005520000011126", "transactionIdentifier": "234234234234234", "systemsTraceAuditNumber": "101011", "transactionCurrencyCode": "USD", "localTransactionDateTime": "2016-11-17T18:24:24", "retrievalReferenceNumber": "401010101011", "settlementServiceIndicator": "9", "recipientPrimaryAccountNumber": "4957030420210454" }, { "amount": "100.00", "senderCity": "My City", "senderName": "Mr Name", "cardAcceptor": { "name": "Mr Smith", "idCode": "5678", "address": { "state": "CA", "county": "00", "country": "USA", "zipCode": "94454" }, "terminalId": "1234" }, "sourceAmount": "123.12", "recipientName": "Akhila", "senderAddress": "My Address", "senderReference": "", "senderStateCode": "CA", "purposeOfPayment": "purpose", "senderCountryCode": "USA", "sourceOfFundsCode": "01", "sourceCurrencyCode": "840", "feeProgramIndicator": "123", "senderAccountNumber": "4840920103511221", "transactionIdentifier": "234234234234234", "systemsTraceAuditNumber": "101012", "transactionCurrencyCode": "USD", "localTransactionDateTime": "2016-11-17T18:24:24", "retrievalReferenceNumber": "401010101012", "settlementServiceIndicator": "9", "recipientPrimaryAccountNumber": "4957030420210454" } ], "surcharge": "11.2", "acquiringBin": "408999", "acquirerCountryCode": "840", "merchantCategoryCode": "6012", "businessApplicationId": "AA", "localTransactionDateTime": "2016-11-17T18:24:24" }, "x-name": "Create Multi Push Funds Transaction", "x-notes": "Initiate a MultiPushFundsTransactions POST operation for multiple transactions.The MultiPushFundsTransactions POST operation is invoked in the context of a possible three-operation sequence, as follows 1. The PullFundsTransactions or MultiPullFundsTransactions POST operation debits (pulls) funds from a sender's Visa account or multiple sender's Visa accounts, respectively.", "x-codegen-request-body-name": "CreateMultiPushFundsTransactionPayload", "x-samplePayloadXML": "\n\n\t2016-01-04T21:32:52\n\t408999\n\t840\n\tAA\n\t\n\t\t350420\n\t\t201010101030\n\t\t2016-01-04T21:32:52\n\t\t9\n\t\t\n\t\t\tAcceptor 1\n\t\t\t12332\n\t\t\t1014\n\t\t\t
\n\t\t\t\tCA\n\t\t\t\tSan Mateo\n\t\t\t\tUSA\n\t\t\t\t94404\n\t\t\t
\n\t\t
\n\t\t12345\n\t\t4216700000000007\n\t\tUSA\n\t\tUSD\n\t\tMr name\n\t\tMy address\n\t\tMy City\n\t\tCA\n\t\t4895070000007685\n\t\t100.00\n\t\t123\n\t\t02\n\t\troselle\n\t\t\n\t\t\t4895070000007685D130310191014085\n\t\t\n\t\t\n\t\t\t90\n\t\t\t00\n\t\t\t0\n\t\t\n\t\t\n\t\t\t4\n\t\t\t2\n\t\t\n\t
\n\t\n\t\t350420\n\t\t201010101030\n\t\t2016-01-04T21:32:52\n\t\t9\n\t\t\n\t\t\tAcceptor 1\n\t\t\t12332\n\t\t\t1014\n\t\t\t
\n\t\t\t\tCA\n\t\t\t\tSan Mateo\n\t\t\t\tUSA\n\t\t\t\t94404\n\t\t\t
\n\t\t
\n\t\t12345\n\t\t4216700000000007\n\t\tUSA\n\t\tUSD\n\t\tMr name\n\t\tMy address\n\t\tMy City\n\t\tCA\n\t\t4895070000007685\n\t\t100.00\n\t\t123\n\t\t02\n\t\troselle\n\t\t\n\t\t\t4895070000007685D130310191014085\n\t\t\n\t\t\n\t\t\t90\n\t\t\t00\n\t\t\t0\n\t\t\n\t\t\n\t\t\t4\n\t\t\t2\n\t\t\n\t
\n\t\n\t\t350420\n\t\t201010101030\n\t\t2016-01-04T21:32:52\n\t\t9\n\t\t\n\t\t\tAcceptor 1\n\t\t\t12332\n\t\t\t1014\n\t\t\t
\n\t\t\t\tCA\n\t\t\t\tSan Mateo\n\t\t\t\tUSA\n\t\t\t\t94404\n\t\t\t
\n\t\t
\n\t\t12345\n\t\t4216700000000007\n\t\tUSA\n\t\tUSD\n\t\tMr name\n\t\tMy address\n\t\tMy City\n\t\tCA\n\t\t4895070000007685\n\t\t100.00\n\t\t123\n\t\t02\n\t\troselle\n\t\t\n\t\t\t4895070000007685D130310191014085\n\t\t\n\t\t\n\t\t\t90\n\t\t\t00\n\t\t\t0\n\t\t\n\t\t\n\t\t\t4\n\t\t\t2\n\t\t\n\t
\n\t\n\t\t350420\n\t\t201010101030\n\t\t2016-01-04T21:32:52\n\t\t9\n\t\t\n\t\t\tAcceptor 1\n\t\t\t12332\n\t\t\t1014\n\t\t\t
\n\t\t\t\tCA\n\t\t\t\tSan Mateo\n\t\t\t\tUSA\n\t\t\t\t94404\n\t\t\t
\n\t\t
\n\t\t12345\n\t\t4895070000007685\n\t\tUSA\n\t\tUSD\n\t\tMr name\n\t\tMy address\n\t\tMy City\n\t\tCA\n\t\t4895070000007685\n\t\t100.00\n\t\t123\n\t\t02\n\t\troselle\n\t\t\n\t\t\t4895070000007685D130310191014085\n\t\t\n\t\t\n\t\t\t90\n\t\t\t00\n\t\t\t0\n\t\t\n\t\t\n\t\t\t4\n\t\t\t2\n\t\t\n\t
\n\t\n\t\t350420\n\t\t201010101030\n\t\t2016-01-04T21:32:52\n\t\t9\n\t\t\n\t\t\tAcceptor 1\n\t\t\t12332\n\t\t\t1014\n\t\t\t
\n\t\t\t\tCA\n\t\t\t\tSan Mateo\n\t\t\t\tUSA\n\t\t\t\t94404\n\t\t\t
\n\t\t
\n\t\t12345\n\t\t4216700000000007\n\t\tUSA\n\t\tUSD\n\t\tMr name\n\t\tMy address\n\t\tMy City\n\t\tCA\n\t\t4895070000007685\n\t\t100.00\n\t\t123\n\t\t02\n\t\troselle\n\t\t\n\t\t\t4895070000007685D130310191014085\n\t\t\n\t\t\n\t\t\t90\n\t\t\t00\n\t\t\t0\n\t\t\n\t\t\n\t\t\t4\n\t\t\t2\n\t\t\n\t
\n\t\n\t\t\t350420\n\t\t\t201010101030\n\t\t\t2016-01-04T21:32:52\n\t\t\t9\n\t\t\n\t\t\t\tAcceptor 1\n\t\t\t12332\n\t\t\t1014\n\t\t\t
\n\t\t\t\tCA\n\t\t\t\tSan Mateo\n\t\t\t\tUSA\n\t\t\t\t94404\n\t\t\t
\n\t\t
\n\t\t12345\n\t\t4216700000000007\n\t\tUSA\n\t\tUSD\n\t\tMr name\n\t\tMy address\n\t\tMy City\n\t\tCA\n\t\t4895070000007685\n\t\t100.00\n\t\t123\n\t\t02\n\t\troselle\n\t\t\n\t\t\t4895070000007685D130310191014085\n\t\t\n\t\t\n\t\t\t90\n\t\t\t00\n\t\t\t0\n\t\t\n\t\t\n\t\t\t4\n\t\t\t2\n\t\t\n\t
\n\t350420\t\t201010101030\n\t\t2016-01-04T21:32:52\n\t\t9\n\t\t\n\t\t\tAcceptor 1\n\t\t12332\n\t\t\t1014\n\t\t\t
CA\t\tSan Mateo\n\t\t\t\tUSA\n\t\t\t\t94404\n\t\t\t
\t
\n\t123454216700000000007\n\t\tUSA\n\t\tUSD\n\t\tMr name\n\t\tMy address\n\t\tMy City\n\t\tCA\t\t4895070000007685\n\t\t100.00\n\t123\t\t02roselle\t\t4895070000007685D130310191014085\t\t\t\t90\t\t\t000\n4\n2
\n\n", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1fundstransfer~1v1~1multipushfundstransactions/post", "default": false } ] } }, "/visadirect/fundstransfer/v1/pullfundstransactions": { "post": { "tags": [ "Funds Transfer API" ], "summary": "Create Pull Funds Transaction", "description": "Create Pull Funds Transaction

The PullFundsTransactions Resource debits (pulls) funds from a sender's Visa account (in preparation for pushing funds to a recipient's account) by initiating a financial message called an Account Funding Transaction (AFT)", "operationId": "createPullFundsTransaction", "requestBody": { "description": "Request body for creating in pull funds transfer", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PullFundsTransactionPostPayload" }, "examples": { "Default": { "summary": "Default", "value": { "surcharge": "11.99", "amount": "124.02", "localTransactionDateTime": "2016-11-16T23:33:06", "cpsAuthorizationCharacteristicsIndicator": "Y", "riskAssessmentData": { "traExemptionIndicator": true, "trustedMerchantExemptionIndicator": true, "scpExemptionIndicator": true, "delegatedAuthenticationIndicator": true, "lowValueExemptionIndicator": true }, "colombiaNationalServiceData": { "addValueTaxReturn": "10.00", "taxAmountConsumption": "10.00", "nationalNetReimbursementFeeBaseAmount": "20.00", "addValueTaxAmount": "10.00", "nationalNetMiscAmount": "10.00", "countryCodeNationalService": "170", "nationalChargebackReason": "11", "emvTransactionIndicator": "1", "nationalNetMiscAmountType": "A", "costTransactionIndicator": "0", "nationalReimbursementFee": "20.00" }, "cardAcceptor": { "address": { "country": "USA", "zipCode": "94404", "county": "081", "state": "CA" }, "idCode": "ABCD1234ABCD123", "name": "Visa Inc. USA-Foster City", "terminalId": "ABCD1234" }, "acquirerCountryCode": "840", "acquiringBin": "408999", "senderCurrencyCode": "USD", "retrievalReferenceNumber": "330000550000", "addressVerificationData": { "street": "XYZ St", "postalCode": "12345" }, "cavv": "0700100038238906000013405823891061668252", "systemsTraceAuditNumber": "451001", "businessApplicationId": "AA", "senderPrimaryAccountNumber": "4895142232120006", "settlementServiceIndicator": "9", "visaMerchantIdentifier": "73625198", "foreignExchangeFeeTransaction": "11.99", "senderCardExpiryDate": "2015-10", "nationalReimbursementFee": "11.22" } } } }, "application/xml": { "schema": { "$ref": "#/components/schemas/PullFundsTransactionPostPayload" }, "examples": { "Default": { "summary": "Default", "value": " \n\t\n\t\t451000\n\t\t330000550000\n\t\t2016-01-04T18:17:56\n\t\t408999\n\t\t840\n\t\t4895142232120006\n\t\t2016-10\n\t\tINR\n\t\t299.99\n\t\tAA\n\t\t11.99\n\t\t11.99\n\t\t0700100038238906000013405823891061668252\n\t\t9\n\t\t\n\t\t\tMr. Smith\n\t\t\tABCD1234\n\t\t\tABCD1234ABCD123\n\t\t\t
\n\t\t\t\tCA\n\t\t\t\t081\n\t\t\t\tUSA\n\t\t\t\t94404\n\t\t\t
\n\t\t
\n\t\t\n\t\t\t1010101010101010101010101010\n\t\t\n\t\t\n\t\t\t90\n\t\t\t59\n\t\t\t6\n\t\t\n\t\t\n\t\t\t0\n\t\t\t2\n\t\t\n\t\t\n\t\t\te2198dc12df99913\n\t\t\t\n\t\t\t\t01\n\t\t\t\t01\n\t\t\t\n\t\t\n\t\t\n\t\t\t170\n\t\t\t20.00\n\t\t\tA\n\t\t\t20.00\n\t\t\t10.00\n\t\t\t10.00\n\t\t\t10.00\n\t\t\t10.00\n\t\t\t0\n\t\t\t1\n\t\t\t11\n\t\t\n\t\n\t\t\ttrue\n\t\t\ttrue\n\t\t\ttrue\n\t\t\ttrue\n\t\t\ttrue\n\t\t\n\t\t73625198\n\t\t73625198\n\t\t3901\n\t\t
\n" } } } }, "required": true }, "responses": { "200": { "description": "Pull Funds Transfer Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PullFundsTransactionPostResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/PullFundsTransactionPostResponse" } } } } }, "x-samplePayload": { "cavv": "0700100038238906000013405823891061668252", "amount": "124.02", "surcharge": "11.99", "acquiringBin": "408999", "cardAcceptor": { "name": "Visa Inc. USA-Foster City", "idCode": "ABCD1234ABCD123", "address": { "state": "CA", "county": "081", "country": "USA", "zipCode": "94404" }, "terminalId": "ABCD1234" }, "riskAssessmentData": { "scpExemptionIndicator": true, "traExemptionIndicator": true, "lowValueExemptionIndicator": true, "delegatedAuthenticationIndicator": true, "trustedMerchantExemptionIndicator": true }, "senderCurrencyCode": "USD", "acquirerCountryCode": "840", "senderCardExpiryDate": "2015-10", "businessApplicationId": "AA", "visaMerchantIdentifier": "73625198", "addressVerificationData": { "street": "XYZ St", "postalCode": "12345" }, "systemsTraceAuditNumber": "451001", "localTransactionDateTime": "2016-11-16T23:33:06", "nationalReimbursementFee": "11.22", "retrievalReferenceNumber": "330000550000", "senderPrimaryAccountNumber": "4895142232120006", "settlementServiceIndicator": "9", "colombiaNationalServiceData": { "addValueTaxAmount": "10.00", "addValueTaxReturn": "10.00", "taxAmountConsumption": "10.00", "nationalNetMiscAmount": "10.00", "emvTransactionIndicator": "1", "costTransactionIndicator": "0", "nationalChargebackReason": "11", "nationalReimbursementFee": "20.00", "nationalNetMiscAmountType": "A", "countryCodeNationalService": "170", "nationalNetReimbursementFeeBaseAmount": "20.00" }, "foreignExchangeFeeTransaction": "11.99", "cpsAuthorizationCharacteristicsIndicator": "Y" }, "x-name": "Create Pull Funds Transaction", "x-notes": "Initiate a PullFundsTransaction POST operation for a single transaction.This operation is invoked in the context of a possible three-operation sequence, as follows - 1. The PullFundsTransactions POST operation debits (pulls) funds from a sender's Visa account.2. The PushFundsTransactions or MultiPushFundsTransactions POST operation credits pushes) funds to a recipient's Visa account or multiple Visa accounts, respectively. 3. Optionally, the ReverseFundsTransactions POST operation credits (pushes back) funds to the sender's Visa account (for example, when authorization for the PushFundsTransactions POST operation is declined).", "x-codegen-request-body-name": "CreatePullFundsTransactionPayload", "x-samplePayloadXML": " \n\t\n\t\t451000\n\t\t330000550000\n\t\t2016-01-04T18:17:56\n\t\t408999\n\t\t840\n\t\t4895142232120006\n\t\t2016-10\n\t\tINR\n\t\t299.99\n\t\tAA\n\t\t11.99\n\t\t11.99\n\t\t0700100038238906000013405823891061668252\n\t\t9\n\t\t\n\t\t\tMr. Smith\n\t\t\tABCD1234\n\t\t\tABCD1234ABCD123\n\t\t\t
\n\t\t\t\tCA\n\t\t\t\t081\n\t\t\t\tUSA\n\t\t\t\t94404\n\t\t\t
\n\t\t
\n\t\t\n\t\t\t1010101010101010101010101010\n\t\t\n\t\t\n\t\t\t90\n\t\t\t59\n\t\t\t6\n\t\t\n\t\t\n\t\t\t0\n\t\t\t2\n\t\t\n\t\t\n\t\t\te2198dc12df99913\n\t\t\t\n\t\t\t\t01\n\t\t\t\t01\n\t\t\t\n\t\t\n\t\t\n\t\t\t170\n\t\t\t20.00\n\t\t\tA\n\t\t\t20.00\n\t\t\t10.00\n\t\t\t10.00\n\t\t\t10.00\n\t\t\t10.00\n\t\t\t0\n\t\t\t1\n\t\t\t11\n\t\t\n\t\n\t\t\ttrue\n\t\t\ttrue\n\t\t\ttrue\n\t\t\ttrue\n\t\t\ttrue\n\t\t\n\t\t73625198\n\t\t73625198\n\t\t3901\n\t\t
\n", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1fundstransfer~1v1~1pullfundstransactions/post", "default": false } ] } }, "/visadirect/fundstransfer/v1/pullfundstransactions/{statusIdentifier}": { "get": { "tags": [ "Funds Transfer API" ], "summary": "Read Pull Funds Transaction", "description": "Read Pull Funds Transaction

Get the status and details for a specific PullFundsTransactions request if there was a timeout or connection issue on the initial request", "operationId": "readPullFundsTransaction", "parameters": [ { "name": "transaction-id", "in": "path", "description": "transaction-id", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Pull Funds Transfer Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PullFundsTransactionGetResponse" }, "examples": { "Default": { "summary": "Default", "value": { "transmissionDateTime": "2016-01-07T05:53:46.000Z", "approvalCode": "98765X", "cavvResultCode": "4", "transactionIdentifier": "23423432", "actionCode": "00", "feeProgramIndicator": "123", "responseCode": "5" } } } }, "application/xml": { "schema": { "$ref": "#/components/schemas/PullFundsTransactionGetResponse" }, "examples": { "Default": { "summary": "Default", "value": "\n\n\n\n 23423432\n\n\n\n 00\n\n\n\n 98765X\n\n\n\n 5\n\n\n\n 2016-01-07T05:40:09.000Z\n\n\n\n 8\n\n\n\n" } } } } } }, "x-name": "Read Pull Funds Transaction", "x-notes": "Get the status and details for a specific PullFundsTransactions POST request if there was a timeout or connection issue on the initial request. The PullFundsTransactions GET operation can be invoked when the initial PullFundsTransactions POST request has returned a timeout error. When a timeout occurs, the response will include the appropriate PullFundsTransactions link header which the client then uses to get the status and details of the initial request.", "x-samplePayloadXML": "", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1fundstransfer~1v1~1pullfundstransactions~1{statusIdentifier}/get", "default": false } ], "x-hideTryIt": true } }, "/visadirect/fundstransfer/v1/reversefundstransactions/{statusIdentifier}": { "get": { "tags": [ "Funds Transfer API" ], "summary": "Read Reverse Funds Transaction", "description": "Read Reverse Funds Transaction

Get the status and details for a specific ReverseFundsTransactions POST request.", "operationId": "readReverseFundsTransaction", "parameters": [ { "name": "transaction-id", "in": "path", "description": "transaction-id", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Reverse Funds Transfer Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReverseFundsTransactionGetResponse" }, "examples": { "Default": { "summary": "Default", "value": { "transmissionDateTime": "2016-01-07T05:56:25.000Z", "approvalCode": "23456M", "transactionIdentifier": 23423432, "actionCode": "00", "responseCode": "5" } } } }, "application/xml": { "schema": { "$ref": "#/components/schemas/ReverseFundsTransactionGetResponse" }, "example": "" } } } }, "x-name": "Read Reverse Funds Transaction", "x-notes": "Get the status and details for a specific ReverseFundsTransactions POST request. TheReverseFundsTransactions GET operation can be invoked when the initial ReverseFundsTransactions POST request has returned a timeout error. When a timeout occurs, the response will include the appropriate reverseFundsTransactions Link header which the client then uses to get the status and details of the initial request.", "x-samplePayloadXML": " \n 23423432\n 23456M\n 00\n 5\n 2016-01-07T05:55:56.000Z\n", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1fundstransfer~1v1~1reversefundstransactions~1{statusIdentifier}/get", "default": false } ] } }, "/visadirect/fundstransfer/v1/multireversefundstransactions": { "post": { "tags": [ "Funds Transfer API" ], "summary": "Create Multi Reverse Funds Transaction", "description": "Create Multi Reverse Funds Transaction

The MultiReverseFundsTransactions resource credits (pushes back) funds to multiple sender's Visa accounts by initiating an extension of the Account Funding Transaction Reversal (AFTR) financial message", "operationId": "createMultiReverseFundsTransaction", "requestBody": { "description": "Request body for creating in multi reverse funds transfer", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MultiReverseFundsTransactionPostPayload" }, "examples": { "Default": { "summary": "Default", "value": { "request": [ { "systemsTraceAuditNumber": "101011", "amount": "100.00", "localTransactionDateTime": "2016-11-17T19:24:44", "senderPrimaryAccountNumber": "4485810000000131", "settlementServiceIndicator": "9", "cardAcceptor": { "address": { "country": "USA", "zipCode": "94454", "county": "00", "state": "CA" }, "idCode": "5678", "name": "Mr Smith", "terminalId": "1234" }, "transactionIdentifier": "101010101010", "senderCurrencyCode": "USD", "senderCardExpiryDate": "2020-12", "retrievalReferenceNumber": "401010101011", "originalDataElements": { "transmissionDateTime": "2016-11-17T19:24:44", "systemsTraceAuditNumber": "228112", "approvalCode": "1ABCDE", "acquiringBin": "408999" } }, { "systemsTraceAuditNumber": "101011", "amount": "100.00", "localTransactionDateTime": "2016-11-17T19:24:44", "senderPrimaryAccountNumber": "4485810000000131", "settlementServiceIndicator": "9", "cardAcceptor": { "address": { "country": "USA", "zipCode": "94454", "county": "00", "state": "CA" }, "idCode": "5678", "name": "Mr Smith", "terminalId": "1234" }, "transactionIdentifier": "101010101010", "senderCurrencyCode": "USD", "senderCardExpiryDate": "2020-12", "retrievalReferenceNumber": "401010101011", "originalDataElements": { "transmissionDateTime": "2016-11-17T19:24:44", "systemsTraceAuditNumber": "228112", "approvalCode": "1ABCDE", "acquiringBin": "408999" } } ], "localTransactionDateTime": "2016-11-17T19:24:44", "businessApplicationId": "AA", "acquirerCountryCode": "840", "acquiringBin": "408999" } } } }, "application/xml": { "schema": { "$ref": "#/components/schemas/MultiReverseFundsTransactionPostPayload" }, "examples": { "Default": { "summary": "Default", "value": "\n\n \n\n 2016-01-13T17:34:49\n\n 408999\n\n 840\n\n AA\n\n \n\n 2016-01-13T17:34:49\n\n 111111\n\n 201010101030\n\n 101010101010\n\n \n\n Acceptor 1\n\n 12332\n\n 1014\n\n
\n\n CA\n\n Sa\n Mateo\n\n USA\n\n 94404\n\n
\n\n
\n\n 4485810000000131\n\n 2020-12\n\n USD\n\n 199.99\n\n \n\n 355553\n\n 2015-09-01T06:32:52\n\n 408999\n\n 12345A\n\n \n\n
\n\n \n\n 2016-01-13T17:34:49\n\n 222222\n\n 201010101030\n\n 101010101010\n\n9\n\n \n\n Acceptor 1\n\n 12332\n\n 1014\n\n
\n\n CA\n\n Sa\n Mateo\n\n USA\n\n 94404\n\n
\n\n
\n\n 4485810000000131\n\n 2020-12\n\n USD\n\n 199.99\n\n \n\n 101016\n\n 2015-09-01T06:32:52\n\n 408999\n\n 12345A\n\n \n\n
\n\n \n\n 2016-01-13T17:34:49\n\n 333333\n\n 201010101030\n\n 101010101010\n\n9\n\n \n\n Acceptor 1\n\n 12332\n\n 1014\n\n
\n\n CA\n\n Sa\n Mateo\n\n USA\n\n 94404\n\n
\n\n
\n\n 4485810000000131\n\n 2020-12\n\n USD\n\n 199.99\n\n \n\n 101016\n\n 2021-10-26T21:32:52\n\n 408999\n\n 12345A\n\n \n\n
\n\n \n\n 2016-01-13T17:34:49\n\n 355553\n\n 201010101030\n\n 101010101010\n\n9\n\n \n\n Acceptor 1\n\n 12332\n\n 1014\n\n
\n\n CA\n\n Sa\n Mateo\n\n USA\n\n 94404\n\n
\n\n
\n\n 4485810000000131\n\n 2020-12\n\n USD\n\n 199.99\n\n \n\n 101016\n\n 2021-10-26T21:32:52\n\n 408999\n\n 12345A\n\n \n\n
\n\n \n\n 2016-01-13T17:34:49\n\n 355553\n\n 201010101030\n\n 101010101010\n\n9\n\n \n\n Acceptor 1\n\n 12332\n\n 1014\n\n
\n\n CA\n\n Sa\n Mateo\n\n USA\n\n 94404\n\n
\n\n
\n\n 4485810000000131\n\n 2020-12\n\n USD\n\n 199.99\n\n \n\n 101016\n\n 2021-10-26T21:32:52\n\n 408999\n\n 12345A\n\n \n\n
\n\n \n\n 2016-01-13T17:34:49\n\n 355553\n\n 201010101030\n\n 101010101010\n\n9\n\n \n\n Acceptor 1\n\n 12332\n\n 1014\n\n
\n\n CA\n\n Sa\n Mateo\n\n USA\n\n 94404\n\n
\n\n
\n\n 4485810000000131\n\n 2020-12\n\n USD\n\n 199.99\n\n \n\n 101016\n\n 2021-10-26T21:32:52\n\n 408999\n\n 12345A\n\n \n\n
\n\n \n\n 2016-01-13T17:34:49\n\n 355553\n\n 201010101030\n\n 101010101010\n\n9\n\n \n\n Acceptor 1\n\n 12332\n\n 1014\n\n
\n\n CA\n\n Sa\n Mateo\n\n USA\n\n 94404\n\n
\n\n
\n\n 4485810000000131\n\n 2020-12\n\n USD\n\n 199.99\n\n \n\n 101016\n\n 2021-10-26T21:32:52\n\n 408999\n\n 12345A\n\n \n\n
\n\n" } } } }, "required": true }, "responses": { "200": { "description": "Multi Reverse Funds Transfer Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MultiReverseFundsTransactionPostResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/MultiReverseFundsTransactionPostResponse" } } } } }, "x-samplePayload": { "request": [ { "amount": "100.00", "cardAcceptor": { "name": "Mr Smith", "idCode": "5678", "address": { "state": "CA", "county": "00", "country": "USA", "zipCode": "94454" }, "terminalId": "1234" }, "senderCurrencyCode": "USD", "originalDataElements": { "acquiringBin": "408999", "approvalCode": "1ABCDE", "transmissionDateTime": "2016-11-17T19:24:44", "systemsTraceAuditNumber": "228112" }, "senderCardExpiryDate": "2020-12", "transactionIdentifier": "101010101010", "systemsTraceAuditNumber": "101011", "localTransactionDateTime": "2016-11-17T19:24:44", "retrievalReferenceNumber": "401010101011", "senderPrimaryAccountNumber": "4485810000000131", "settlementServiceIndicator": "9" }, { "amount": "100.00", "cardAcceptor": { "name": "Mr Smith", "idCode": "5678", "address": { "state": "CA", "county": "00", "country": "USA", "zipCode": "94454" }, "terminalId": "1234" }, "senderCurrencyCode": "USD", "originalDataElements": { "acquiringBin": "408999", "approvalCode": "1ABCDE", "transmissionDateTime": "2016-11-17T19:24:44", "systemsTraceAuditNumber": "228112" }, "senderCardExpiryDate": "2020-12", "transactionIdentifier": "101010101010", "systemsTraceAuditNumber": "101011", "localTransactionDateTime": "2016-11-17T19:24:44", "retrievalReferenceNumber": "401010101011", "senderPrimaryAccountNumber": "4485810000000131", "settlementServiceIndicator": "9" } ], "acquiringBin": "408999", "acquirerCountryCode": "840", "businessApplicationId": "AA", "localTransactionDateTime": "2016-11-17T19:24:44" }, "x-name": "Create Multi Reverse Funds Transaction", "x-notes": "Initiate a MultiReverseFundsTransactions POST operation for multiple transactions.The MultiReverseFundsTransactions POST operation is invoked in the context of a possible three-operation sequence, as follows 1. The MultiPullFundsTransactions POST operation debits (pulls) funds from multiple sender's Visa accounts.", "x-codegen-request-body-name": "CreateMultiReverseFundsTransactionPayload", "x-samplePayloadXML": "\n \n 2016-01-13T17:34:49\n 408999\n 840\n AA\n \n 2016-01-13T17:34:49\n 111111\n 201010101030\n 101010101010\n \n Acceptor 1\n 12332\n 1014\n
\n CA\n San Mateo\n USA\n 94404\n
\n
\n 4485810000000131\n 2020-12\n USD\n 199.99\n \n 355553\n 2015-09-01T06:32:52\n 408999\n 12345A\n \n
\n \n 2016-01-13T17:34:49\n 222222\n 201010101030\n 101010101010\n9\n \n Acceptor 1\n 12332\n 1014\n
\n CA\n San Mateo\n USA\n 94404\n
\n
\n 4485810000000131\n 2020-12\n USD\n 199.99\n \n 101016\n 2015-09-01T06:32:52\n 408999\n 12345A\n \n
\n \n 2016-01-13T17:34:49\n 333333\n 201010101030\n 101010101010\n9\n \n Acceptor 1\n 12332\n 1014\n
\n CA\n San Mateo\n USA\n 94404\n
\n
\n 4485810000000131\n 2020-12\n USD\n 199.99\n \n 101016\n 2021-10-26T21:32:52\n 408999\n 12345A\n \n
\n \n 2016-01-13T17:34:49\n 355553\n 201010101030\n 101010101010\n9\n \n Acceptor 1\n 12332\n 1014\n
\n CA\n San Mateo\n USA\n 94404\n
\n
\n 4485810000000131\n 2020-12\n USD\n 199.99\n \n 101016\n 2021-10-26T21:32:52\n 408999\n 12345A\n \n
\n \n 2016-01-13T17:34:49\n 355553\n 201010101030\n 101010101010\n9\n \n Acceptor 1\n 12332\n 1014\n
\n CA\n San Mateo\n USA\n 94404\n
\n
\n 4485810000000131\n 2020-12\n USD\n 199.99\n \n 101016\n 2021-10-26T21:32:52\n 408999\n 12345A\n \n
\n \n 2016-01-13T17:34:49\n 355553\n 201010101030\n 101010101010\n9\n \n Acceptor 1\n 12332\n 1014\n
\n CA\n San Mateo\n USA\n 94404\n
\n
\n 4485810000000131\n 2020-12\n USD\n 199.99\n \n 101016\n 2021-10-26T21:32:52\n 408999\n 12345A\n \n
\n \n 2016-01-13T17:34:49\n 355553\n 201010101030\n 101010101010\n9\n \n Acceptor 1\n 12332\n 1014\n
\n CA\n San Mateo\n USA\n 94404\n
\n
\n 4485810000000131\n 2020-12\n USD\n 199.99\n \n 101016\n 2021-10-26T21:32:52\n 408999\n 12345A\n \n
\n
", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1fundstransfer~1v1~1multireversefundstransactions/post", "default": false } ] } }, "/visadirect/fundstransfer/v1/pushfundstransactions": { "post": { "tags": [ "Funds Transfer API" ], "summary": "Create Push Funds Transaction", "description": "Create Push Funds Transaction

The PushFundsTransactions resource credits (pushes) funds to a recipient's Visa account by initiating a financial message called an Original Credit Transaction (OCT).", "operationId": "createPushFundsTransaction", "requestBody": { "description": "Request body for creating in push funds transfer", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PushFundsTransactionPostPayload-1" }, "examples": { "Default": { "summary": "Default", "value": { "amount": "124.05", "senderAddress": "901 Metro Center Blvd", "localTransactionDateTime": "2016-11-17T00:39:13", "pointOfServiceData": { "panEntryMode": "90", "posConditionCode": "00", "motoECIIndicator": "0" }, "recipientPrimaryAccountNumber": "4957030420210496", "colombiaNationalServiceData": { "addValueTaxReturn": "10.00", "taxAmountConsumption": "10.00", "nationalNetReimbursementFeeBaseAmount": "20.00", "addValueTaxAmount": "10.00", "nationalNetMiscAmount": "10.00", "countryCodeNationalService": "170", "nationalChargebackReason": "11", "emvTransactionIndicator": "1", "nationalNetMiscAmountType": "A", "costTransactionIndicator": "0", "nationalReimbursementFee": "20.00" }, "cardAcceptor": { "address": { "country": "USA", "zipCode": "94404", "county": "San Mateo", "state": "CA" }, "idCode": "CA-IDCode-77765", "name": "Visa Inc. USA-Foster City", "terminalId": "TID-9999" }, "senderReference": "", "transactionIdentifier": "381228649430015", "acquirerCountryCode": "840", "acquiringBin": "408999", "retrievalReferenceNumber": "412770451018", "senderCity": "Foster City", "senderStateCode": "CA", "systemsTraceAuditNumber": "451018", "senderName": "Mohammed Qasim", "businessApplicationId": "AA", "settlementServiceIndicator": "9", "merchantCategoryCode": "6012", "transactionCurrencyCode": "USD", "recipientName": "rohan", "senderCountryCode": "124", "sourceOfFundsCode": "05", "senderAccountNumber": "4653459515756154" } } } }, "application/xml": { "schema": { "$ref": "#/components/schemas/PushFundsTransactionPostPayload-1" }, "examples": { "Default": { "summary": "Default", "value": "\n\t\n\t\t451004\n\t\t412770451004\n\t\t2016-01-05T16:31:43\n 400171\n\t\t643\n\t\t1234567890123456\n\t\t4957030420210488\n\t\t124\n\t\tUSD\n\t\tMohammed Qasim\n\t\tTom Smith\n\t\t901 Metro Center Blvd\n\t\tFoster City\n\t\tCA\n\t\t4957030420210496\n\t\t124.05\n\t\tAA\n\t\t381228649430015\n\t\t05\n\t\t9\n\t\t\n\t\t\tAcceptor 11\n\t\t\tTID-9999\n\t\t\tCA-IDCode-77765\n\t\t\t
\n\t\t\t\tSan Mateo\n\t\t\t\tUnited States\n\t\t\t\t94404\n\t\t\t\tCA\n\t\t\t
\n\t\t
\n\t\t\n\t\t\t170\n\t\t\t20.00\n\t\t\tA\n\t\t\t20.00\n\t\t\t10.00\n\t\t\t10.00\n\t\t\t10.00\n\t\t\t10.00\n\t\t\t0\n\t\t\t1\n\t\t\t11\n\t\t\n\t
" } } } }, "required": true }, "responses": { "200": { "description": "Conditional.

Push Funds Transfer Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PushFundsTransactionPostResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/PushFundsTransactionPostResponse" } } } } }, "x-samplePayload": { "amount": "124.05", "surcharge": "11.2", "senderCity": "Foster City", "senderName": "Mohammed Qasim", "acquiringBin": "408999", "cardAcceptor": { "name": "Visa Inc. USA-Foster City", "idCode": "CA-IDCode-77765", "address": { "state": "CA", "county": "San Mateo", "country": "USA", "zipCode": "94404" }, "terminalId": "TID-9999" }, "sourceAmount": "123.12", "recipientName": "rohan", "senderAddress": "901 Metro Center Blvd", "senderReference": "", "senderStateCode": "CA", "purposeOfPayment": "purpose", "senderCountryCode": "124", "sourceOfFundsCode": "05", "pointOfServiceData": { "panEntryMode": "90", "motoECIIndicator": "0", "posConditionCode": "00" }, "sourceCurrencyCode": "840", "acquirerCountryCode": "840", "senderAccountNumber": "4653459515756154", "merchantCategoryCode": "6012", "businessApplicationId": "AA", "transactionIdentifier": "381228649430015", "systemsTraceAuditNumber": "451018", "transactionCurrencyCode": "USD", "localTransactionDateTime": "2016-11-17T00:39:13", "retrievalReferenceNumber": "412770451018", "settlementServiceIndicator": "9", "colombiaNationalServiceData": { "addValueTaxAmount": "10.00", "addValueTaxReturn": "10.00", "taxAmountConsumption": "10.00", "nationalNetMiscAmount": "10.00", "emvTransactionIndicator": "1", "costTransactionIndicator": "0", "nationalChargebackReason": "11", "nationalReimbursementFee": "20.00", "nationalNetMiscAmountType": "A", "countryCodeNationalService": "170", "nationalNetReimbursementFeeBaseAmount": "20.00" }, "recipientPrimaryAccountNumber": "4957030420210496" }, "x-name": "Create Push Funds Transaction", "x-notes": "Initiate a PushFundsTransactions POST operation for a single transaction. The PushFundsTransactions POST operation can be invoked in the context of a possible three-operation sequence, as follows- 1. The PullFundsTransactions or MultiPullFundsTransactions POST operation debits (pulls) funds from a sender's Visa account or multiple sender's Visa accounts, respectively.", "x-codegen-request-body-name": "CreatePushFundsTransactionPayload", "x-samplePayloadXML": "\n\t\n\t\t451004\n\t\t412770451004\n\t\t2016-01-05T16:31:43\n 400171\n\t\t643\n\t\t1234567890123456\n\t\t4957030420210488\n\t\t124\n\t\tUSD\n\t\tMohammed Qasim\n\t\tTom Smith\n\t\t901 Metro Center Blvd\n\t\tFoster City\n\t\tCA\n\t\t4957030420210496\n\t\t124.05\n\t\tAA\n\t\t381228649430015\n\t\t05\n\t\t9\n\t\t\n\t\t\tAcceptor 11\n\t\t\tTID-9999\n\t\t\tCA-IDCode-77765\n\t\t\t
\n\t\t\t\tSan Mateo\n\t\t\t\tUnited States\n\t\t\t\t94404\n\t\t\t\tCA\n\t\t\t
\n\t\t
\n\t\t\n\t\t\t170\n\t\t\t20.00\n\t\t\tA\n\t\t\t20.00\n\t\t\t10.00\n\t\t\t10.00\n\t\t\t10.00\n\t\t\t10.00\n\t\t\t0\n\t\t\t1\n\t\t\t11\n\t\t\n\t
", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1fundstransfer~1v1~1pushfundstransactions/post", "default": false } ] } }, "/visadirect/fundstransfer/v1/multipullfundstransactions": { "post": { "tags": [ "Funds Transfer API" ], "summary": "Create Multi Pull Funds Transaction", "description": "Create Multi Pull Funds Transaction

The MultiPullFundsTransactions resource debits (pulls) funds from multiple sender's Visa accounts (in preparation for pushing funds to one or many recipient's accounts) by initiating an extension of the Account Funding Transaction (AFT) financial message. The MultiPullFundsTransactions resource can be used to submit large API requests with multiple transactions to gain operational efficiencies.", "operationId": "createMultiPullFundsTransaction", "requestBody": { "description": "Request body for creating in multi pull funds transfer", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MultiPullFundsTransactionPostPayload" }, "examples": { "Default": { "summary": "Default", "value": { "request": [ { "cavv": "0700020718799100000002980179911000000000", "systemsTraceAuditNumber": "101011", "amount": "100.00", "localTransactionDateTime": "2016-11-17T00:24:00", "senderPrimaryAccountNumber": "4895140000066666", "settlementServiceIndicator": "9", "visaMerchantIdentifier": "73625198", "riskAssessmentData": { "traExemptionIndicator": true, "trustedMerchantExemptionIndicator": true, "scpExemptionIndicator": true, "delegatedAuthenticationIndicator": true, "lowValueExemptionIndicator": true }, "cardAcceptor": { "address": { "country": "USA", "zipCode": "94454", "county": "00", "state": "CA" }, "idCode": "5678", "name": "Mr Smith", "terminalId": "1234" }, "senderCurrencyCode": "USD", "senderCardExpiryDate": "2020-12", "retrievalReferenceNumber": "401010101011" }, { "cavv": "0700020718799100000002980179911000000000", "systemsTraceAuditNumber": "101011", "amount": "100.00", "localTransactionDateTime": "2016-11-17T00:24:00", "senderPrimaryAccountNumber": "4895140000066666", "settlementServiceIndicator": "9", "visaMerchantIdentifier": "73625198", "riskAssessmentData": { "traExemptionIndicator": true, "trustedMerchantExemptionIndicator": true, "scpExemptionIndicator": true, "delegatedAuthenticationIndicator": true, "lowValueExemptionIndicator": true }, "cardAcceptor": { "address": { "country": "USA", "zipCode": "94454", "county": "00", "state": "CA" }, "idCode": "5678", "name": "Mr Smith", "terminalId": "1234" }, "senderCurrencyCode": "USD", "senderCardExpiryDate": "2020-12", "retrievalReferenceNumber": "401010101011" } ], "localTransactionDateTime": "2016-11-17T00:24:00", "businessApplicationId": "AA", "merchantCategoryCode": "6012", "acquirerCountryCode": "608", "acquiringBin": "408999" } } } }, "application/xml": { "schema": { "$ref": "#/components/schemas/MultiPullFundsTransactionPostPayload" }, "examples": { "Default": { "summary": "Default", "value": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 2016-01-13T21:32:52\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 408999\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 608\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n AA\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 6012\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 111111\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 201010101030\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 2016-01-13T21:32:52\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Acceptor 1\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 12332\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 1014\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n CA\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 081\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n USA\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 94404\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 4895140000066666\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 2020-12\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n USD\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 199.99\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 0700020718799100000002980179911000000000\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 01\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 59\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 5\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 5\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 1\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 222222\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 201010101050\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 2016-01-13T21:32:52\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Acceptor 1\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 12332\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 1014\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n CA\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n San\n\n\n\n\n\n\n\nMateo\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n USA\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 94404\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 4957030420210512\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 2020-12\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n USD\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 199.99\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 0000010926000071934977253000000000000000\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 01\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 59\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 6\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\ntrue\ntrue\ntrue\ntrue\ntrue\n\n73625198\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 5\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 1\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 333333\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 201010101051\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 2016-01-13T21:32:52\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Acceptor 1\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 12332\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 1014\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n CA\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 081\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n USA\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 94404\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 4895142232120006\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 2020-12\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n USD\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 199.99\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 0000010926000071934977253000000000000000\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 01\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 71\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 7\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 5\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 1\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 444444\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 201010101052\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 2016-01-13T21:32:52\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Acceptor 1\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 12332\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 1014\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n CA\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n San\n\n\n\n\n\n\n\nMateo\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n USA\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 94404\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 4957030420210470\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 2020-12\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n USD\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 199.99\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 0000010926000071934977253000000000000000\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 9\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 01\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 59\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 7\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 5\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 1\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 350453\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 201010101053\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 2016-01-13T21:32:52\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Acceptor 1\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 12332\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 1014\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n CA\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 081\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n USA\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 94404\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 4957030420210512\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 2020-12\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n USD\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 199.99\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 0000010926000071934977253000000000000000\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 01\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 59\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 8\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 5\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 1\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 350454\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 201010101054\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 2016-01-13T21:32:52\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Acceptor 1\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 12332\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 1014\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n CA\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 081\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n USA\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 94404\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 4957030420210512\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 2020-12\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n USD\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 199.99\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 0000010926000071934977253000000000000000\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 01\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 00\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 6\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 0\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 2\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 350455\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 201010101055\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 2016-01-13T21:32:52\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Acceptor 1\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 12332\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 1014\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n CA\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 081\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n USA\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 94404\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 4957030420210512\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 2020-12\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n USD\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 199.99\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 0000010926000071934977253000000000000000\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 9\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\ntrue\ntrue\ntrue\ntrue\ntrue\n\n73625198\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 01\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 08\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 7\n\n I\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 0\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 2\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
" } } } }, "required": true }, "responses": { "200": { "description": "Multi Pull Funds Transfer Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MultiPullFundsTransactionPostResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/MultiPullFundsTransactionPostResponse" } } } } }, "x-samplePayload": { "request": [ { "cavv": "0700020718799100000002980179911000000000", "amount": "100.00", "cardAcceptor": { "name": "Mr Smith", "idCode": "5678", "address": { "state": "CA", "county": "00", "country": "USA", "zipCode": "94454" }, "terminalId": "1234" }, "riskAssessmentData": { "scpExemptionIndicator": true, "traExemptionIndicator": true, "lowValueExemptionIndicator": true, "delegatedAuthenticationIndicator": true, "trustedMerchantExemptionIndicator": true }, "senderCurrencyCode": "USD", "senderCardExpiryDate": "2020-12", "visaMerchantIdentifier": "73625198", "systemsTraceAuditNumber": "101011", "localTransactionDateTime": "2016-11-17T00:24:00", "retrievalReferenceNumber": "401010101011", "senderPrimaryAccountNumber": "4895140000066666", "settlementServiceIndicator": "9" }, { "cavv": "0700020718799100000002980179911000000000", "amount": "100.00", "cardAcceptor": { "name": "Mr Smith", "idCode": "5678", "address": { "state": "CA", "county": "00", "country": "USA", "zipCode": "94454" }, "terminalId": "1234" }, "riskAssessmentData": { "scpExemptionIndicator": true, "traExemptionIndicator": true, "lowValueExemptionIndicator": true, "delegatedAuthenticationIndicator": true, "trustedMerchantExemptionIndicator": true }, "senderCurrencyCode": "USD", "senderCardExpiryDate": "2020-12", "visaMerchantIdentifier": "73625198", "systemsTraceAuditNumber": "101011", "localTransactionDateTime": "2016-11-17T00:24:00", "retrievalReferenceNumber": "401010101011", "senderPrimaryAccountNumber": "4895140000066666", "settlementServiceIndicator": "9" } ], "acquiringBin": "408999", "acquirerCountryCode": "608", "merchantCategoryCode": "6012", "businessApplicationId": "AA", "localTransactionDateTime": "2016-11-17T00:24:00" }, "x-name": "Create Multi Pull Funds Transaction", "x-notes": "Initiate a MultiPullFundsTransactions POST operation for multiple transactions. The MultiPullFundsTransactions POST operation is invoked in the context of a possible three-operation sequence, as follows 1. The MultiPullFundsTransactions POST operation debits (pulls) funds from multiple sender's Visa accounts.", "x-codegen-request-body-name": "CreateMultiPullFundsTransactionPayload", "x-samplePayloadXML": "\n\n 2016-01-13T21:32:52\n 408999\n 608\n AA\n 6012\n \n 111111\n 201010101030\n 2016-01-13T21:32:52\n \n Acceptor 1\n 12332\n 1014\n
\n CA\n 081\n USA\n 94404\n
\n
\n 4895140000066666\n 2020-12\n USD\n 199.99\n 0700020718799100000002980179911000000000\n \n 01\n 59\n 5\n \n \n 5\n 1\n \n
\n \n 222222\n 201010101050\n 2016-01-13T21:32:52\n \n Acceptor 1\n 12332\n 1014\n
\n CA\n San Mateo\n USA\n 94404\n
\n
\n 4957030420210512\n 2020-12\n USD\n 199.99\n 0000010926000071934977253000000000000000\n \n 01\n 59\n 6\n \n \ntrue\ntrue\ntrue\ntrue\ntrue\n\n73625198\n \n 5\n 1\n \n
\n \n 333333\n 201010101051\n 2016-01-13T21:32:52\n \n Acceptor 1\n 12332\n 1014\n
\n CA\n 081\n USA\n 94404\n
\n
\n 4895142232120006\n 2020-12\n USD\n 199.99\n 0000010926000071934977253000000000000000\n \n 01\n 71\n 7\n \n \n 5\n 1\n \n
\n \n 444444\n 201010101052\n 2016-01-13T21:32:52\n \n Acceptor 1\n 12332\n 1014\n
\n CA\n San Mateo\n USA\n 94404\n
\n
\n 4957030420210470\n 2020-12\n USD\n 199.99\n 0000010926000071934977253000000000000000\n 9\n \n 01\n 59\n 7\n \n \n 5\n 1\n \n
\n \n 350453\n 201010101053\n 2016-01-13T21:32:52\n \n Acceptor 1\n 12332\n 1014\n
\n CA\n 081\n USA\n 94404\n
\n
\n 4957030420210512\n 2020-12\n USD\n 199.99\n 0000010926000071934977253000000000000000\n \n 01\n 59\n 8\n \n \n 5\n 1\n \n
\n \n 350454\n 201010101054\n 2016-01-13T21:32:52\n \n Acceptor 1\n 12332\n 1014\n
\n CA\n 081\n USA\n 94404\n
\n
\n 4957030420210512\n 2020-12\n USD\n 199.99\n 0000010926000071934977253000000000000000\n \n 01\n 00\n 6\n \n \n 0\n 2\n \n
\n \n 350455\n 201010101055\n 2016-01-13T21:32:52\n \n Acceptor 1\n 12332\n 1014\n
\n CA\n 081\n USA\n 94404\n
\n
\n 4957030420210512\n 2020-12\n USD\n 199.99\n 0000010926000071934977253000000000000000\n 9\n \ntrue\ntrue\ntrue\ntrue\ntrue\n\n73625198\n \n 01\n 08\n 7\n I\n \n \n 0\n 2\n \n
\n
", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1fundstransfer~1v1~1multipullfundstransactions/post", "default": false } ] } }, "/visadirect/fundstransfer/v1/reversefundstransactions": { "post": { "tags": [ "Funds Transfer API" ], "summary": "Create Reverse Funds Transaction", "description": "Create Reverse Funds Transaction

The ReverseFundsTransactions resource credits (pushes back) funds to the sender's Visa account by initiating a financial message called an Account Funding Transaction Reversal (AFTR).", "operationId": "createReverseFundsTransaction", "requestBody": { "description": "Request body for creating in reverse funds transfer", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReverseFundsTransactionPostPayload" }, "examples": { "Default": { "summary": "Default", "value": { "amount": "24.01", "localTransactionDateTime": "2016-11-17T19:04:06", "pointOfServiceData": { "panEntryMode": "90", "posConditionCode": "00", "motoECIIndicator": "0" }, "pointOfServiceCapability": { "posTerminalType": "4", "posTerminalEntryCapability": "2" }, "colombiaNationalServiceData": { "addValueTaxReturn": "10.00", "taxAmountConsumption": "10.00", "nationalNetReimbursementFeeBaseAmount": "20.00", "addValueTaxAmount": "10.00", "nationalNetMiscAmount": "10.00", "countryCodeNationalService": "170", "nationalChargebackReason": "11", "emvTransactionIndicator": "1", "nationalNetMiscAmountType": "A", "costTransactionIndicator": "0", "nationalReimbursementFee": "20.00" }, "cardAcceptor": { "address": { "country": "USA", "zipCode": "94404", "county": "San Mateo", "state": "CA" }, "idCode": "VMT200911026070", "name": "Visa Inc. USA-Foster City", "terminalId": "365539" }, "transactionIdentifier": "381228649430011", "acquirerCountryCode": "608", "acquiringBin": "408999", "senderCurrencyCode": "USD", "retrievalReferenceNumber": "330000550000", "systemsTraceAuditNumber": "451050", "businessApplicationId": "AA", "senderPrimaryAccountNumber": "4895100000055127", "settlementServiceIndicator": "9", "senderCardExpiryDate": "2015-10", "originalDataElements": { "transmissionDateTime": "2016-11-17T19:04:06", "systemsTraceAuditNumber": "897825", "approvalCode": "20304B", "acquiringBin": "408999" } } } } }, "application/xml": { "schema": { "$ref": "#/components/schemas/ReverseFundsTransactionPostPayload" }, "examples": { "Default": { "summary": "Default", "value": "\n\t\n\t\t451050\n\t\t330000550000\n\t\t9\n\t\t381228649430011\n\t\t2016-01-04T17:06:25\n\t\t408999\n\t\t840\n\t\tAA\n\t\t4895070000003551\n\t\t2015-10\n\t\tUSD\n\t\t1000\n\t\t\n\t\t\t897825\n\t\t\t2021-10-26T21:32:52\n\t\t\t408999\n\t\t\n\t\t\n\t\t\tVisa Inc. USA-Foster City\n\t\t\t365539\n\t\t\tVMT200911026070\n\t\t\t
\n\t\t\t\tCA\n\t\t\t\tSan Mateo\n\t\t\t\tUSA\n\t\t\t\t94404\n\t\t\t
\n\t\t
\n\t\t\n\t\t\t90\n\t\t\t00\n\t\t\t0\n\t\t\n\t\t\n\t\t\t4\n\t\t\t2\n\t\t\n\t\t\n\t\t\t170\n\t\t\t20.00\n\t\t\tA\n\t\t\t20.00\n\t\t\t10.00\n\t\t\t10.00\n\t\t\t10.00\n\t\t\t10.00\n\t\t\t0\n\t\t\t1\n\t\t\t11\n\t\t\n\t
" } } } }, "required": true }, "responses": { "200": { "description": "Reverse Funds Transfer Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReverseFundsTransactionPostResponse" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/ReverseFundsTransactionPostResponse" } } } } }, "x-samplePayload": { "amount": "24.01", "acquiringBin": "408999", "cardAcceptor": { "name": "Visa Inc. USA-Foster City", "idCode": "VMT200911026070", "address": { "state": "CA", "county": "San Mateo", "country": "USA", "zipCode": "94404" }, "terminalId": "365539" }, "pointOfServiceData": { "panEntryMode": "90", "motoECIIndicator": "0", "posConditionCode": "00" }, "senderCurrencyCode": "USD", "acquirerCountryCode": "608", "originalDataElements": { "acquiringBin": "408999", "approvalCode": "20304B", "transmissionDateTime": "2016-11-17T19:04:06", "systemsTraceAuditNumber": "897825" }, "senderCardExpiryDate": "2015-10", "businessApplicationId": "AA", "transactionIdentifier": "381228649430011", "systemsTraceAuditNumber": "451050", "localTransactionDateTime": "2016-11-17T19:04:06", "pointOfServiceCapability": { "posTerminalType": "4", "posTerminalEntryCapability": "2" }, "retrievalReferenceNumber": "330000550000", "senderPrimaryAccountNumber": "4895100000055127", "settlementServiceIndicator": "9", "colombiaNationalServiceData": { "addValueTaxAmount": "10.00", "addValueTaxReturn": "10.00", "taxAmountConsumption": "10.00", "nationalNetMiscAmount": "10.00", "emvTransactionIndicator": "1", "costTransactionIndicator": "0", "nationalChargebackReason": "11", "nationalReimbursementFee": "20.00", "nationalNetMiscAmountType": "A", "countryCodeNationalService": "170", "nationalNetReimbursementFeeBaseAmount": "20.00" } }, "x-name": "Create Reverse Funds Transaction", "x-notes": "Initiate a ReversFundsTransactions POST operation for a single transaction. The ReverseFundsTransactions POST operation is invoked in the context of a possible three-operation sequence, as follows - 1. The PullFundsTransactions POST operation debits (pulls) funds from a sender?s Visa account. ", "x-codegen-request-body-name": "CreateReverseFundsTransactionPayload", "x-samplePayloadXML": "\n\t\n\t\t451050\n\t\t330000550000\n\t\t9\n\t\t381228649430011\n\t\t2016-01-04T17:06:25\n\t\t408999\n\t\t608\n\t\tAA\n\t\t4895100000055127\n\t\t2015-10\n\t\tUSD\n\t\t1000\n\t\t\n\t\t\t897825\n\t\t\t2021-10-26T21:32:52\n\t\t\t408999\n\t\t\t20304B\n\t\t\n\t\t\n\t\t\tVisa Inc. USA-Foster City\n\t\t\t365539\n\t\t\tVMT200911026070\n\t\t\t
\n\t\t\t\tCA\n\t\t\t\tSan Mateo\n\t\t\t\tUSA\n\t\t\t\t94404\n\t\t\t
\n\t\t
\n\t\t\n\t\t\t90\n\t\t\t00\n\t\t\t0\n\t\t\n\t\t\n\t\t\t4\n\t\t\t2\n\t\t\n\t\t\n\t\t\t170\n\t\t\t20.00\n\t\t\tA\n\t\t\t20.00\n\t\t\t10.00\n\t\t\t10.00\n\t\t\t10.00\n\t\t\t10.00\n\t\t\t0\n\t\t\t1\n\t\t\t11\n\t\t\n\t
", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1fundstransfer~1v1~1reversefundstransactions/post", "default": false } ] } }, "/visadirect/fundstransfer/v1/multipullfundstransactions/{statusIdentifier}": { "get": { "tags": [ "Funds Transfer API" ], "summary": "Read Multi Pull Funds Transaction", "description": "Read Multi Pull Funds Transaction

Get the status and details for a specific MultiPullFundsTransactions POST request.", "operationId": "readMultiPullFundsTransaction", "parameters": [ { "name": "transaction-id", "in": "path", "description": "Transaction-id", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Pull Multi Funds Transfer Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MultiPullFundsTransactionGetResponse" }, "examples": { "Default": { "summary": "Default", "value": { "localTransactionDateTime": "2016-01-06T21:32:52.000", "businessApplicationId": "AA", "response": [ { "systemsTraceAuditNumber": 101011, "aftResponseDetail": { "transmissionDateTime": "2016-01-07T06:02:54.000Z", "approvalCode": "50708Z", "cavvResultCode": "3", "transactionIdentifier": 23423432, "actionCode": "00", "responseCode": "5" } }, { "systemsTraceAuditNumber": 101011, "aftResponseDetail": { "transmissionDateTime": "2016-01-07T06:02:54.000Z", "approvalCode": "50708Z", "cavvResultCode": "3", "transactionIdentifier": 23423432, "actionCode": "00", "responseCode": "5" } } ], "merchantCategoryCode": 6012, "acquirerCountryCode": 608, "acquiringBin": 408999 } } } }, "application/xml": { "schema": { "$ref": "#/components/schemas/MultiPullFundsTransactionGetResponse" }, "examples": { "Default": { "summary": "Default", "value": "\n\n\n\n\n 418358\n\n\n\n 608\n\n\n\n AA\n\n\n\n 6012\n\n\n\n 2015-12-15T18:26:07.000Z\n\n\n\n \n\n\n\n 111111\n\n\n\n \n\n\n\n 234234322342343\n\n\n\n 00\n\n\n\n 50708Z\n\n\n\n 5\n\n\n\n 2015-12-15T10:26:13.000Z\n\n\n\n 3\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n 222222\n\n\n\n \n\n\n\n 234234322342343\n\n\n\n 64\n\n\n\n 5\n\n\n\n 2015-12-15T10:26:13.000Z\n\n\n\n 4\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n 333333\n\n\n\n \n\n\n\n 234234322342343\n\n\n\n 00\n\n\n\n 98765X\n\n\n\n 5\n\n\n\n 2015-12-15T10:26:14.000Z\n\n\n\n 4\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n 444444\n\n\n\n \n\n\n\n 234234322342343\n\n\n\n 01\n\n\n\n 5\n\n\n\n 2015-12-15T10:26:14.000Z\n\n\n\n 4\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n 350453\n\n\n\n \n\n\n\n 234234322342343\n\n\n\n 64\n\n\n\n 5\n\n\n\n 2015-12-15T10:26:14.000Z\n\n\n\n 4\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n 350454\n\n\n\n \n\n\n\n 234234322342343\n\n\n\n 64\n\n\n\n 5\n\n\n\n 2015-12-15T10:26:14.000Z\n\n\n\n 4\n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\n 350455\n\n\n\n \n\n\n\n 234234322342343\n\n\n\n 64\n\n\n\n 5\n\n\n\n 2015-12-15T10:26:14.000Z\n\n\n\n 4\n\n\n\n \n\n\n\n \n\n\n\n\n" } } } } } }, "x-name": "Read Multi Pull Funds Transaction", "x-notes": "Get the status and details for a specific MultiPullFundsTransactions POST request. The MultiPullFundsTransactions GET operation can be invoked when the initial MultiPullFundsTransactions POST request has submitted successfully. All successful MultiPullFundsTransactions POST requests will return a simple 202 response with the appropriate MultiPullFundsTransactions link header which the client then uses it to get the status and details of the initial request.", "x-samplePayloadXML": "", "x-operationVersions": [ { "label": "v1 - Latest", "operationPointer": "#/paths/~1visadirect~1fundstransfer~1v1~1multipullfundstransactions~1{statusIdentifier}/get", "default": false } ], "x-hideTryIt": true } } }, "components": { "schemas": { "200": { "type": "string" }, "UpdateMerchantAliasRequest": { "required": [ "aliasId" ], "type": "object", "properties": { "city": { "type": "string", "description": "Merchant or agent city." }, "email": { "type": "string", "description": "Merchant or agent email address." }, "phone": { "type": "string", "description": "Merchant or agent phone number." }, "aliasId": { "type": "string", "description": "This attribute is used by acquirer to uniquely identify their merchant or agent." }, "country": { "type": "string", "description": "Merchant or agent country code as defined by ISO 3166. ISO 3166 alpha-2 is recommended to be used if alias may be used for QR." }, "aliasType": { "type": "string", "description": "01 – Phone number
02 – Email address
03 – USSD Payment ID
04 – BID (Bank Identification Number)
05 – National ID
06 – Custom
Null – Should start with visa assigned USSD Payment ID" }, "merchantId": { "type": "string", "description": "A 16 digit-number as per Mobile Push Payment Program Implementation Guide to receive payment by merchant or agent." }, "postalCode": { "type": "string", "description": "Merchant or agent postal code." }, "isAgentAlias": { "type": "string", "description": "Optional and applicable for agent alias use only. If set as 'Y', agent alias to be updated." }, "recipientName": { "type": "string", "description": "Merchant or agent name." }, "convenienceFeeAmount": { "type": "string", "description": "The convenience fee of a fixed amount. Applicable only for merchant alias." }, "merchantCategoryCode": { "type": "string", "description": "Merchant Category Code. Numeric only." }, "payloadFormatIndicator": { "type": "string", "description": "Defines the format of the merchant data payload. Payload Format Indicator must be set to '01' as per EMVCo Merchant Presented QR specifications." }, "pointOfInitiationMethod": { "type": "string", "description": "In this two-digit field, the first character indicates the method by which the data is presented by the merchant. The second character indicates whether the data is static or dynamic. Static data refers to a situation wherein same data is presented for every transaction unlike a dynamic data wherein the information is specific to a transaction.
1st character
'1' = QR
'2' = BLE
'3' = NFC
'4' - '9' = Reserved for Future Use
2nd character
'1' = Static
'2' = Dynamic
'3' - '9' = Reserved for Future Use.
Example: '11' indicates QR static code, '12' indicates QR dynamic code." }, "transactionCurrencyCode": { "type": "string", "description": "As defined by ISO 4217. This is the transaction currency code that a merchant can accept for payment. 3-digit numeric presentation of the currency is recommended to be used if alias may be used for QR." }, "convenienceFeePercentage": { "type": "string", "description": "Applicable only for merchant alias. The percentage convenience fee, specified as numeric value from “00.01” (for 00.01%) to “99.99” (for 99.99%)." }, "tipConvenienceFeeIndicator": { "type": "string", "description": "Tip or Convenience Fee Indicator. This shall contains a value of '01', '02' or '03' as per EMVCo Merchant Presented QR specifications. Applicable only for merchant alias." } }, "description": "Request payload for updating merchant or agent alias." }, "MerchantVerificationValuemrr": { "required": [ "mvvAcquirerAssigned", "mvvVisaAssigned" ], "type": "object", "properties": { "mvvVisaAssigned": { "maxLength": 6, "type": "string", "description": "Visa assigned MVV value. E.g. 0A45AF" }, "mvvAcquirerAssigned": { "maxLength": 4, "type": "string", "description": "Visa assists the acquirer in assigning the last four. E.g. 98FC" } }, "description": "Merchant Verification Value(MVV) is used to identify merchants that participate in a variety of programs. The MVV is unique to the merchant." }, "MultiPullFundsTransactionGetResponse": { "required": [ "actionCode", "responseCode", "statusIdentifier", "transactionIdentifier", "transmissionDateTime" ], "type": "object", "properties": { "actionCode": { "type": "string", "description": "The results of the transaction request

Refer to actionCode
Note: : The VisaNet Response Code for the transaction", "x-variant": "| Length: 2" }, "last4ofPAN": { "type": "integer", "description": "This field contains the last four digits of the cardholder primary account number (PAN)" }, "approvalCode": { "type": "string", "description": "The authorization code from the issuer.", "x-variant": "| Length: 6" }, "responseCode": { "type": "string", "description": "The source for the response; typically, either the recipient issuer or a Visa system.

Refer to response_code
Note: : The VisaNet Response Source for the transaction", "x-variant": "| Length: 1" }, "cavvResultCode": { "type": "string", "description": "The cavvResultCode identifies the outcome of the CAVV validation.

Refer to cavvResultCode", "x-variant": "| Length: 1" }, "memberComments": { "maxLength": 254, "minLength": 1, "type": "string", "description": "This field can be optionally used to send and receive comments by service providers. Issuers can optionally include new text in this field in the response. If the issuer does not include this field, Visa will inject the value from the request in the response and send it back to the service provider." }, "settlementFlags": { "required": [ "settlementResponsibilityFlag" ], "type": "object", "properties": { "givUpdatedFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "settlementServiceFlag": { "type": "string", "description": "Possible values are:
0 - International Settlement
9 - VIP to decide
8 - National Settlement
", "x-variant": "| Length: 1, hexbinary format" }, "givPreviouslyUpdatedFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "settlementResponsibilityFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" } } }, "statusIdentifier": { "type": "string", "x-variant": "| required when call times out" }, "customerReference": { "type": "string", "description": "This is an alphanumeric value that carries the value that identifies the customer, the value may be a reference number or code or generic number.", "x-variant": "| Length:17" }, "originalActionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "The action code of the original transaction request
Refer to actionCode
Note: This field is only present, when the request is identified as a duplicate." }, "feeProgramIndicator": { "type": "string", "x-variant": "| Length: 3" }, "transmissionDateTime": { "type": "string", "description": "Example: 2016-01-15T07:03:52.000Z
Note: Remove \"000Z\" if this field value is used for ReverseFundsTransactions POST request or MultiReverseFundsTransactions POST request.", "format": "date-time", "x-variant": "| YYYY-MM-DDThh:mm:ss" }, "transactionIdentifier": { "type": "integer", "description": "The VisaNet reference number for the transaction

Note:
transactionIdentifier is a Visa generated field that client recieves in the response message.
Note: As an exception Visa allows clients to use the transactionIdentifier received in the AFT response into the subsequent OCT message - this is to simplify matching the pull and push transaction pair and reconciliation.", "format": "int64", "x-variant": "| positive and required when call does not timeout, Length: 15" }, "reimbursementAttribute": { "type": "string", "description": "Conditional
If AFT transaction has qualified for CPS then this field contains a code that identifies the applicable interchange reimbursement fee. Possible values are : A (Payment Service Interchange Reimbursement Fee (PSIRF) U.S.).
Please reach out to your Visa representative for details.", "x-variant": "| Length:1" }, "recipientIdentificationNumberIndividual": { "type": "string", "description": "This is an alphanumeric value that contains the customer’s VAT registration number for the individual tax identification.
This field is to be populated if the recipient is an Individual (e.g. P2P payments)", "x-variant": "| maxLength: 13" }, "cpsAuthorizationCharacteristicsIndicator": { "type": "string", "description": "Conditional
Indicates whether AFT transaction has qualified for CPS. Possible values are : F (Meets CPS/Account Funding requirements) , N (Not Qualified), T (Not Qualified).

Note:Supported only in US for CPS (Custom Payment Service).

Please reach out to your Visa representative for details.", "x-variant": "| Length:1" } } }, "CashOutCardAcceptorAddress": { "required": [ "city", "country" ], "type": "object", "properties": { "city": { "maxLength": 13, "minLength": 1, "type": "string", "description": "Originator must populate this field with 'mVisa cashout'." }, "country": { "maxLength": 3, "minLength": 2, "type": "string", "description": "Must include the 2-character alpha country code of the merchant." } } }, "PushFundsTransactionPostPayload": { "required": [ "acquirerCountryCode", "acquiringBin", "amount", "businessApplicationId", "cardAcceptor", "localTransactionDateTime", "recipientPrimaryAccountNumber", "retrievalReferenceNumber", "systemsTraceAuditNumber", "transactionCurrencyCode" ], "type": "object", "properties": { "amount": { "type": "number", "description": "The transaction amount to be delivered to the recipient.
Format:
Minimum Value: 0
Maximum value: 999999999.999
Allowed fractional digits: 3
Note: If a currency has three decimal places, the last digit of this field must be zero.", "format": "double" }, "vauFlag": { "maxLength": 1, "type": "string", "description": "If present, a valid value is required. Spaces or special characters are not allowed. Possible values are : Y (will cause VAU to be performed)" }, "surcharge": { "type": "string", "description": "When present, this field contains the sender's surcharge as assessed by the originator. Values in this field must be in the same currency and format as defined in the amount field.", "format": "double" }, "senderCity": { "maxLength": 25, "minLength": 1, "type": "string", "description": "Conditional.

If the transaction is a money transfer and cross-border or U.S. domestic, this field must contain the sender's city.

If the transaction is a funds disbursement and cross-border or U.S. domestic, this field must contain either the city of the merchant or government entity sending the funds disbursement.

If the transaction is a pre-paid load or credit card bill pay and U.S. domestic, this field must contain the sender's city." }, "senderName": { "maxLength": 30, "minLength": 2, "type": "string", "description": "Conditional.

If the transaction is a money transfer and cross-border or U.S. domestic, this field must contain the sender's name.

If the transaction is a funds disbursement and cross-border or U.S. domestic, this field must contain either the name of the merchant or government entity sending the funds disbursement.

If the transaction is a pre-paid load or credit card bill pay and U.S. domestic, this field must contain the sender's name.
Required, if the transaction will be routed to Maestro & STAR networks via Visa Push Payments Gateway Service (PPGS). If this field is sent and transaction is not routed over Maestro & STAR the field is still sent to the other networks as an optional field. PPGS uses senderName if all the following fields are available: senderName, senderFirstName, senderLastName and senderMiddleName

Recommended Format: Last Name/Family Surname 1 + Space + Last Name/Family Surname 2 (optional) + Space + First Name/Given Name + Space + Middle Initial or Middle name (optional) + space

Example: Doe John A" }, "accountType": { "maxLength": 2, "minLength": 2, "type": "string", "description": "This is used to identify the account type of the recipientPrimaryAccountNumber in the request. Below are the possible values.

00-Not applicable
10-Saving account
20-Checking account
30-Credit card account
40-Universal account

Default is set to \"00\" if not provided." }, "acquiringBin": { "type": "number", "description": "The Bank Identification Number (BIN) under which the Visa Direct solution is registered. This must match the information provided during enrollment." }, "cardAcceptor": { "required": [ "address", "idCode", "name", "terminalId" ], "type": "object", "properties": { "name": { "maxLength": 25, "minLength": 1, "type": "string", "description": "For P2P payments, must contain the sender name.

For a funds disbursement, must contain either the name of the merchant or government entity sending the funds disbursement.

For pre-paid loads, must contain either the name of the load partner providing the reload service or the bank designated service name, if offered over bank channels.

For credit card bill payment, must contain either the name of the entity providing the credit card bill pay service or the bank designated service name, if offered over bank channels.

For more details refer to the OCT Global Implementation Guide and VIP technical specifications." }, "idCode": { "maxLength": 15, "minLength": 1, "type": "string", "description": "An identifier for the card acceptor (Visa Direct Originator). This value should be unique for each originator for whom you are sending transactions." }, "address": { "required": [ "country" ], "type": "object", "properties": { "city": { "maxLength": 13, "minLength": 1, "type": "string", "description": "Identifies name of the city where transaction occurs.

Note: Visa defaults this to \"VISA DIRECT\" if city is not provided.

Refer to the OCT Global Implementation Guide and VIP technical specification for more details." }, "state": { "maxLength": 50, "type": "string", "description": "Conditional.

Must be the state or province of the Merchant/Originator. Required if the cardAcceptor:address:country is \"US\" or \"CA\"." }, "county": { "maxLength": 50, "type": "string", "description": "Conditional.

Must be the county of the Merchant/Originator. Required if cardAcceptor:address:country is \"US\"." }, "country": { "maxLength": 50, "type": "string", "description": "Valid inputs (US example in brackets [])

ISO country code (2 alpha) [example: \"US\"]

ISO country code (3 alpha) [example: \"USA\"]

ISO country code (3 numeric) [example: \"840\"].

Refer to ISO Codes" }, "zipCode": { "maxLength": 14, "type": "string", "description": "Conditional.

Zip/Postal code of the money transfer operator/Originator. Required if cardAcceptor:address:country is \"US\" or \"CA\"." } } }, "terminalId": { "maxLength": 8, "minLength": 1, "type": "string", "description": "The identifier for the terminal at a card acceptor location. If sending transactions from a card not present environment, use the same value for all transactions." }, "legalBusinessName": { "maxLength": 25, "minLength": 1, "type": "string", "description": "Acceptor’s legal business name associated with the card acceptor identification code for money transfer OCTs. This field is conditionally required for all Money Transfer OCTs" }, "paymentFacilitator": { "type": "object", "properties": { "id": { "maxLength": 11, "minLength": 1, "type": "string", "description": "Marketplace ID or Payment Facilitator's ID. This field is conditionally required when a payment facilitator is involved." }, "name": { "maxLength": 25, "minLength": 1, "type": "string", "description": "Payment facilitator name in OCTs. This field is conditionally required when a payment facilitator is involved." }, "subMerchantId": { "maxLength": 15, "minLength": 1, "type": "string", "description": "Sub-Merchant ID containing the sponsored merchant ID. This field is conditionally required when a payment facilitator is involved." } } } } }, "sourceAmount": { "type": "number", "description": "Conditional.

Source Amount is required in certain markets to identify the transaction amount entered in the sender's currency code prior to FX conversion by the originating entity.", "format": "double" }, "recipientCity": { "maxLength": 25, "type": "string", "description": "Conditional

This field contains the city name of the recipient address.
Note:
It is required for cross-border transactions that are originating from or destined to Canada." }, "recipientName": { "maxLength": 30, "minLength": 1, "type": "string", "description": "Conditional.

Recipient name is required for cross-border enhanced money transfer OCTs." }, "senderAddress": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Conditional.

If the transaction is a money transfer and cross-border or U.S. domestic, this field must contain the sender's address.

If the transaction is a funds disbursement and cross-border or U.S. domestic, this field must contain either the address of the merchant or government entity sending the funds disbursement.

If the transaction is a pre-paid load or credit card bill pay and U.S. domestic, this field must contain the sender's address." }, "recipientState": { "maxLength": 3, "type": "string", "description": "Conditional.

This field contains the state or province (ISO 3166-2 subdivision) code of the recipient address.
Note:
It is required for cross-border transactions either originating from or destined to Canada with recipientCountryCode of 840(USA) or 124(CAN).
It is also required for Push Payments transactions associated with Gateway Service when recipientCountryCode is either 124(CAN) or 840(USA). (Refer to Mastercard data processing requirements) " }, "senderLastName": { "maxLength": 35, "minLength": 2, "type": "string", "description": "Conditional.

This field contains sender's last name
Required when the transaction is routed over Maestro or STAR network via the Visa Push Payments Gateway Service (PPGS). For details on when the transaction maybe routed over Maestro or STAR please check the your PPGS implementation configs or the PPGS implementation guide.

If this field is sent and transaction is not routed over Maestro & STAR the field is still sent to the other networks as an optional field." }, "deferredOCTData": { "required": [ "requestType" ], "type": "object", "properties": { "requestType": { "maxLength": 2, "minLength": 2, "type": "string", "description": "00 : (Not a deferred OCT). This value indicates that the request is not a deferred OCT. Visa will send this value to the recipient issuer in the request. This acts as the default value if not provided in the request.

01 : (Originator hold). This value indicates that the originating acquirer has held the OCT for a period of time before sending to Visa and is requesting for Visa to treat the transaction as a deferred OCT. Visa will send this value to the recipient issuer in the request.
Note: The value of 01 is reserved for originating acquirers that meet certain conditions. Contact your regional client support representative for more information.

02 : (Visa deferred OCT hold, default interval).This value indicates that the originating acquirer is requesting Visa to apply the default holding period of 48 hours upon receipt and process the request as a deferred OCT. Visa will send this value to the recipient issuer in the request." } }, "description": "Requesting Visa to process the request as a deferred OCT transaction." }, "senderFirstName": { "maxLength": 35, "minLength": 2, "type": "string", "description": "Conditional.

This field contains sender's first name
Required when the transaction is routed over Maestro or STAR network via the Visa Push Payments Gateway Service (PPGS). For details on when the transaction maybe routed over Maestro or STAR please check the your PPGS implementation configs and the PPGS implementation guide.

If this field is sent and transaction is not routed over Maestro & STAR the field is still sent to the other networks as an optional field." }, "senderReference": { "maxLength": 16, "type": "string", "description": "Conditional.

Required, if the transaction is a money transfer, pre-paid load, or credit card bill pay, and if the sender intends to fund the transaction with a non-financial instrument (for example, cash), a reference number unique to the sender is required.
Required, if the transaction is a funds disbursement, the field is required.
Required, if the transaction will be routed to STAR networks via Visa Push Payments Gateway Service. If this field is sent and transaction is not routed over STAR the field is still sent to the other networks as an optional field.

This field is required if senderAccountNumber is not sent." }, "senderStateCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Conditional.

Required if senderCountryCode is either 124(CAN) or 840(USA)" }, "purposeOfPayment": { "maxLength": 12, "minLength": 1, "type": "string", "description": "Conditional.

This is an alphanumeric value.
Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market." }, "senderMiddleName": { "maxLength": 35, "minLength": 1, "type": "string", "description": "This field contains sender's middle name
If this field is sent it will be passed to networks, as an optional field, through which transaction is routed when using Visa Push Payments Gateway Service (PPGS)." }, "senderPostalCode": { "maxLength": 10, "minLength": 5, "type": "string", "description": "Conditional.

When present, this field contains the sender's postal code
Note: Required when cardAcceptor:address:country is US or CA" }, "sharingGroupCode": { "maxLength": 30, "type": "string", "description": "This field is optionally used by Push Payments Gateway participants (merchants and acquirers) to specify the network access priority.

Refer to Sharing Group Code

Note:
Supported only in US for domestic transactions involving Push Payments Gateway Service." }, "customerReference": { "type": "string", "description": "This is an alphanumeric value that carries the value that identifies the customer, the value may be a reference number or code or generic number. This field to be populated for Argentina domestic transaction when businessApplicationId has PS.", "x-variant": "| Length:17" }, "messageReasonCode": { "type": "number", "description": "Conditional.

Contains codes that combined with some other fields such as the BAI (Business Application Id) identify some unique use cases. For Sales Tax rebates this field should be populated with the value 5120 (Value-added tax/Sales Tax) along with the businessApplicationId field set to the value 'FD' which indicates this push funds transfer is being conducted in order to facilitate a sales tax refund." }, "recipientLastName": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Conditional.

When present, this field contains recipient's last name.
Note: Supported for Push Payments transactions associated with Gateway Service. (Refer to Mastercard data processing requirements)" }, "senderCountryCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Conditional.

If the transaction is a money transfer and cross-border or U.S. domestic, this field must contain the sender's country code.

If the transaction is a funds disbursement and cross-border or U.S. domestic, this field must contain either the country code of the merchant or government entity sending the funds disbursement.

If the transaction is a pre-paid load or credit card bill pay and U.S. domestic, this field must contain the sender's country code.

Alpha or numeric country code can be supported.

This field is required when sending the transactions to some of the US debit networks.

Refer to ISO Codes" }, "senderDateOfBirth": { "type": "string", "description": "This field contains the birth date for the sender.
Format: YYYY-MM-DD
Example: 12-30-2011", "format": "date" }, "sourceOfFundsCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Conditional.

If the transaction is a money transfer, the field is required and must contain a valid sourceOfFundsCode code that matches the funding instrument.

If the transaction is a funds disbursement, the field is required and most likely contains a \"05\" as the sourceOfFundsCode code to identify that the merchant or government entity used a deposit account to fund the disbursement

If the transaction is a pre-paid load, the field is required if the transaction is non-U.S. domestic.

If the transaction is a credit bill pay, the field is required if the transaction is non-U.S. domestic, and the sourceOfFundsCode code must not contain a \"01\" or \"06\".

Refer to sourceOfFundsCode codes" }, "pointOfServiceData": { "type": "object", "properties": { "panEntryMode": { "type": "number", "description": "Conditional.

Note: For a CardPresent scenario, this field is required." }, "motoECIIndicator": { "type": "number", "description": "Conditional.

Note: For a CardPresent scenario, this field is required." }, "posConditionCode": { "type": "number", "description": "Conditional.

Note: For a CardPresent scenario, this field is required." }, "specialConditionIndicatorMerchant": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Cryptocurrency indicator with the value of “7” can be used to identify the purchase of cryptocurrency, thereby providing greater visibility to the issuers." } }, "description": "Conditional.

Note: For a CardPresent Transactions, this field is required." }, "recipientFirstName": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Conditional.

When present, this field contains recipient's first name.
Note: Supported for Push Payments transactions associated with Gateway Service. (Refer to Mastercard data processing requirements)" }, "sourceCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Conditional.

3-character alpha or numeric currency code for currency of the sourceAmount field.

Refer to ISO Codes " }, "acquirerCountryCode": { "type": "number", "description": "Use a 3-digit numeric country code for the country of the BIN under which your Visa Direct solution is registered. This must match the information provided during program enrollment.

Refer to ISO Codes" }, "feeProgramIndicator": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Note: If present, a valid value is required. Spaces or special characters are not allowed." }, "recipientMiddleName": { "maxLength": 35, "minLength": 1, "type": "string", "description": "This field contains recipient's middle name" }, "recipientPostalCode": { "maxLength": 16, "type": "string", "description": "Conditional

This field contains the postal code of the recipient address.
Note:
It is required for cross-border transactions that are originating from or destined to Canada." }, "recipientStreetName": { "maxLength": 99, "type": "string", "description": "Optional.

This field contains the street name of the recipient address." }, "senderAccountNumber": { "maxLength": 19, "minLength": 13, "type": "string", "description": "Conditional.

If the transaction is a money transfer, pre-paid load, or credit card bill pay, and if the sender intends to fund the transaction with a financial instrument (for example, debit card), this field is required and must contain the sender's account number. If the transaction is a funds disbursement, the field is not required.

Note: This is a 16-digit PAN or token which defines the account of the consumer (sender of push payment)." }, "senderMiddleInitial": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field contains sender's middle initial." }, "merchantCategoryCode": { "type": "number", "description": "Conditional.

If provided, then the value overrides the one present in onboarding data. If the merchantCategoryCode value is not populated in onboarding data then this field is mandatory.

Note: required if not provided during onboarding" }, "recipientCountryCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Conditional.

This field contains the ISO 3166-1 country code of the recipient address.

Refer to ISO Codes
Note:
It is required for cross-border transactions that are originating from or destined to Canada." }, "senderAdditionalData": { "type": "object", "properties": { "identificationList": { "type": "array", "description": "Identification list of sender. We have a current limitation that sender ID and recipient ID information are mutually exclusive. If both sender ID and recipient ID are sent in the same request, only sender ID related information will be sent to the issuer. \nAdditionally, only 1 instance of ID per sender or recipient is currently supported. If more than one instance is provided, only the first instance will be forwarded to the issuer.", "items": { "type": "object", "properties": { "idType": { "maxLength": 4, "minLength": 1, "type": "string", "description": "This field will contain the type of sender identification. The valid values are: The valid values are: \n CUID - Customer identification - unspecified \n NTID - National identification\n PASN - Passport number\n DRLN - Driver license\n TXIN - Tax identification \n CPNY - Company registration number\n PRXY - Proxy identification \n SSNB - Social security number \n ARNB - Alien registration number \n LAWE - Law enforcement identification \n MILI - Military identification \n TRVL - Travel identification - non-passport \n EMAL - Email\n PHON - Phone number \nFor a given instance of identificationList[], a minimum of idType and idNumber fields should be provided, else the ID information will not be forwarded to the issuer.", "x-variant": "| enumeration" }, "idNumber": { "maxLength": 35, "minLength": 1, "type": "string", "description": "This field will contain an acquirer-populated value associated with the Identification Type in field idType \nFor a given instance of identificationList[] , a minimum of idType and idNumber fields should be provided, else the ID information will dropped and not be forwarded to the issuer." }, "idOwnerType": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field denotes whether the Tax ID is a business or individual's Tax ID when idType contains the value of TXIN (Tax identification).\nThe valid values are : \nB (Business) \nI (Individual)" }, "idIssueCountry": { "maxLength": 3, "minLength": 3, "type": "string", "description": "This tag will contain the 3-alpha or 3-digit ISO country code of the ID issuing country." } } } } } }, "businessApplicationId": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Identifies the programs' business application type for VisaNet transaction processing

For Money Transfer, AA applies to transactions where the sender and recipient are the same person and PP applies to transactions where the sender and recipient are not the same person.

For Money Transfer, CD (Cash Deposit) applies to cash funded transactions.

Refer to businessApplicationId codes" }, "recipientAddressLine1": { "maxLength": 99, "type": "string", "description": "Conditional.

This field contains the first line of the recipient address.
Note:
It is required for cross-border transactions that are originating from or destined to Canada." }, "recipientAddressLine2": { "maxLength": 99, "type": "string", "description": "Optional.

This field contains the second line of the recipient address." }, "transactionIdentifier": { "type": "number", "description": "Conditional.

The VisaNet transaction identifier. If you have previously sent an AFT, this field must include the VisaNet transaction identifier returned in the AFT response.

Note: provide only if there is a corresponding AFT transaction response." }, "recipientMiddleInitial": { "maxLength": 1, "minLength": 1, "type": "string", "description": "When present, this field contains recipient's middle initial.
Note:
Supported for Push Payments transactions associated with Gateway Service. (Refer to Mastercard data processing requirements)" }, "merchantPseudoAbaNumber": { "maxLength": 9, "type": "string", "description": "Conditional.

This is a number that uniquely identifies the originator when they sign up to send Push Payment Gateway transactions. On enrollment, an originator will get a single pseudo-value that is assigned by Visa. The other networks will assign their own unique values for the originator.

Note:
Supported only in US for domestic transactions involving Push Payments Gateway Service." }, "recipientAdditionalData": { "type": "object", "properties": { "identificationList": { "type": "array", "description": "Identification list of reciepint. We have a current limitation that sender ID and recipient ID information are mutually exclusive. If both sender ID and recipient ID are sent in the same request, only sender ID related information will be sent to the issuer. \nAdditionally, only 1 instance of ID per sender or recipient is currently supported. If more than one instance is provided, only the first instance will be forwarded to the issuer.", "items": { "type": "object", "properties": { "idType": { "maxLength": 4, "minLength": 1, "type": "string", "description": "This field will contain the type of reciepint identification. The valid values are: \n CUID - Customer identification - unspecified \n NTID - National identification\n PASN - Passport number\n DRLN - Driver license\n TXIN - Tax identification \n CPNY - Company registration number\n PRXY - Proxy identification \n SSNB - Social security number \n ARNB - Alien registration number \n LAWE - Law enforcement identification \n MILI - Military identification \n TRVL - Travel identification - non-passport \n EMAL - Email\n PHON - Phone number \nFor a given instance of identificationList[], a minimum of idType and idNumber fields should be provided, else the ID information will not be forwarded to the issuer.", "x-variant": "| enumeration" }, "idNumber": { "maxLength": 35, "minLength": 1, "type": "string", "description": "This field will contain an acquirer-populated value associated with the Identification Type in field idType. For a given instance of identificationList[], a minimum of idType and idNumber fields should be provided, else the ID information will be dropped and not forwarded to the issuer." }, "idOwnerType": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field denotes whether the Tax ID is a business or individual's Tax ID when idType contains the value of TXIN (Tax identification).\nThe valid values are : \nB (Business) \nI (Individual)" }, "idIssueCountry": { "maxLength": 3, "minLength": 3, "type": "string", "description": "This tag will contain the 3-alpha or 3-digit ISO country code of the ID issuing country." } } } } } }, "recipientBuildingNumber": { "maxLength": 16, "type": "string", "description": "Optional.

This field contains the house or building number of the recipient address." }, "recipientCardExpiryDate": { "type": "string", "description": "Conditional.

This field contains the expiration date for the recipient's primary account number or token in recipientPrimaryAccountNumber.
Note: Visa requires expiration date to be present in all OCTs destined to U.S. issuers
Format: YYYY-MM
Example: 2021-10", "format": "date" }, "systemsTraceAuditNumber": { "type": "number", "description": "A unique value should be used for each API method. However, when passing the (AFTR) method, this value must match the systemsTraceAuditNumber previously passed with the AFT method for the current transaction." }, "transactionCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Use a 3-character alpha or numeric currency code for currency of the sender. You should (unless prohibited by local law / regulation) use the billingCurrencyCode obtained from the Funds Transfer Attribute Inquiry API under Payment Account Attribute Inquiry.

Refer to ISO Codes " }, "localTransactionDateTime": { "type": "string", "description": "This field contains the local date and time when the transaction is submitted by a merchant, service provider or acquirer.
Format: YYYY-MM-DDThh:mm:ss
Example: 2011-12-30T21:32:52", "format": "date-time" }, "nationalReimbursementFee": { "type": "number", "description": "When present, this field contains the IRF fees.
Format:
Minimum Value: 0
Maximum value: 999999999.999
Allowed fractional digits: 3.
Note: If a currency has three decimal places, the last digit of this field must be zero.", "format": "double" }, "retrievalReferenceNumber": { "type": "number", "description": "A value used to tie together service calls related to a single financial transaction. When passing Account Funding Transaction (AFT) and an Original Credit Transaction (OCT) methods, this value must differ between the two methods. When passing the Account Funding Transaction Reversal (AFTR) method, this value must match the retrievalReferenceNumber previously passed with the AFT method for this transaction.

Recommended Format : ydddhhnnnnnn

The first fours digits must be a valid yddd date in the Julian date format, where the first digit = 0-9 (last digit of current year) and the next three digits = 001-366 (number of the day in the year). hh can be the two digit hour in a 24 hour clock (00-23) during which the transaction is performed.

nnnnnn can be the systemsTraceAuditNumber or any 6 digit number." }, "argentinaReimbursementFee": { "type": "number", "description": "Optional, this field contains the Argentina member supplied reimbursement fee. If present, populate 0", "format": "double", "x-variant": "| Length: totalDigits 10, fractionDigits 2 (minimum value is 0, maximum value is 99999999.99)" }, "merchantVerificationValue": { "required": [ "mvvAcquirerAssigned", "mvvVisaAssigned" ], "type": "object", "properties": { "mvvVisaAssigned": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Visa assigned MVV value. E.g. 0A45AF" }, "mvvAcquirerAssigned": { "maxLength": 4, "minLength": 4, "type": "string", "description": "Visa assists the acquirer in assigning the last four. E.g. 98FC" } }, "description": "Merchant Verification Value(MVV) is used to identify merchants that participate in a variety of programs. The MVV is unique to the merchant." }, "mexicoNationalServiceData": { "required": [ "reimbursementFee", "reimbursementFeeTax" ], "type": "object", "properties": { "irfType": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field contains one of the following values:
0 - Unknown/default
1 - Fixed
2 - Ad valorem (%)
3 - Composite (fixed amount and ad valorem)" }, "accountType": { "maxLength": 2, "minLength": 2, "type": "string", "description": "This field contains one of the following values:
CO - Commercial products
CR - Credit
DB - Debit
PL - Private label
PP - Prepaid" }, "irfCategoryCode": { "maxLength": 2, "minLength": 1, "type": "string", "description": "This field optionally contains any value from 00 to 99." }, "merchantFiscalId": { "maxLength": 13, "type": "string", "description": "This field contains RFC for the merchant. This is an alphanumeric field. The RFC format can be AAAANNNNNNAAA, where A is alphanumeric value and N is a numeric value." }, "reimbursementFee": { "type": "number", "description": "This field contains the Client-Calculated Interchange Reimbursement Fee in the same currency as the transaction. It must not contain zeros.", "format": "double" }, "reimbursementFeeTax": { "type": "number", "description": "This field contains the VAT calculated for the IRF applicable to the transaction. It must not contain zeros.", "format": "double" } }, "description": "Settlement Service Data object for Mexico required if transaction indicates Mexico national settlement." }, "settlementServiceIndicator": { "type": "number", "description": "This flag enables the originator to request for a particular settlement service to be used for settling the transaction.

Valid values are:
0 - International Settlement
9 - VIP to decide
8 - National Settlement

Note: The default value is 9. This field is only relevant for specific countries where the acquirer has to select 8 in order to settle in the national net settlement service. " }, "colombiaNationalServiceData": { "required": [ "countryCodeNationalService", "nationalNetReimbursementFeeBaseAmount" ], "type": "object", "properties": { "addValueTaxAmount": { "type": "number", "description": "This is the national government tax for added value of good or service.
Format:
Minimum Value: 0
Maximum value: 999999999.999
Allowed fractional digits: 3.
Note: If a currency has three decimal places, the last digit of this field must be zero.", "format": "double" }, "addValueTaxReturn": { "type": "number", "description": "This is base value of the IVA (Sales tax). Optional. This field indicates base value of the IVA ( Sales tax which is part of the benefit of the tax legislations for the 2% sale tax return to the cardholder.
Format:
Minimum Value: 0
Maximum value: 999999999.999
Allowed fractional digits: 3.
Note: If a currency has three decimal places, the last digit of this field must be zero.", "format": "double" }, "taxAmountConsumption": { "type": "number", "description": "This is the national consumption tax amount.
Format:
Minimum Value: 0
Maximum value: 999999999.999
Allowed fractional digits: 3.
Note: If a currency has three decimal places, the last digit of this field must be zero.", "format": "double" }, "nationalNetMiscAmount": { "type": "number", "description": "This is an amount field that contains an airport charge, cashback or a tip.
Format:
Minimum Value: 0
Maximum value: 999999999.999
Allowed fractional digits: 3", "format": "double" }, "emvTransactionIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Contains one of the below valid values:
0 - Does not apply to EMV
1 - EMV transaction
2 - Fallback transaction" }, "costTransactionIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Contains one of the below valid values:
0 - Not a cost inquiry amount
1 - Cost inquiry transaction" }, "nationalChargebackReason": { "type": "number", "description": "Contains a domestic chargeback reason code." }, "nationalReimbursementFee": { "type": "number", "description": "Numeric entry indicating a fee for a National Settlement transaction. It must be zeros unless the transaction is a National Settlement transaction for a country using this capability. Two decimal positions are implied.", "format": "double" }, "nationalNetMiscAmountType": { "maxLength": 1, "minLength": 1, "type": "string", "description": "It identifies the type of the miscellaneous amount – i.e. whether it is one of:
A - Airport charge
C - Cashback
T - Tip

Must be one of the above valid values if nationalNetMiscAmount > 0.

Must be skipped if nationalNetMiscAmount = 0." }, "countryCodeNationalService": { "type": "number", "description": "The acquirer's country code. Must be 170 for Colombia." }, "nationalNetReimbursementFeeBaseAmount": { "type": "number", "description": "The client supplied interchange reimbursement amount expressed in the transaction currency. This must be less than the transaction amount.
Format:
Minimum Value: 0
Maximum value: 999999999.999
Allowed fractional digits: 3.
Note: If a currency has three decimal places, the last digit of this field must be zero.", "format": "double" } }, "description": "Settlement Service Data object for Colombia required if transaction indicates Colombia national settlement" }, "recipientPrimaryAccountNumber": { "maxLength": 19, "minLength": 13, "type": "string", "description": "This is a 16-digit PAN or token for the account of the recipient of push payment." }, "recipientSubDivisionMinorCode": { "maxLength": 16, "type": "string", "description": "Optional.

This field contains the ISO subdivision minor code (for e.g. a county within a state) of the recipient address." }, "senderIdentificationNumberBusiness": { "type": "string", "description": "Conditional.

This is an alphanumeric value that carries the sender's identification number issued to the sender by the government or an authorized national entity. This field is to be used if the sender is a business (e.g. Disbursements)

Note: If senderIdentificationNumberIndividual is not populated, then this field needs to be populated mandatorily for Brazil domestic transactions.", "x-variant": "| maxLength: 20" }, "senderIdentificationNumberIndividual": { "type": "string", "description": "Conditional.

This is an alphanumeric value that carries the sender's identification number issued to the sender by the government or an authorized national entity or contains the customer’s VAT registration number for the individual tax identification. This field is to be used if the sender is an Individual (e.g. P2P payments),

Note: If senderIdentificationNumberBusiness is not populated, then this field needs to be populated mandatorily for Brazil domestic transactions.
If businessApplicationId has PS, then this field to be populated for Argentina domestic transaction.", "x-variant": "| maxLength: 13" } } }, "ReceiveOctResponse": { "required": [ "responseCode" ], "type": "object", "properties": { "responseCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Response code of the original request." }, "authIdResponse": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Contains the authorization code provided by the recipient when a transaction is approved.

Visa recommends that recipient maintains uniqueness of this code for a given merchant PAN, however Visa would not maintain any checks for uniqueness.

This field is to be sent as NULL if it is not populated." }, "receiverTransactionId": { "maxLength": 16, "minLength": 16, "type": "string", "description": "Acquirer may provide a transaction ID that can be used for investigation if required.

This field is to be sent as NULL if it is not populated" }, "cpsAuthorizationCharacteristicsIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "A code used by the acquirer to request CPS qualification. If applicable, V.I.P. changes the code to reflect the results of its CPS evaluation" } } }, "InquiryDetails": { "required": [ "alias", "aliasType", "paymentInstrOwner" ], "type": "object", "properties": { "alias": { "type": "string", "description": "This attribute contains the Alias data, e.g. phone number, email\naddress, etc.
If phone number is used for Alias, this should be\nprovided in accordance with ITU-T E.164 (2010) number structure.\n" }, "aliasType": { "type": "string", "description": "“01” – Phone number
“02” – Email address
“03” – National ID
“04” – IBAN (International Bank Account Number)" }, "paymentInstrOwner": { "type": "string", "description": "Indicates if the returned payment instrument belongs to the originator. \"REQUESTOR\" if the payment instrument belongs the originator. \"OTHER\" if the payment instrument does not belong to the originator.", "enum": [ "REQUESTOR", "OTHER" ] }, "paymentInstrTypes": { "type": "array", "description": "Provides returned Alias mapped to CARD or ACCOUNT. Default the value is CARD.", "items": { "type": "string" } } } }, "CancelDeferredPushFundsTransactionPostResponse": { "required": [ "actionCode", "transactionIdentifier" ], "type": "object", "properties": { "actionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "The action code of the cancelled deferred OCT request.

25 : Unable to locate deferred OCT request.
R0 : No action taken. Deferred OCT transaction already cancelled.
57 : Transaction not permitted to cardholder.
21 : Deferred OCT is under processing, cannot be cancelled.
85 : Deferred OCT cancellation successful." }, "transactionIdentifier": { "maximum": 15, "minimum": 15, "type": "number", "description": "The VisaNet reference number for the cancelled deferred OCT request.", "format": "int64" } } }, "MultiPullFundsTransactionRequests": { "required": [ "amount", "cardAcceptor", "localTransactionDateTime", "pointOfServiceData", "retrievalReferenceNumber", "senderCardExpiryDate", "senderCurrencyCode", "senderPrimaryAccountNumber", "systemsTraceAuditNumber" ], "type": "object", "properties": { "cavv": { "type": "string", "description": "The Cardholder Authentication Verification Value (CAVV) is a value generated by an Access Control Server (ACS) and signed by the Issuer using account and password information of cardholders registered for the Verified by Visa program. This field should be in hexabinary format.", "x-variant": "| Length:40" }, "amount": { "type": "number", "description": "The amount of the transaction, inclusive of all fees you assess for the transaction, including currency conversion fees. If the originator is populating the surcharge or foreignExchangeFeeTransaction field, they must be included in the amount field.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "pinData": { "type": "object", "properties": { "pinDataBlock": { "type": "string", "description": "For a CardPresent with PIN Data scenario, this field is required.", "x-variant": "| Length: 16, hexbinary format" }, "securityRelatedControlInfo": { "type": "object", "properties": { "zoneKeyIndex": { "type": "integer", "description": "Note: For a CardPresent with PIN Data scenario, this field is required.", "x-variant": "| positive, Length: totalDigits 2" }, "pinBlockFormatCode": { "type": "integer", "description": "Note: For a CardPresent Transactions, this field is required.", "x-variant": "| positive, Length: totalDigits 2" } } } } }, "surcharge": { "type": "string", "description": "When present, this field contains the sender's surcharge as assessed by the originator. Values in this field must be in the same currency and format as defined in the amount field.", "format": "double", "x-variant": "| Length: totalDigits12, fractionDigits 3 (minimum value is 0)" }, "senderCity": { "maxLength": 25, "minLength": 1, "type": "string", "description": "When present, this field contains sender's city" }, "cardAcceptor": { "required": [ "address", "idCode", "name", "terminalId" ], "type": "object", "properties": { "name": { "type": "string", "description": "name of the originator/money transfer operator.", "x-variant": "| Length: 1 - 25" }, "idCode": { "type": "string", "description": "An identifier for the card acceptor (Visa Direct Originator). This value should be unique for each originator for whom you are sending transactions.", "x-variant": "| Length: 1 - 15" }, "address": { "required": [ "country" ], "type": "object", "properties": { "state": { "type": "string", "description": "Note: state or province of the money transfer operator/Originator.

Required if cardAcceptor:address:country is \"US\" or \"CA\".", "x-variant": "| Length: 2" }, "county": { "type": "string", "description": "Note: It contains 3-digit numeric FIPS county code of the money transfer operator/Originator.

Required if cardAcceptor:address:country is \"US\".", "x-variant": "| Length: 3" }, "country": { "type": "string", "description": "This field must contain the 3-character alpha country code for the country of the originator or money transfer operator.

Refer to ISO Codes", "x-variant": "| Length: 3" }, "zipCode": { "type": "string", "description": "Note: Zip/Postal code of the money transfer operator/Originator.

Required if cardAcceptor:address:country is \"US\" or \"CA\".", "x-variant": "| Length: 5 - 9" } } }, "terminalId": { "type": "string", "description": "The identifier for the terminal at a card acceptor location. If sending transactions from a card not present environment, use the same value for all transactions.", "x-variant": "| Length: 1 - 8" } } }, "cardCvv2Value": { "type": "string", "description": "The cardCvv2Value provided by the account holder for the senderPrimaryAccountNumber in the request.", "x-variant": "| Length: 3 - 4" }, "senderAddress": { "maxLength": 35, "minLength": 1, "type": "string", "description": "When present, this field contains sender's Address" }, "memberComments": { "maxLength": 254, "minLength": 1, "type": "string", "description": "This field can be optionally used to send and receive comments by service providers. Issuers can optionally include new text in this field in the response. If the issuer does not include this field, Visa will inject the value from the request in the response and send it back to the service provider." }, "recipientState": { "maxLength": 3, "type": "string", "description": "Required if RecipientCountryCode is either 124(CAN) or 840(USA)" }, "senderLastName": { "maxLength": 35, "type": "string", "description": "This field contains sender's last name" }, "senderFirstName": { "maxLength": 35, "type": "string", "description": "This field contains sender's first name" }, "senderReference": { "maxLength": 16, "type": "string", "description": "If the transaction is a money transfer, pre-paid load, or credit card bill pay, and if the sender intends to fund the transaction with a non-financial instrument (for example, cash), a reference number unique to the sender is required.

If the transaction is a funds disbursement, the field is required.

This field is required if senderAccountNumber is not sent.", "x-variant": "| only alphabets (a-z, A-Z) and/or numbers (0-9) allowed" }, "senderStateCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "When present, this field contains sender's state code" }, "senderPostalCode": { "type": "string", "description": "When present, this field contains the sender's postal code" }, "sharingGroupCode": { "type": "string", "description": "This field is optionally used by Push Payments Gateway participants (merchants and acquirers) to specify the network access priority.

Refer to Sharing Group Code

Note:
Supported only in US for domestic transactions involving Push Payments Gateway Service.", "x-variant": "| Length: 30" }, "merchantReference": { "maxLength": 35, "type": "string", "description": "This is an alphanumeric value that carries the merchant’s unique identification number issued by the government or an authorized national entity. This field to be populated for Argentina domestic transaction when businessApplicationId has PS.", "x-variant": "| only alphabets (a-z, A-Z) and/or numbers (0-9) allowed" }, "messageReasonCode": { "type": "integer", "description": "Conditional.

This field is required to identify whether a transaction is merchant-initiated.
Note: Message reason code and POS Environment fields are mutually exclusive.

Refer to Meassage Reason Codes", "x-variant": "| maxLength: 4" }, "recipientLastName": { "maxLength": 35, "type": "string", "description": "When present, this field contains recipient's last name" }, "senderCountryCode": { "maxLength": 3, "minLength": 2, "type": "string", "description": "when present, this field contains sender's country code

Refer to ISO Codes" }, "sourceOfFundsCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "when present, this field contain a valid sourceOfFundsCode code that matches the funding instrument.

Refer to sourceOfFundsCode codes" }, "magneticStripeData": { "type": "object", "properties": { "track1Data": { "type": "string", "description": "Note: For a cardPresent scenario, magneticStripeData.track1Data (or magneticStripeData.track2Data) must be included.

Note: These fields are only available in OCT transactions in specific geographies. Please reach out to your Visa representative for details", "x-variant": "| Length: maximum 76" }, "track2Data": { "type": "string", "description": "Note: For a CardPresent scenario, MagneticStripeData.track1Data (or MagneticStripeData.track2Data) must be included.", "x-variant": "| hex binary, Length: maximum 19" } } }, "pointOfServiceData": { "required": [ "motoECIIndicator", "panEntryMode", "posConditionCode" ], "type": "object", "properties": { "panEntryMode": { "type": "integer", "description": "A 2-digit code that identifies the method used to enter the cardholder account number and card expiration date. This code specifies whether the entire magnetic stripe is included in an authorization or financial request.

Refer to PAN Entry Mode Codes", "x-variant": "| positive, Length: totaldigits 2" }, "posEnvironment": { "maxLength": 1, "type": "string", "description": "Conditional

This field is required to identify whether a transaction is merchant-initiated.

Refer to POS Environment Codes", "x-variant": "| Length: 1" }, "motoECIIndicator": { "maxLength": 1, "type": "string", "description": "Identifies the level of security used in an electronic commerce transaction over an open network (for example, the Internet) or the type of mail or telephone order. Acquirers supply indicator values, which V.I.P. forwards in requests and advices to issuers that have successfully tested to receive them. The subfield is dropped if issuers have not successfully completed testing or choose not to receive it.

Refer to Moto ECI Codes", "x-variant": "| Length: 1" }, "posConditionCode": { "type": "integer", "description": "Contains a code identifying transaction conditions at the point of sale or point of service. For messages that follow an original request, this code identifies the type of processing being done.

Refer to POS Condition Codes", "x-variant": "| positive,Length: totalDigits 2" } }, "description": "Contains a code identifying transaction conditions at the point-of-sale or point of service. For messages that follow an original request, this code identifies the type of processing being done.
Note: For a CardPresent Transactions, this field is required." }, "recipientFirstName": { "maxLength": 35, "type": "string", "description": "When present, this field contains recipient's first name" }, "riskAssessmentData": { "type": "object", "properties": { "scpExemptionIndicator": { "type": "string", "description": "SCP Indicator. Acceptable values are true/false" }, "traExemptionIndicator": { "type": "string", "description": "TRA Exemption Indicator. Acceptable values are true/false" }, "lowValueExemptionIndicator": { "type": "string", "description": "Low Value Exemption Indicator. Acceptable values are true/false" }, "delegatedAuthenticationIndicator": { "type": "string", "description": "Delegated Authentication Indicator. Acceptable values are true/false" }, "trustedMerchantExemptionIndicator": { "type": "string", "description": "Trusted Merchant Exemption Indicator. Acceptable values are true/false" } } }, "senderCurrencyCode": { "type": "string", "description": "Use a 3-character alpha or numeric currency code for currency of the sender.

Refer to ISO Codes", "x-variant": "| Length: 3" }, "feeProgramIndicator": { "type": "string", "description": "If present, a valid value is required. Spaces or special characters are not allowed.", "x-variant": "| Length:3" }, "senderAccountNumber": { "maxLength": 34, "type": "string", "description": "When present, this field contains the sender's account number. This field is mandatory in cross-border AFTs it will contain the destination account number being funded with the AFT (e.g. IBAN number for loading a bank account, proprietary wallet number for loading a wallet, prepaid PAN number for loading a card, money transfer operator proprietary account number with acquirer for funding a money transfer)." }, "senderMiddleInitial": { "maxLength": 1, "type": "string", "description": "This field contains sender's middle initial" }, "recipientCountryCode": { "maxLength": 3, "minLength": 2, "type": "string", "description": "when present, this field contains recipient's country code

Refer to ISO Codes" }, "senderCardExpiryDate": { "type": "string", "description": "The expiration date for the sender's Visa account number in senderPrimaryAccountNumber", "x-variant": "| YYYY-MM" }, "originalTransactionId": { "type": "integer", "description": "Conditional.

This field is required to identify whether a transaction is merchant-initiated

Note: Merchants must link the Merchant-Initiated Transaction with the original transaction using the Transaction Identifier that was generated for the original cardholder initiated transaction. However, for standing-instruction MITs (i.e., recurring, installment, and unscheduled COF), acquirers can use the Transaction Identifier generated for the previous transaction in the series to link the subsequent transactions.", "x-variant": "| maxLength: 15" }, "recipientMiddleInitial": { "maxLength": 1, "type": "string", "description": "When present, this field contains recipient's middle initial" }, "visaMerchantIdentifier": { "type": "string", "description": "Visa Merchant Identifier", "x-variant": "| positive,Length: totalDigits 8" }, "addressVerificationData": { "type": "object", "properties": { "street": { "type": "string", "description": "Street address for address verification", "x-variant": "| Length: 20" }, "postalCode": { "type": "string", "description": "Conditional
Postal Code for address verification. For US, contains 5 or 9 digit ZIP code. This field is required for the transaction to qualify for CPS qualified Interchange rates and to avoid Transaction Integrity Fee.", "x-variant": "| Length: 9" } }, "description": "Conditional
Address verification is required for an AFT transaction to qualify for CPS. Either send the card’s postal code or full address.
Note:Supported only in US for CPS (Custom Payment Service). This field is required for the transaction to qualify for CPS qualified Interchange rates and to avoid Transaction Integrity Fee.
Either the postalCode or full address of the card is required.
Please reach out to your Visa representative for details." }, "merchantPseudoAbaNumber": { "type": "string", "description": "This is a number that uniquely identifies the originator when they sign up to send Push Payment Gateway transactions. On enrollment, an originator will get a single pseudo-value that is assigned by Visa. The other networks will assign their own unique values for the originator.

Note:
Supported only in US for domestic transactions involving Push Payments Gateway Service.", "x-variant": "| Length: 9" }, "systemsTraceAuditNumber": { "type": "integer", "description": "A unique value should be used for each API method. However, when passing the (AFTR) method, this value must match the systemsTraceAuditNumber previously passed with the AFT method for the current transaction.", "x-variant": "| positive, Length: 6" }, "localTransactionDateTime": { "type": "string", "format": "date-time", "x-variant": "| YYYY-MM-DDThh:mm:ss. The date and time you submit the transaction" }, "nationalReimbursementFee": { "type": "number", "description": "When present, this field contains the IRF fees.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "pointOfServiceCapability": { "type": "object", "properties": { "posTerminalType": { "type": "integer", "description": "Note: Valid values if card is present include 0, 3 and 4. If card is not present, valid value is 5.", "x-variant": "| positive, totalDigits 1" }, "posTerminalEntryCapability": { "type": "integer", "description": "Note: Valid values if card is present include 0, 2 and 9. If card is not present, valid value is 1.", "x-variant": "| positive, Length: totalDigits 1" } } }, "retrievalReferenceNumber": { "type": "string", "description": "A value used to tie together service calls related to a single financial transaction. When passing Account Funding Transaction (AFT) and Original Credit Transaction (OCT) methods, this value must differ between the two methods. When passing the Account Funding Transaction Reversal (AFTR) method, this value must match the retrievalReferenceNumber previously passed with the AFT method for this transaction.

Recommended Format: ydddhhnnnnnn

The first fours digits must be a valid yddd date in the Julian date format, where the first digit = 0-9 (last digit of current year) and the next three digits = 001-366 (number of the day in the year).

hh can be the two digit hour in a 24 hour clock (00-23) during which the transaction is performed.

nnnnnn can be the systemsTraceAuditNumber or any 6 digit number.", "x-variant": "| ydddhhnnnnnn(numeric characters only), Length: 12" }, "argentinaReimbursementFee": { "type": "number", "description": "Optional, when present, this field contains the Argentina member supplied reimbursement fee.
Note:
If a currency has one decimal place, the last digit of this field must be zero.
If a currency has no decimal place, the last two digits of this field must be zero.", "format": "double", "x-variant": "| Length: totalDigits 10, fractionDigits 2 (minimum value is 0, maximum value is 99999999.99)" }, "merchantVerificationValue": { "required": [ "mvvAcquirerAssigned", "mvvVisaAssigned" ], "type": "object", "properties": { "mvvVisaAssigned": { "type": "string", "description": "Visa assigned MVV value. E.g. 0A45AF", "x-variant": "| Length: 6, hexbinary format" }, "mvvAcquirerAssigned": { "type": "string", "description": "Visa assists the acquirer in assigning the last four. E.g. 98FC", "x-variant": "| Length: 4, hexbinary format" } }, "description": "Merchant Verification Value(MVV) is used to identify merchants that participate in a variety of programs. The MVV is unique to the merchant." }, "senderPrimaryAccountNumber": { "type": "string", "description": "The primary account number of the sender's account.", "x-variant": "| Length: 13 - 19" }, "settlementServiceIndicator": { "type": "integer", "description": "This flag enables the originator to request for a particular settlement service to be used for settling the transaction.

Valid values are:
0 - International Settlement
9 - VIP to decide
8 - National Settlement

Note: The default value is 9. This field is only relevant for specific countries where the acquirer has to select 8 in order to settle in the national net settlement service. ", "x-variant": "positive | Length: totalDigits 1" }, "foreignExchangeFeeTransaction": { "type": "number", "description": "When present, this field contains the sender's foreign exchange markup fee (markup above the wholesale or VisaNet exchange rate as assessed by the originator). Values in this field must be in the same currency and format as defined in the amount field.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "recipientIdentificationNumberBusiness": { "type": "string", "description": "Conditional.

This is an alphanumeric value that carries the recipient's identification number issued to the recipient by the government or an authorized national entity. This field is to be used if the recipient is a business (e.g. Disbursements)\n

If recipientIdentificationNumberIndividual is not populated, then this field needs to be populated mandatorily for Brazil domestic trasactions when businessApplicationId has any of the below values:

AA
PP
TU
BI
WT
FT

This is an alphanumeric value that carries the merchant’s value-added tax (VAT) registration number or single business reference number (SBRN) for the business issued to by the government or an authorized national entity, then this field needs to be populated for Argentina domestic transaction when businessApplicationId:PS", "x-variant": "| maxLength: 20" }, "recipientIdentificationNumberIndividual": { "type": "string", "description": "Conditional.

This is an alphanumeric value that carries the recipient's identification number issued to the recipient by the government or an authorized national entity. This field is to be used if the recipient is an Individual (e.g. P2P payments)

If recipientIdentificationNumberBusiness is not populated, then this field needs to be populated mandatorily for Brazil domestic trasactions when businessApplicationId has any of the below values:

AA
PP
TU
BI
WT
FT
", "x-variant": "| maxLength: 13" }, "cpsAuthorizationCharacteristicsIndicator": { "type": "string", "description": "Conditional
Request for CPS authorization. If present, a valid value is required. Spaces or special characters are not allowed. Possible values are : Y (Transaction requests participation).

Note:Supported only in US for CPS (Custom Payment Service).

This field is required for the transaction to qualify for CPS qualified Interchange rates and to avoid the Transaction Integrity Fee.
Please reach out to your Visa representative for details.", "x-variant": "| Length:1" } } }, "ReceiveOCTAdviceRequest": { "required": [ "businessApplicationId", "encRecipientPAN", "localTransactionDate", "localTransactionTime", "merchantCategoryCode", "messageType", "originatorBIN", "originatorCountryCode", "retrievalReferenceNumber", "systemTraceAuditNumber", "transactionAmount", "transactionCurrencyCode", "transactionTypeCode", "transmissionDateTime", "visaTransactionId" ], "type": "object", "properties": { "refId": { "maxLength": 28, "type": "string", "description": "This field is sent if it is reflected in the merchant information display. It will otherwise be sent as NULL if it is not populated." }, "senderData": { "required": [ "encSenderName", "encSenderPAN" ], "type": "object", "properties": { "senderCity": { "maxLength": 25, "type": "string", "description": "Contains the city of the entity funding the transaction." }, "senderState": { "maxLength": 2, "type": "string", "description": "Contains the geographical state or province of the entity funding the transaction." }, "encSenderPAN": { "maxLength": 500, "type": "string", "description": "This field contains the sender account number.

The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be Numeric(16-19) after decyption." }, "encSenderName": { "maxLength": 500, "type": "string", "description": "Contains consumer name. If consumer name is greater than 30 characters, then only first 30 characters will be expected.

The field is sent in encrypted format which the recipient must decrypt using the instructions provided." }, "senderAddress": { "maxLength": 35, "type": "string", "description": "Contains the address of the entity funding the transaction" }, "senderCountry": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Contains the country of the entity funding the transaction. Format: 3-digit ISO country code." }, "senderPostalCode": { "maxLength": 10, "minLength": 5, "type": "string", "description": "Contains the Postal Code of the entity funding the transaction." }, "encSenderLastName": { "maxLength": 500, "type": "string", "description": "This field contains sender's Last name.

The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be String(1-35) after decryption." }, "encSenderFirstName": { "maxLength": 500, "type": "string", "description": "This field contains sender's first name.

The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be String(1-35) after decryption." }, "encSenderMiddleName": { "maxLength": 500, "type": "string", "description": "This field contains sender's middle name.

The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be String(1-35) after decryption." }, "encSenderDateOfBirth": { "maxLength": 500, "type": "string", "description": "This subfield contains the sender date of birth." }, "senderIdentificationList": { "type": "array", "description": "Identification list of sender. If both sender ID and recipient ID are sent in the same request, only sender ID related information will be sent to the issuer. \nAdditionally, only 1 instance of ID per sender or recipient is currently supported. If more than one instance is provided, only the first instance will be forwarded to the issuer.", "items": { "type": "object", "properties": { "idType": { "maxLength": 4, "minLength": 1, "type": "string", "description": "This field will contain the type of sender identification. The valid values are: \n CUID - Customer identification - unspecified \n NTID - National identification\n PASN - Passport number\n DRLN - Driver license\n TXIN - Tax identification \n CPNY - Company registration number\n PRXY - Proxy identification \n SSNB - Social security number \n ARNB - Alien registration number \n LAWE - Law enforcement identification \n MILI - Military identification \n TRVL - Travel identification - non-passport \n EMAL - Email\n PHON - Phone number", "x-variant": "| enumeration" }, "encIdNumber": { "maxLength": 500, "type": "string", "description": "This field will contain an acquirer-populated value associated with the Identification Type in field idType. Note that this field is encrypted. The decrypted value will have a max length of 35 characters." }, "idOwnerType": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field denotes whether the Tax ID is a business or individual's Tax ID when idType contains the value of TXIN (Tax identification).\nThe valid values are : \nB (Business) \nI (Individual)" }, "idIssueCountry": { "maxLength": 3, "minLength": 3, "type": "string", "description": "This tag will contain the 3-digit ISO country code of the ID issuing country." } } } } } }, "accountType": { "maxLength": 2, "type": "string", "description": "A 2-digit code identifying the account type affected by this transaction or from which an account transfer is made." }, "messageType": { "type": "string", "description": "Possible values based on Message Type Identifier are:
0200 : 'Recipient Timeout'
0220 : 'STIP Decline'
0220 : 'Adjustment Advice'
0210 : 'VIP reject'
0420 : 'Reversal Advice'" }, "cardAcceptor": { "required": [ "address", "idCode", "name", "terminalId" ], "type": "object", "properties": { "name": { "type": "string", "description": "The sender name.", "x-variant": "| Length: 1 - 25" }, "idCode": { "type": "string", "description": "Contains an alphanumeric code that identifies the card acceptor for defining the point of service terminal in local and interchange environments. An acquirer-assigned code identifying the card acceptor for the transaction. Depending on the acquirer and merchant billing and reporting requirements, the code can represent a merchant, a merchant location, or a merchant location terminal.", "x-variant": "| Length: 1 - 15" }, "address": { "required": [ "city", "country" ], "type": "object", "properties": { "city": { "type": "string", "description": "The name of the city where the customer transaction occurs.", "x-variant": "| Length: 13" }, "state": { "type": "string", "description": "This subfield is omitted when not applicable and no ZIP code is present.", "x-variant": "| Length: 2" }, "county": { "type": "string", "description": "This subfield is omitted when not applicable and no ZIP code is present.
The subfield is present when:
It may contain a county code when applicable and a ZIP or postal code is present.
It contains zeros when not applicable and a ZIP or postal code is present.
For a U.S. card acceptor, it contains a 3-digit numeric county code as defined in FIPS PUB 6.3, 1979 (Federal Information Processing Standards Publication—Counties and County Equivalents of the States of the United States).
This subfield does not apply to Canadian transactions. It must be zero-filled by Canadian card acceptors that are providing a postal code", "x-variant": "| Length: 2" }, "country": { "type": "string", "description": "The 2-character alpha code for the country where the customer transaction occurs.", "x-variant": "| Length: 2" }, "postalCode": { "type": "string", "description": "This subfield is omitted if not applicable.", "x-variant": "| Length: 14" } } }, "terminalId": { "type": "string", "description": "Contains a code that identifies a terminal at the card acceptor location, by itself or in conjunction with Card Acceptor Identification Code, when the value is not unique to a terminal.", "x-variant": "| Length: 1 - 8" }, "legalBusinessName": { "maxLength": 25, "minLength": 1, "type": "string", "description": "Acceptor’s legal business name associated with the card acceptor identification code for money transfer OCTs. This field is conditionally required for all Money Transfer OCTs" }, "paymentFacilitator": { "type": "object", "properties": { "id": { "maxLength": 11, "minLength": 1, "type": "string", "description": "Marketplace ID or Payment Facilitator's ID. This field is conditionally required when a payment facilitator is involved." }, "name": { "maxLength": 25, "minLength": 1, "type": "string", "description": "Payment facilitator name in OCTs. This field is conditionally required when a payment facilitator is involved." }, "subMerchantId": { "maxLength": 15, "minLength": 1, "type": "string", "description": "Sub-Merchant ID containing the sponsored merchant ID. This field is conditionally required when a payment facilitator is involved." } } } } }, "responseCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Response code of the original request" }, "sourceAmount": { "maxLength": 12, "minLength": 1, "type": "string", "description": "This field identifies the transaction amount entered in the sender's currency code prior to FX conversion by the originating entity. This field is applicable for India only." }, "originatorBIN": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Identifies the originator of the merchant payment transaction." }, "recipientData": { "type": "object", "properties": { "recipientCity": { "maxLength": 25, "type": "string", "description": "This field contains recipient's city." }, "recipientState": { "maxLength": 3, "type": "string", "description": "This field contains recipient's address state." }, "encRecipientName": { "maxLength": 500, "type": "string", "description": "This field contains recipient's name" }, "recipientCountry": { "maxLength": 10, "type": "string", "description": "This field contains recipient's country." }, "recipientPostalCode": { "maxLength": 16, "type": "string", "description": "This field contains recipient's address postal code." }, "encRecipientLastName": { "maxLength": 500, "type": "string", "description": "This field contains recipient's Last name.

The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be String(1-35) after decryption." }, "encRecipientFirstName": { "maxLength": 500, "type": "string", "description": "This field contains recipient's first name.

The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be String(1-35) after decryption." }, "encRecipientMiddleName": { "maxLength": 500, "type": "string", "description": "This field contains recipient's middle name.

The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be String(1-35) after decryption." }, "encRecipientStreetName": { "maxLength": 600, "type": "string", "description": "This field contains recipient's street name.

The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be String(1-99) after decryption." }, "encRecipientAddressLine1": { "maxLength": 600, "type": "string", "description": "This field contains recipient's 1st line of address.

The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be String(1-99) after decryption." }, "encRecipientAddressLine2": { "maxLength": 600, "type": "string", "description": "This field contains recipient's 2nd line of address.

The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be String(1-99) after decryption." }, "encRecipientBuildingNumber": { "maxLength": 600, "type": "string", "description": "This field contains recipient's building number.

The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be String(1-16) after decryption." }, "recipientIdentificationList": { "type": "array", "description": "Identification list of reciepint. If both sender ID and recipient ID are sent in the same request, only sender ID related information will be sent to the issuer. \nAdditionally, only 1 instance of ID per sender or recipient is currently supported. If more than one instance is provided, only the first instance will be forwarded to the issuer.", "items": { "type": "object", "properties": { "idType": { "maxLength": 4, "minLength": 1, "type": "string", "description": "This field will contain the type of reciepint identification. The valid values are: \n CUID - Customer identification - unspecified \n NTID - National identification\n PASN - Passport number\n DRLN - Driver license\n TXIN - Tax identification \n CPNY - Company registration number\n PRXY - Proxy identification \n SSNB - Social security number \n ARNB - Alien registration number \n LAWE - Law enforcement identification \n MILI - Military identification \n TRVL - Travel identification - non-passport \n EMAL - Email\n PHON - Phone number", "x-variant": "| enumeration" }, "encIdNumber": { "maxLength": 500, "type": "string", "description": "This field will contain an acquirer-populated value associated with the Identification Type in field idType. Note that this field is encrypted. The decrypted value will have a max length of 35 characters." }, "idOwnerType": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field denotes whether the Tax ID is a business or individual's Tax ID when idType contains the value of TXIN (Tax identification).\nThe valid values are : \nB (Business) \nI (Individual)" }, "idIssueCountry": { "maxLength": 3, "minLength": 3, "type": "string", "description": "This tag will contain the 3-digit ISO country code of the ID issuing country." } } } }, "recipientSubDivisionMinorCode": { "maxLength": 16, "type": "string", "description": "This field contains recipient's address subdivision minor code." } } }, "rejectionCode": { "maxLength": 4, "minLength": 4, "type": "string", "description": "Only populated if Advice message type is ‘Reject’. This field contains the VIP rejection code ." }, "sourceOfFunds": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Indicates the method used by the sender to fund an enhanced OCT.
The tag is required in all domestic and cross-border enhanced money transfer OCTs destined to U.S. recipient issuers.
Values are:
01 = Visa credit
02 = Visa debit
03 = Visa prepaid
04 = Cash
05 = Debit/deposit access accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATM cards)
06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)" }, "authIdResponse": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Auth ID of the original request." }, "amountSurcharge": { "type": "integer", "description": "In certain case the merchant display information could contain convenience fee applicable to the transaction.

Originators are required to populate convenience fee amount in this field, if presented by merchant.

This field will be sent as NULL if it is not populated." }, "cardProductCode": { "maxLength": 2, "type": "string", "description": "Used to identify the specific card product." }, "encRecipientPAN": { "maxLength": 500, "type": "string", "description": "16-digit PAN created from the Visa Direct merchant ID as captured by the consumer from the merchant information display. The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be Numeric(16-19) after decryption." }, "purposeOfPayment": { "maxLength": 12, "minLength": 1, "type": "string", "description": "Purpose of payment is provided for certain markets to clearly identify the purpose of the payment based on the standard values defined for respective markets." }, "settlementAmount": { "maxLength": 12, "minLength": 1, "type": "string", "description": "This field contains the transaction amount converted to settlement currency." }, "sourceAmountSign": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field will contain the value of C (Positive balance). This field is applicable for India only." }, "sourceAmountType": { "maxLength": 2, "minLength": 2, "type": "string", "description": "This field will contain a value of 45 (Amount, pre-currency conversion). When present in an OCT message, this is the original amount sent by the sender prior to currency conversion. This field is applicable for India only." }, "messageReasonCode": { "type": "integer", "description": "4 digits message reason code to give processing intent:
2150 - 'Original credit: debit or credit adjustment'" }, "panExpirationDate": { "maxLength": 4, "minLength": 4, "type": "string", "description": "The year and the month after which the card expires. The date is in yymm numeric format, where yy = year (00-99) and mm = month (01-12)." }, "sourceAccountType": { "maxLength": 2, "minLength": 2, "type": "string", "description": "This field will contain the value of 00 (Not applicable or not specified). This field is applicable for India only." }, "transactionAmount": { "maxLength": 12, "type": "string", "description": "Transaction amount in merchant currency." }, "visaTransactionId": { "maxLength": 15, "minLength": 15, "type": "string", "description": "It is added by VisaNet

It contains a right-justified, VisaNet generated Transaction Identifier (TID) that is unique for each request. The identifier links original messages to subsequent messages, such as those for exception item processing and clearing record PCR/BIN Flag for receiving this field must be turned on for this." }, "pointOfServiceData": { "required": [ "panEntryMode", "posConditionCode" ], "type": "object", "properties": { "panEntryMode": { "type": "integer", "description": "A 2-digit code that identifies the method used to enter the cardholder account number and card expiration date. This code specifies whether the entire magnetic stripe is included in an authorization or financial request.", "x-variant": "| positive, Length: totaldigits 2" }, "motoECIIndicator": { "maxLength": 2, "type": "string", "description": "This 2-digit code identifies the level of security used in an electronic commerce transaction over an open network (for example, the Internet) or the type of mail or telephone order.

Acquirers supply indicator values, which V.I.P. forwards in requests and advices to issuers that have successfully tested to receive them. The subfield is dropped if issuers have not successfully completed testing or choose not to receive it.", "x-variant": "| Length: 2" }, "posConditionCode": { "type": "integer", "description": "Contains a code identifying transaction conditions at the point of sale or point of service. For messages that follow an original request, this code identifies the type of processing being done.", "x-variant": "| positive,Length: totalDigits 2" }, "specialConditionIndicatorMerchant": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Cryptocurrency indicator with the value of “7” can be used to identify the purchase of cryptocurrency, thereby providing greater visibility to the issuers." } } }, "purchaseIdentifier": { "type": "object", "properties": { "type": { "maxLength": 1, "type": "string" }, "referenceNumber": { "maxLength": 25, "type": "string" } }, "description": "This is the invoice number or some other reference for billing purposes.

E.G. For Airtime top up, this should contain the MSISDN that is being topped up.

This field will be sent as NULL if it is not populated." }, "settlementConvRate": { "maxLength": 11, "minLength": 1, "type": "string", "description": "This field contains the rate used by VisaNet to convert the transaction amount to settlement amount." }, "settlementCurrency": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The 3-digit ISO-4217 code in this field reflects the currency associated to the settlementAmount field." }, "sourceCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The 3-digit ISO-4217 code in this field reflects the currency associated to the sourceAmount field. This field is applicable for India only." }, "feeProgramIndicator": { "maxLength": 3, "minLength": 3, "type": "string", "description": "This field contains an interchange reimbursement fee program indicator (FPI), which is used in assessing the fee amount applied to:
U.S. financial transactions.
Canada financial transactions.
Regional AP or domestic AP financial and non-financial transactions.
Domestic CEMEA financial and non-financial transactions.
Interregional transactions." }, "transactionTypeCode": { "type": "integer", "description": "Processing code:
02 - 'Adjustment Debit'
22 - 'Adjustent Credit'
26 - 'Original Credit'" }, "localTransactionDate": { "maxLength": 4, "minLength": 4, "type": "string", "description": "It contains the month and day on which the transaction was originated. The date is in mmdd format.", "format": "mmdd" }, "localTransactionTime": { "maxLength": 6, "minLength": 6, "type": "string", "description": "The time the transaction takes place, expressed in the local time of the originator. The time is in hhmmss format.", "format": "hhmmss" }, "merchantCategoryCode": { "maxLength": 4, "minLength": 4, "type": "string", "description": "Contains a code describing the merchant's type of business product or service, also known as the merchant category code (MCC). These codes are based on the Merchant Classification Code Guideline available from the Bank Card Division of the ABA.Codes are listed in the Visa Core Rules and Visa Product and Service Rules, as amended by additions and changes published in VisaNet Business Enhancements and in Technical Letters for clients." }, "stipSwitchReasonCode": { "type": "integer", "description": "Code that identifies why STIP responded for the issuer or why the switch generated an advice." }, "transmissionDateTime": { "maxLength": 10, "minLength": 10, "type": "string", "description": "Format: MMDDhhmmss.", "format": "MMDDhhmmss" }, "businessApplicationId": { "maxLength": 2, "type": "string", "description": "Business Application Identifier." }, "originatorCountryCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "A 3-digit ISO-4217 code that identifies the country of the originating BIN." }, "senderReferenceNumber": { "maxLength": 16, "type": "string", "description": "Contains a transaction reference number that is provided by the originator or acquirer and can be used to uniquely identify the entity funding the transaction." }, "systemTraceAuditNumber": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Numeric. It is a key data element used to match a response to its request or to match a message to others for a given transaction." }, "velocityLimitIndicator": { "type": "integer", "description": "This field contains the velocity limit related information that Acquirer can use in making the authorization decision:
1 = 1 day count or amount exceeded
2 = 7 day count or amount exceeded
3 = 30 day count or amount exceeded
The field is populated with priority of 1, 2 and then 3.
This field is sent if recipient has opted for VisaNet to forward them the OCT when a velocity limit has been exceeded.
This field will be sent as NULL if it is not populated." }, "additionalTokenRespInfo": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field when present in the API request identifies if the transaction is eligible for token services. Valid token service values are: 1 (Token program).

This field will not be sent in the request if the transaction is ineligible for token services." }, "cardholderBillingAmount": { "maxLength": 12, "minLength": 1, "type": "string", "description": "This field contains the transaction amount converted to the currency used to bill the cardholder's account." }, "digitalWalletProviderId": { "maxLength": 11, "type": "string", "description": "Used to identify the digital wallet provider. " }, "transactionCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The 3-digit ISO-4217 code in this field reflects the currency associated to the transactionAmount field." }, "nationalReimbursementFee": { "type": "integer", "description": "Contains the member-calculated interchange reimbursement fee (IRF) for countries using this capability.

This numeric value must be expressed in the local currency specified by the currency code in field nationalReimbursementCurrency.

No decimal point appears in this field. The decimal place is assumed based on the currency." }, "pointOfServiceCapability": { "required": [ "pinEntryCapability", "posTerminalEntryCapability", "posTerminalType" ], "type": "object", "properties": { "posTerminalType": { "maxLength": 1, "type": "string", "description": "This 1-digit code identifies the basic POS electronic terminal category." }, "pinEntryCapability": { "maxLength": 1, "type": "string", "description": "A 1-digit code that identifies the capability of terminal to capture PINs. This code does not necessarily mean that a PIN was entered or is included in this message." }, "posTerminalEntryCapability": { "maxLength": 1, "type": "string", "description": "This 1-digit code identifies the capability of the terminal to electronically read account numbers (and expiration dates) from cards." } } }, "retrievalReferenceNumber": { "maxLength": 12, "minLength": 12, "type": "string", "description": "It is a key data element for matching a message to others within a given transaction set. The same number appears in all related messages: response, advice, reversal, chargeback, chargeback reversal, or representment. The format is recommended to be ydddhhnnnnnn" }, "cardholderBillingConvRate": { "maxLength": 11, "minLength": 1, "type": "string", "description": "This field contains the rate used by VisaNet to convert the transaction amount to cardholder billing amount." }, "cardholderBillingCurrency": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The 3-digit ISO-4217 code in this field reflects the currency associated to the cardholderBillingAmount field." }, "merchantVerificationValue": { "maxLength": 10, "type": "string", "description": "Contains the Merchant Verification Value (MVV) used to identify merchants that participate in a variety of programs. The MVV is unique to the merchant. Visa assigns the first six positions and assists the acquirer in assigning the last four. Acquirers and issuers must have successfully completed testing to receive this field. The MVV is not necessarily part of CPS." }, "nationalReimbursementCurrency": { "type": "integer", "description": "A code that identifies the currency of the amount in field transactionAmount.

The 3-digit country code must be a numeric ISO country code" }, "cpsAuthorizationCharacteristicsIndicator": { "maxLength": 1, "type": "string", "description": "A code used by the acquirer to request CPS qualification. If applicable, V.I.P. changes the code to reflect the results of its CPS evaluation." } } }, "PersonToMerchantResponse": { "maxLength": 3, "minLength": 3, "required": [ "responseCode" ], "type": "object", "properties": { "merchantID": { "maxLength": 15, "minLength": 15, "type": "string", "description": "Conditional. Recipient may replace this field with card acceptor ID code of the merchant as defined in recipient system. If replaced by recipient, all occurrences of card acceptor ID code in reports, files, transaction inquiries, etc. will contain the value provided by the recipient. This field is to be sent as NULL if it is not populated." }, "merchantCity": { "maxLength": 13, "type": "string", "description": "This is called Card Acceptor Location. Recipient may replace this field with the city name of Merchant. Visa settlement reports would contain the value provided by recipient.
If encounter errors or the merchant PAN is invalid/does not belong to the acquirer, the acquirer should send HTTP 200 with decline response code and echo back the same field content sent in the request.
Note:This field, if present, should be sent together with merchantName and merchantCountryCode. Otherwise none of them should be sent in the response." }, "merchantName": { "maxLength": 25, "type": "string", "description": "This is called Card Acceptor Name in the VisaNet Specifications. Recipient may replace this field with the ‘doing business as’ name of Merchant. Visa settlement reports would contain the value provided by recipient.
If encounter errors or the merchant PAN is invalid/does not belong to the acquirer, the acquirer should send HTTP 200 with decline response code and echo back the same field content sent in the request.
Note:This field, if present, should be sent together with merchantCity and merchantCountryCode. Otherwise none of them should be sent in the response." }, "responseCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Contains a code (also known as 'Action Code') that defines the response to a request. Refer to actionCode. " }, "authIdResponse": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Contains the authorization code provided by the recipient when a transaction is approved. Visa recommends that recipient maintains uniqueness of this code for a given merchant PAN, however Visa would not maintain any checks for uniqueness. This field is to be sent as NULL if it is not populated." }, "posConditionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "If the acquirers do not provide this value, a default of “01” (customer not present) will be assumed for interchange assessment.
Refer to POS Condition Code." }, "memberSuppliedIRF": { "maxLength": 12, "minLength": 12, "type": "string", "description": "Acquirer may provide the interchange fee amount for P2M transaction and its only relevant for LAC regional markets. This field is to be sent as NULL if it is not populated. List of Countries supported:
1. Costa Rica
2. Dominican Republican
3. Venezuela
4. Guatemala" }, "merchantTerminalID": { "maxLength": 8, "minLength": 8, "type": "string", "description": "Conditional. Recipient may replace this field with card acceptor terminal ID as defined in recipient system. If replaced by recipient, all occurrences of card acceptor terminal ID in reports, files, transaction inquiries, etc. will contain the value provided by the recipient. This field is to be sent as NULL if it is not populated." }, "feeProgramIndicator": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Optional field which may be populated by recipient where applicable. This field is to be sent as NULL if it is not populated." }, "merchantCountryCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Conditional. Recipient may replace this field with the 2-letter ISO 3166 country code of the merchant, if the country code of recipient is different than originator. Visa settlement reports would contain the value provided by recipient. This field is to be sent as NULL if it is not populated.
Note:This field, if present, should be sent together with merchantName and merchantCity. Otherwise none of them should be sent in the response." }, "merchantCategoryCode": { "maxLength": 4, "minLength": 4, "type": "string", "description": "Recipient should populate the Merchant Category Code (MCC) of the merchant in the response message. If replaced by recipient Visa settlement reports would contain the value provided by recipient. This field accepts only numeric data. If there is non numeric data provided in this field the default '0000' translation will be sent to VisaNet.
If encounter errors or the merchant PAN is invalid/does not belong to the acquirer, the acquirer should send HTTP 200 with decline response code and echo back the same field content sent in the request." }, "receiverTransactionId": { "maxLength": 16, "minLength": 16, "type": "string", "description": "Acquirer may provide a transaction ID that can be used for investigation if required. This field is to be sent as NULL if it is not populated" }, "reimbursementAttribute": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field contains a code that identifies the applicable interchange reimbursement fee for the transaction. Please contact your Regional Visa Client Support Services Representative to identify the value that you should be using." }, "merchantVerificationValue": { "maxLength": 10, "minLength": 10, "type": "string", "description": "Recipient are expected to populate the Merchant Verification Value used to identify merchants that participate in a variety of programs in this field. This field is to be sent as NULL if it is not populated." } }, "description": "Response body for Receive Person-to-Merchant API" }, "PullFundsTransactionPostResponse": { "required": [ "actionCode", "responseCode", "transactionIdentifier", "transmissionDateTime" ], "type": "object", "properties": { "networkId": { "type": "integer", "description": "This contains a code that identifies the network on which the transaction was processed.

Refer to Network ID

Note:
This field is returned only if it is anything other than networkId value 2.

Supported only in US for domestic transactions.", "x-variant": "| positive, Length: totaldigits 2" }, "tokenData": { "type": "object", "properties": { "minimumAccountRange": { "type": "integer", "description": "Visa forwards the cardholder PAN data to the acquirer in the original response message. Acquirers must not forward the first nine digits of the cardholder PAN or the full PAN to their merchants." } }, "description": "First nine digits of the cardholder primary account number (PAN) or the full cardholder PAN, in case where a token is used in the transaction." }, "actionCode": { "type": "string", "description": "The results of the transaction request

Refer to actionCode", "x-variant": "| Length: 2" }, "last4ofPAN": { "type": "integer", "description": "This field contains the last four digits of the cardholder primary account number (PAN), when a token (instead of a PAN) is used in the transaction." }, "approvalCode": { "type": "string", "description": "The authorization code from the issuer.", "x-variant": "| Length: 6" }, "responseCode": { "type": "string", "description": "The source for the response; typically, either the recipient issuer or a Visa system.

Refer to responseCode
Note: : The VisaNet Response Source for the transaction", "x-variant": "| Length: 1" }, "cavvResultCode": { "maxLength": 1, "minLength": 1, "type": "string", "description": "The cavvResultCode identifies the outcome of the CAVV validation.

Note: When using dual cryptograms (both TAVV and CAVV ), If TAVV is valid than cavvResultCode would convey the outcome of the CAVV validation.

Refer to cavvResultCode" }, "memberComments": { "maxLength": 254, "minLength": 1, "type": "string", "description": "This field can be optionally used to send and receive comments by service providers. Issuers can optionally include new text in this field in the response. If the issuer does not include this field, Visa will inject the value from the request in the response and send it back to the service provider." }, "settlementFlags": { "required": [ "settlementResponsibilityFlag" ], "type": "object", "properties": { "givUpdatedFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "settlementServiceFlag": { "type": "string", "description": "Possible values are:
0 - International Settlement
9 - VIP to decide
8 - National Settlement
", "x-variant": "| Length: 1, hexbinary format" }, "givPreviouslyUpdatedFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "settlementResponsibilityFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" } } }, "statusIdentifier": { "type": "string", "x-variant": "| required when call times out" }, "customerReference": { "type": "string", "description": "This is an alphanumeric value that carries the value that identifies the customer, the value may be a reference number or code or generic number.", "x-variant": "| Length:17" }, "originalActionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "The action code of the original transaction request
Refer to actionCode
Note: This field is only present, when the request is identified as a duplicate." }, "pointOfServiceData": { "type": "object", "properties": { "motoECIIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Conditional

Identifies the level of security used in an electronic commerce transaction over an open network (for example, the Internet) or the type of mail or telephone order.

Refer to Moto ECI Codes" } }, "description": "Contains a code identifying transaction conditions at the point-of-sale or point of service. For messages that follow an original request, this code identifies the type of processing being done." }, "feeProgramIndicator": { "type": "string", "x-variant": "| Length:3" }, "transmissionDateTime": { "type": "string", "description": "This field contains the local date and time when the transaction is submitted by a merchant, service provider or acquirer.
Note: The .SSS portion received in the PullFundsTransactions POST response will be ignored in the following ReverseFundsTransactions POST request or MultiReverseFundsTransactions POST request.
Format: yyyy-MM-ddTHH:mm:ss.SSS
Example: 2016-01-15T07:03:52.000Z", "format": "date-time", "x-variant": "| yyyy-MM-ddTHH:mm:ss.SSS" }, "transactionIdentifier": { "type": "integer", "description": "The VisaNet reference number for the transaction

Note:
transactionIdentifier is a Visa generated field that client recieves in the response message.
Note: As an exception Visa allows clients to use the transactionIdentifier received in the AFT response into the subsequent OCT message - this is to simplify matching the pull and push transaction pair and reconciliation.", "format": "int64", "x-variant": "| positive and required when call does not timeout, Length: 15" }, "reimbursementAttribute": { "type": "string", "description": "Conditional
If AFT transaction has qualified for CPS then this field contains a code that identifies the applicable interchange reimbursement fee. Possible values are : A (Payment Service Interchange Reimbursement Fee (PSIRF) U.S.).
Please reach out to your Visa representative for details.", "x-variant": "| Length:1" }, "additionalTokenRespInfo": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field when present in the API response identifies if the transaction is eligible for token services. Valid token service values are: 1 (Token program).

This field will not be sent in the response if the transaction is ineligible for token services." }, "vauRTAuthReplacementData": { "type": "object", "properties": { "vauFlag": { "type": "string", "description": "Possible values are : Y (replacement occurred). N (No replacements)", "x-variant": "| Length: 1" }, "vauAccntStatus": { "type": "string", "description": "Indicates C (closed account) or Q (contact cardholder)", "x-variant": "| Length: 1" }, "replacementCardID": { "type": "string", "description": "The replacement pan, if it exists", "x-variant": "| Length: 19" }, "vauErrorReasonCode": { "type": "string", "description": "Conditional. If present, describes the reason the VAU failed", "x-variant": "| Length: 6" }, "replaceDateExpiration": { "type": "string", "description": "Replacement pan expiration date, if it exists. This is returned even if the expiration date was not passed in the request.", "x-variant": "| YYYY-MM" } } }, "merchantVerificationValue": { "type": "string", "description": "The concatenated Merchant Verification Value of Visa assigned and Acquirer assigned value is returned.", "x-variant": "| Length: 10, hexbinary format" }, "recipientIdentificationNumberIndividual": { "type": "string", "description": "This is an alphanumeric value that contains the customer’s VAT registration number for the individual tax identification.
This field is to be populated if the recipient is an Individual (e.g. P2P payments)", "x-variant": "| maxLength: 13" }, "cpsAuthorizationCharacteristicsIndicator": { "type": "string", "description": "Conditional
Indicates whether AFT transaction has qualified for CPS. Possible values are : F (Meets CPS/Account Funding requirements) , N (Not Qualified), T (Not Qualified).

Note: Supported only in US for CPS (Custom Payment Service).
Please reach out to your Visa representative for details.", "x-variant": "| Length:1" } } }, "MerchantPushPaymentPayload-1": { "required": [ "acquirerCountryCode", "acquiringBin", "amount", "businessApplicationId", "cardAcceptor", "localTransactionDateTime", "merchantCategoryCode", "recipientPrimaryAccountNumber", "retrievalReferenceNumber", "senderAccountNumber", "senderName", "systemsTraceAuditNumber", "transactionCurrencyCode" ], "type": "object", "properties": { "amount": { "maxLength": 12, "type": "string", "description": "Transaction amount in merchant currency." }, "senderName": { "maxLength": 30, "minLength": 1, "type": "string", "description": "Populate with consumer name If consumer name is greater than 30 characters, use first 30 characters. The name must be populated using the Roman i.e., English character set." }, "secondaryId": { "maxLength": 28, "type": "string", "description": "Conditional. If the merchant information display contains Additional Data - Value 2 then originator should populate this fields. See the example of the field purchaseIdentifier on how to extract this field value from QR." }, "acquiringBin": { "maxLength": 11, "minLength": 6, "type": "string", "description": "BIN number identifies the originator of merchant payment transaction." }, "cardAcceptor": { "$ref": "#/components/schemas/CardAcceptor-1" }, "senderReference": { "maxLength": 16, "type": "string", "description": "A reference number unique to the merchant. Field can be left blank." }, "otherPhoneNumber": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Conditional. When present, this field contains the sender's phone number. This field is applicable only for merchant payment transaction. Originator should populate the consumer mobile number if captured on the mobile app for this transaction. Data should not exceed 16 alphanumeric characters." }, "otherEmailAddress": { "maxLength": 99, "minLength": 1, "type": "string", "description": "Conditional. When present, this field contains the sender's email address. This field is applicable only for merchant payment transaction. Originator should populate the consumer email address if captured on the mobile app for this transaction. Data should not exceed 99 alphanumeric characters." }, "transactionFeeAmt": { "maxLength": 8, "type": "string", "description": "Conditional. In certain case the merchant display information could contain convenience fee applicable to the transaction. Originators are required to populate convenience fee amount in this field, if presented by merchant." }, "purchaseIdentifier": { "$ref": "#/components/schemas/PurchaseIdentifier" }, "acquirerCountryCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Country of the originator BIN. Use a 3-digit numeric country code for the country. Refer to [ISO Codes](/request_response_codes#iso_country_codes)." }, "senderAccountNumber": { "maxLength": 34, "type": "string", "description": "Populate with consumer PAN. If the consumer PAN is not populated or is not valid, VisaNet will reject the transaction with reject code 0494 (field or data missing or invalid)" }, "merchantCategoryCode": { "maxLength": 4, "minLength": 4, "type": "string", "description": "Numeric only. Originator should populate value captured from merchant displayed or a default value of 6012 for transaction initiated with manual entry of merchant ID." }, "businessApplicationId": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Use MP for merchant payment. This field is populated with business application identifier for the transaction. Refer to [businessApplicationId](/request_response_codes#businessApplicationId) codes" }, "systemsTraceAuditNumber": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Numeric only. It is a key data element used to match a response to its request or to match a message to others for a given transaction. The value assigned to the original request should appear in all subsequent messages for that transaction." }, "transactionCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The code in this field must always reflect the currency associated to the amount in field amount. Use a 3-digit numeric currency code for currency. Refer to [ISO Codes](/request_response_codes#currency_codes)." }, "localTransactionDateTime": { "type": "string", "description": "The date and time of the transaction takes place, expressed in the local date and time of the originator.", "format": "date-time" }, "retrievalReferenceNumber": { "maxLength": 12, "minLength": 12, "type": "string", "description": "Numeric only. Key data element for matching a message to others within a given transaction set. The same number appears in all related messages: response, advice, reversal, chargeback, chargeback reversal, or representment. It is recommended that the client populate ydddhhnnnnnn value in this field." }, "settlementServiceIndicator": { "type": "integer", "description": "This flag enables the originator to request for a particular settlement service to be used for settling the transaction.

Valid values are:
0 - International Settlement
9 - VIP to decide
8 - National Settlement

Note: The default value is 9. This field is only relevant for specific countries where the acquirer has to select 8 in order to settle in the national net settlement service. ", "x-variant": "positive | Length: totalDigits 1" }, "recipientPrimaryAccountNumber": { "maxLength": 19, "minLength": 13, "type": "string", "description": "Merchant PAN. 16-digit PAN created from the merchant ID as captured by the consumer from the merchant information display." } } }, "MerchandiseReturnTransactionPayload": { "required": [ "acquirerCountryCode", "acquiringBin", "amount", "cardAcceptor", "localTransactionDateTime", "merchantCategoryCode", "recipientPrimaryAccountNumber", "retrievalReferenceNumber", "systemsTraceAuditNumber", "transactionCurrencyCode" ], "type": "object", "properties": { "amount": { "maxLength": 12, "type": "string", "description": "Refunded amount in original transaction currency." }, "acquiringBin": { "maxLength": 11, "minLength": 6, "type": "string", "description": "This BIN number identifies the originator of refund transaction. This must match the information provided during enrollment." }, "cardAcceptor": { "$ref": "#/components/schemas/CardAcceptormr" }, "cardExpiryDate": { "type": "string", "description": "The expiration date for the Consumer PAN in recipientPrimaryAccountNumber ", "x-variant": "| YYYY-MM" }, "memberSuppliedIRF": { "maxLength": 12, "type": "string", "description": "This field is only relevant for LAC regional markets where the acquirer to send interchange fee when refunding the amount back to the cardholder. List of Countries supported:
1. Costa Rica
2. Dominican Republican
3. Venezuela
4. Guatemala" }, "transactionFeeAmt": { "maxLength": 12, "type": "string", "description": "Prefix ‘C’ Originators are required to populate convenience fee amount in this field to be returned, if presented in the original message" }, "acquirerCountryCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Use a 3-digit numeric country code for the country. This must match the information provided during program enrollment." }, "feeProgramIndicator": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Originators can leave this field blank." }, "merchantCategoryCode": { "maxLength": 4, "minLength": 4, "type": "string", "description": "This is to be populated with the MCC of the merchant initiating the refund." }, "transactionIdentifier": { "maxLength": 15, "minLength": 15, "type": "string", "description": "Conditional. If originator submits merchant payment transaction using MerchantPushPayments API, they should submit the same value of transactionIdentifier in API request. Otherwise, do not use this field in the API request." }, "reimbursementAttribute": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field contains a code that identifies the applicable interchange reimbursement fee for the transaction. Please contact your Regional Visa Client Support Services Representative to identify the value that you should be using." }, "systemsTraceAuditNumber": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Numeric only. This must be the same value as in the original request." }, "transactionCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The code in this field must always reflect the currency associated to the amount" }, "localTransactionDateTime": { "type": "string", "description": "This should be +/- 3 days from the current date.The date is in yyyy-mm-ddThh:mm:ss format.", "format": "date-time" }, "retrievalReferenceNumber": { "maxLength": 12, "minLength": 12, "type": "string", "description": "Numeric only. This is a key data element for matching a message to others within a given transaction set.Recommended Format : ydddhhnnnnnnThe first fours digits must be a valid yddd date in the Julian date format, where the first digit = 0-9 (last digit of current year) and the next three digits = 001-366 (number of the day in the year). hh can be the two digit hour in a 24 hour clock (00-23) during which the transaction is performed.

nnnnnn can be the SystemsTraceAuditNumber or any 6 digit number." }, "merchantVerificationValue": { "$ref": "#/components/schemas/MerchantVerificationValue" }, "settlementServiceIndicator": { "type": "integer", "description": "This flag enables the originator to request for a particular settlement service to be used for settling the transaction.

Valid values are:
0 - International Settlement
9 - VIP to decide
8 - National Settlement

Note: The default value is 9. This field is only relevant for specific countries where the acquirer has to select 8 in order to settle in the national net settlement service. ", "x-variant": "positive | Length: totalDigits 1" }, "recipientPrimaryAccountNumber": { "maxLength": 19, "minLength": 13, "type": "string", "description": "Populate with Consumer PAN. This is the same PAN the consumer used in merchant payment." } } }, "GetAliasRequest-1": { "required": [ "guid" ], "type": "object", "properties": { "guid": { "type": "string", "description": "This attribute represents the unique id for a payment instrument belonging to a consumer cardholder." } }, "description": "Request object for get alias request." }, "MerchantVerificationValue": { "required": [ "mvvAcquirerAssigned", "mvvVisaAssigned" ], "type": "object", "properties": { "mvvVisaAssigned": { "maxLength": 6, "type": "string", "description": "Visa assigned MVV value. E.g. 0A45AF" }, "mvvAcquirerAssigned": { "maxLength": 4, "type": "string", "description": "Visa assists the acquirer in assigning the last four. E.g. 98FC" } }, "description": "Merchant Verification Value(MVV) is used to identify merchants that participate in a variety of programs. The MVV is unique to the merchant." }, "AliasInquiryDetails": { "type": "array", "items": { "$ref": "#/components/schemas/InquiryDetails" } }, "MerchantPushPaymentPayload": { "required": [ "acquirerCountryCode", "acquiringBin", "amount", "businessApplicationId", "cardAcceptor", "localTransactionDateTime", "merchantCategoryCode", "recipientPrimaryAccountNumber", "retrievalReferenceNumber", "senderAccountNumber", "senderName", "systemsTraceAuditNumber", "transactionCurrencyCode" ], "type": "object", "properties": { "amount": { "maxLength": 12, "type": "string", "description": "Transaction amount in merchant currency." }, "senderName": { "maxLength": 30, "minLength": 1, "type": "string", "description": "Populate with consumer name If consumer name is greater than 30 characters, use first 30 characters. The name must be populated using the Roman i.e., English character set." }, "secondaryId": { "maxLength": 28, "type": "string", "description": "Conditional. If the merchant information display contains Additional Data - Value 2 then originator should populate this fields. See the example of the field purchaseIdentifier on how to extract this field value from QR." }, "acquiringBin": { "maxLength": 11, "minLength": 6, "type": "string", "description": "BIN number identifies the originator of merchant payment transaction." }, "cardAcceptor": { "$ref": "#/components/schemas/CardAcceptor" }, "senderReference": { "maxLength": 16, "type": "string", "description": "A reference number unique to the merchant. Field can be left blank." }, "otherPhoneNumber": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Conditional. When present, this field contains the sender's phone number. This field is applicable only for merchant payment transaction. Originator should populate the consumer mobile number if captured on the mobile app for this transaction. Data should not exceed 16 alphanumeric characters." }, "otherEmailAddress": { "maxLength": 99, "minLength": 1, "type": "string", "description": "Conditional. When present, this field contains the sender's email address. This field is applicable only for merchant payment transaction. Originator should populate the consumer email address if captured on the mobile app for this transaction. Data should not exceed 99 alphanumeric characters." }, "transactionFeeAmt": { "maxLength": 8, "type": "string", "description": "Conditional. In certain case the merchant display information could contain convenience fee applicable to the transaction. Originators are required to populate convenience fee amount in this field, if presented by merchant." }, "purchaseIdentifier": { "$ref": "#/components/schemas/PurchaseIdentifier" }, "acquirerCountryCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Country of the originator BIN. Use a 3-digit numeric country code for the country. Refer to [ISO Codes](/request_response_codes#iso_country_codes)." }, "senderAccountNumber": { "maxLength": 34, "type": "string", "description": "Populate with consumer PAN. If the consumer PAN is not populated or is not valid, VisaNet will reject the transaction with reject code 0494 (field or data missing or invalid)" }, "merchantCategoryCode": { "maxLength": 4, "minLength": 4, "type": "string", "description": "Numeric only. Originator should populate value captured from merchant displayed or a default value of 6012 for transaction initiated with manual entry of merchant ID." }, "businessApplicationId": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Use MP for merchant payment. This field is populated with business application identifier for the transaction. Refer to [businessApplicationId](/request_response_codes#businessApplicationId) codes" }, "systemsTraceAuditNumber": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Numeric only. It is a key data element used to match a response to its request or to match a message to others for a given transaction. The value assigned to the original request should appear in all subsequent messages for that transaction." }, "transactionCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The code in this field must always reflect the currency associated to the amount in field amount. Use a 3-digit numeric currency code for currency. Refer to [ISO Codes](/request_response_codes#currency_codes)." }, "localTransactionDateTime": { "type": "string", "description": "The date and time of the transaction takes place, expressed in the local date and time of the originator.", "format": "date-time" }, "retrievalReferenceNumber": { "maxLength": 12, "minLength": 12, "type": "string", "description": "Numeric only. Key data element for matching a message to others within a given transaction set. The same number appears in all related messages: response, advice, reversal, chargeback, chargeback reversal, or representment. It is recommended that the client populate ydddhhnnnnnn value in this field." }, "settlementServiceIndicator": { "type": "integer", "description": "This flag enables the originator to request for a particular settlement service to be used for settling the transaction.

Valid values are:
0 - International Settlement
9 - VIP to decide
8 - National Settlement

Note: The default value is 9. This field is only relevant for specific countries where the acquirer has to select 8 in order to settle in the national net settlement service. ", "x-variant": "positive | Length: totalDigits 1" }, "recipientPrimaryAccountNumber": { "maxLength": 19, "minLength": 13, "type": "string", "description": "Merchant PAN. 16-digit PAN created from the merchant ID as captured by the consumer from the merchant information display." } } }, "CashInAdviceRequest": { "maxLength": 1, "minLength": 1, "required": [ "agentCity", "decimalPositionIndicator", "encAgentName", "encConsumerPAN", "localTransactionDate", "localTransactionTime", "messageType", "originatorBIN", "originatorCountryCode", "retrievalReferenceNumber", "systemTraceAuditNumber", "transactionAmount", "transactionCurrencyCode", "transmissionDateTime", "visaTransactionId" ], "type": "object", "properties": { "agentCity": { "maxLength": 13, "type": "string", "description": "Agent city name." }, "messageType": { "type": "string", "description": "Possible values based on Message Type Identifier are:
  • 0200 : 'Recipient Timeout'
  • 0220 : 'Advice' (STIP decline advice)
  • 0210 : 'Reject' (VIP reject)
" }, "encAgentName": { "maxLength": 500, "type": "string", "description": "Contains Agent’s Doing Business as name (25 characters only). If the name is greater than 25 characters then the first 25 characters are populated. The field is sent in encrypted format using the AES GCM (i.e. Advanced Encryption Standard (AES) in Galois/Counter Mode (GCM)) algorithm for JSON Web Encryption (JWE) objects with 256-bit key (i.e. the shared secret between Visa and client for encryption and decryption of payload data)." }, "responseCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Contains a code (also known as 'Action Code') that defines the response to a request. Refer to actionCode. This field is to be sent as NULL when messageType is 0200 - Recipient Timeout." }, "originatorBIN": { "maxLength": 6, "minLength": 6, "type": "string", "description": "This BIN number identifies the originator of Cash-In payment transaction." }, "rejectionCode": { "maxLength": 4, "minLength": 4, "type": "string", "description": "Only populated if Advice message type is ‘Reject’. This field contains the VisaNet rejection code." }, "authIdResponse": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Contains the authorization code provided by the recipient when a transaction is approved. Visa recommends that recipient maintains uniqueness of this code for a given merchant PAN, however Visa would not maintain any checks for uniqueness. This field is to be sent as NULL if it is not populated." }, "encConsumerPAN": { "maxLength": 500, "type": "string", "description": "Consumer PAN. This is a 16-digit PAN. The field is sent in encrypted format using the AES GCM (i.e. Advanced Encryption Standard (AES) in Galois/Counter Mode (GCM)) algorithm for JSON Web Encryption (JWE) objects with 256-bit key (i.e. the shared secret between Visa and client for encryption and decryption of payload data). The field data type will be string(16-19) after decryption." }, "otherPhoneNumber": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Conditional. When present, this field contains the sender's phone number. This field is applicable only for merchant payment transaction. Originator should populate the consumer mobile number if captured on the mobile app for this transaction. Data should not exceed 16 alphanumeric characters." }, "otherEmailAddress": { "maxLength": 99, "minLength": 1, "type": "string", "description": "Conditional. When present, this field contains the sender's email address. This field is applicable only for merchant payment transaction. Originator should populate the consumer email address if captured on the mobile app for this transaction. Data should not exceed 99 alphanumeric characters." }, "transactionAmount": { "maxLength": 12, "type": "string", "description": "Transaction amount in local currency. mVisa program rules do not permit cross border cash deposit transactions." }, "visaTransactionId": { "maxLength": 15, "minLength": 15, "type": "string", "description": "Numeric. It contains a right-justified, VisaNet generated Transaction Identifier (TID) that is unique for each request. The identifier links original messages to subsequent messages, such as those for exception item processing and clearing record." }, "localTransactionDate": { "maxLength": 4, "minLength": 4, "type": "string", "description": "It contains the local month and day on which the transaction was originated. The date is in mmdd format." }, "localTransactionTime": { "maxLength": 6, "minLength": 6, "type": "string", "description": "The time the transaction takes place, expressed in the local time of the originator. The time is in hhmmss format." }, "transmissionDateTime": { "maxLength": 10, "minLength": 10, "type": "string", "description": "The date and time the request was submitted to Visa. Format: MMDDhhmmss." }, "originatorCountryCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "A 3-digit ISO-4217 code that identifies the country of the originating BIN.
Refer to ISO codes." }, "systemTraceAuditNumber": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Numeric. It is a key data element used to match a response to its request or to match a message to others for a given transaction." }, "velocityLimitIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Conditional. This field contains the velocity limit related information that Acquirer can use in making the authorization decision:
  • 1 = 1-day count or amount exceeded.
  • 2 = 7-day count or amount exceeded.
  • 3 = 30-day count or amount exceeded.
The field is populated with priority of 1, 2 and then 3.
This field is sent if recipient has opted for VisaNet to forward them the OCT when a velocity limit has been exceeded.
This field will be sent as NULL if it is not populated." }, "transactionCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The 3-digit ISO-4217 code in this field reflects the currency associated to the transactionAmount field." }, "decimalPositionIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Indicates the number of decimal positions following the amount field. This field is to be sent as NULL if it is not populated." }, "retrievalReferenceNumber": { "maxLength": 12, "minLength": 12, "type": "string", "description": "Numeric. It is a key data element for matching a message to others within a given transaction set. The same number appears in all related messages: response, advice, reversal, chargeback, chargeback reversal, or representment. The format is recommended to be ydddhhnnnnnn." } }, "description": "Request body for Receive Cash-In Advice API" }, "CashInCardAcceptor": { "required": [ "idCode", "name" ], "type": "object", "properties": { "name": { "maxLength": 25, "minLength": 1, "type": "string", "description": "Populate the field with Merchant's Doing Business As name (25 characters only). If the name is greater than 25 characters, use the first 25 characters. The name must be populated using the Roman i.e. English character set." }, "idCode": { "maxLength": 15, "minLength": 1, "type": "string", "description": "Originator can populate the field with any system generated reference number internal to originating client." }, "address": { "$ref": "#/components/schemas/CashInCardAcceptorAddress" } } }, "PullFundsTransactionPostPayload": { "required": [ "acquirerCountryCode", "acquiringBin", "amount", "businessApplicationId", "cardAcceptor", "localTransactionDateTime", "merchantCategoryCode", "pointOfServiceData", "retrievalReferenceNumber", "senderCardExpiryDate", "senderCurrencyCode", "senderPrimaryAccountNumber", "systemsTraceAuditNumber" ], "type": "object", "properties": { "cavv": { "maxLength": 40, "minLength": 40, "type": "string", "description": "The Cardholder Authentication Verification Value (CAVV) is a value generated by an Access Control Server (ACS) and signed by the Issuer using account and password information of cardholders registered for the Verified by Visa (also known as Visa Secure) program. This field should be in hexabinary format." }, "tavv": { "maxLength": 40, "minLength": 40, "type": "string", "description": "The Token Authentication Verification Value (TAVV) is a value generated using tokenized PAN by Visa Token Service (VTS) and signed by the Issuer. This field should be in hexabinary format.

Note: A token should be send (instead of a PAN) in senderPrimaryAccountNumber field while sending a TAVV cryptogram." }, "amount": { "type": "number", "description": "The amount of the transaction, inclusive of all fees you assess for the transaction, including currency conversion fees. If the originator is populating the surcharge or foreignExchangeFeeTransaction field, they must be included in the amount field.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "pinData": { "type": "object", "properties": { "pinDataBlock": { "type": "string", "description": "For a CardPresent with PIN Data scenario, this field is required.", "x-variant": "| Length: 16, hexbinary format" }, "securityRelatedControlInfo": { "type": "object", "properties": { "zoneKeyIndex": { "type": "integer", "description": "Note: For a CardPresent with PIN Data scenario, this field is required.", "x-variant": "|positive Length: totalDigits 2" }, "pinBlockFormatCode": { "type": "integer", "description": "Note: For a CardPresent with PIN Data scenario, this field is required.", "x-variant": "|positive Length: totalDigits 2" } } } } }, "vauFlag": { "type": "string", "description": "If present, a valid value is required. Spaces or special characters are not allowed. Possible values are : Y (will cause VAU to be performed)", "x-variant": "| Length:1" }, "surcharge": { "type": "string", "description": "When present, this field contains the sender's surcharge as assessed by the originator. Values in this field must be in the same currency and format as defined in the amount field.", "format": "double", "x-variant": "| Length: totalDigits12, fractionDigits 3 (minimum value is 0)" }, "senderCity": { "maxLength": 25, "minLength": 1, "type": "string", "description": "When present, this field contains sender's city" }, "senderName": { "maxLength": 30, "minLength": 2, "type": "string", "description": "Conditional.

If the transaction is a money transfer and cross-border or U.S. domestic, this field must contain the sender's name.

If the transaction is a funds disbursement and cross-border or U.S. domestic, this field must contain either the name of the merchant or government entity sending the funds disbursement.

If the transaction is a pre-paid load or credit card bill pay and U.S. domestic, this field must contain the sender's name.

Recommended Format: Last Name/Family Surname 1 + Space + Last Name/Family Surname 2 (optional) + Space + First Name/Given Name + Space + Middle Initial or Middle name (optional) + space

Example: Doe John A" }, "accountType": { "type": "string", "description": "This is used to identify the account type of the senderPrimaryAccountNumber in the request. Below are the possible values.

00-Not applicable
10-Saving account
20-Checking account
30-Credit card account
40-Universal account

Default is set to \"00\" if not provided.", "x-variant": "| Length: 2" }, "acquiringBin": { "type": "integer", "description": "The Bank Identification Number (BIN) under which your Visa Direct is registered. This must match the information provided during enrollment.", "x-variant": "| positive, Length: 6 - 11" }, "cardAcceptor": { "required": [ "address", "idCode", "name", "terminalId" ], "type": "object", "properties": { "name": { "maxLength": 25, "minLength": 1, "type": "string", "description": "name of the originator/money transfer operator.", "x-variant": "| Length: 1 - 25" }, "idCode": { "maxLength": 15, "minLength": 1, "type": "string", "description": "An identifier for the card acceptor (Visa Direct Originator). This value should be unique for each originator for whom you are sending transactions.", "x-variant": "| Length: 1 - 15" }, "address": { "required": [ "country" ], "type": "object", "properties": { "state": { "maxLength": 50, "type": "string", "description": "Conditional

Note:State or province of the money transfer operator/Originator.

Required if cardAcceptor:address:country is \"US\" or \"CA\".", "x-variant": "| Length: 2" }, "county": { "maxLength": 50, "type": "string", "description": "Conditional

Note:It contains 3-digit numeric FIPS county code of the money transfer operator/Originator.

Required if cardAcceptor:address:country is \"US\".", "x-variant": "| Length: 3" }, "country": { "maxLength": 3, "minLength": 1, "type": "string", "description": "This field must contain the 3-character alpha country code for the country of the originator or money transfer operator.

Refer to ISO Codes", "x-variant": "| Length: 3" }, "zipCode": { "maxLength": 14, "type": "string", "description": "Conditional

Note:Zip/Postal code of the money transfer operator/Originator.

Required if cardAcceptor:address:country is \"US\" or \"CA\".", "x-variant": "| Length: 5 - 9" } } }, "terminalId": { "maxLength": 8, "minLength": 1, "type": "string", "description": "The identifier for the terminal at a card acceptor location. If sending transactions from a card not present environment, use the same value for all transactions.", "x-variant": "| Length: 1 - 8" }, "legalBusinessName": { "maxLength": 25, "minLength": 1, "type": "string", "description": "Acceptor’s legal business name associated with the card acceptor identification code for AFT transactions." }, "paymentFacilitator": { "type": "object", "properties": { "id": { "maxLength": 11, "minLength": 1, "type": "string", "description": "Marketplace ID or Payment Facilitator's ID. This field is conditionally required when a payment facilitator is involved." }, "name": { "maxLength": 25, "minLength": 1, "type": "string", "description": "Payment facilitator name in AFTs. This field is conditionally required when a payment facilitator is involved." }, "subMerchantId": { "maxLength": 15, "minLength": 1, "type": "string", "description": "Sub-Merchant ID containing the sponsored merchant ID. This field is conditionally required when a payment facilitator is involved." } } } } }, "cardCvv2Value": { "type": "string", "description": "The cardCvv2Value value provided by the account holder for the senderPrimaryAccountNumber in the request.", "x-variant": " | Length:3-4" }, "recipientCity": { "maxLength": 25, "type": "string", "description": "Conditional

This field contains the city name of the recipient address.
Note:
It is required for cross-border transactions that are originating from or destined to Canada." }, "recipientName": { "maxLength": 30, "minLength": 1, "type": "string", "description": "Conditional.

Recipient name is required for cross-border enhanced money transfer AFTs." }, "senderAddress": { "maxLength": 35, "minLength": 1, "type": "string", "description": "When present, this field contains sender's Address" }, "memberComments": { "maxLength": 254, "minLength": 1, "type": "string", "description": "This field can be optionally used to send and receive comments by service providers. Issuers can optionally include new text in this field in the response. If the issuer does not include this field, Visa will inject the value from the request in the response and send it back to the service provider." }, "recipientState": { "maxLength": 3, "type": "string", "description": "Required if RecipientCountryCode is either 124(CAN) or 840(USA)" }, "senderLastName": { "maxLength": 35, "type": "string", "description": "This field contains sender's last name" }, "senderFirstName": { "maxLength": 35, "type": "string", "description": "This field contains sender's first name" }, "senderReference": { "maxLength": 16, "type": "string", "description": "If the transaction is a money transfer, pre-paid load, or credit card bill pay, and if the sender intends to fund the transaction with a non-financial instrument (for example, cash), a reference number unique to the sender is required.

If the transaction is a funds disbursement, the field is required.

This field is required if senderAccountNumber is not sent.", "x-variant": "| only alphabets (a-z, A-Z) and/or numbers (0-9) allowed" }, "senderStateCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "When present, this field contains sender's state code" }, "purposeOfPayment": { "maxLength": 12, "minLength": 1, "type": "string", "description": "Conditional.

This is an alphanumeric value.
Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market." }, "senderMiddleName": { "maxLength": 35, "minLength": 1, "type": "string", "description": "This field contains sender's middle name" }, "senderPostalCode": { "type": "string", "description": "When present, this field contains the sender's postal code" }, "sharingGroupCode": { "type": "string", "description": "This field is optionally used by Push Payments Gateway participants (merchants and acquirers) to specify the network access priority.

Refer to Sharing Group Code

Note:
Supported only in US for domestic transactions involving Push Payments Gateway Service.", "x-variant": "| Length: 30" }, "merchantReference": { "maxLength": 35, "type": "string", "description": "This is an alphanumeric value that carries the merchant’s unique identification number issued by the government or an authorized national entity. This field to be populated for Argentina domestic transaction when businessApplicationId has PS.", "x-variant": "| only alphabets (a-z, A-Z) and/or numbers (0-9) allowed" }, "messageReasonCode": { "type": "integer", "description": "Conditional.

This field is required to identify whether a transaction is merchant-initiated.
Note: Message reason code and POS Environment fields are mutually exclusive.

Refer to Meassage Reason Codes", "x-variant": "| maxLength: 4" }, "recipientLastName": { "maxLength": 35, "type": "string", "description": "When present, this field contains recipient's last name" }, "senderCountryCode": { "maxLength": 3, "minLength": 2, "type": "string", "description": "when present, this field contains sender's country code

Refer to ISO Codes" }, "sourceOfFundsCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "when present, this field contain a valid sourceOfFundsCode code that matches the funding instrument.

Refer to sourceOfFundsCode codes" }, "magneticStripeData": { "type": "object", "properties": { "track1Data": { "type": "string", "description": "Conditional (see Note)

Note: For a cardPresent scenario, magneticStripeData.track1Data (or magneticStripeData.track2Data) must be included.

Note: These fields are only available in OCT transactions in specific geographies. Please reach out to your Visa representative for details", "x-variant": "| Length: maximum 76" }, "track2Data": { "type": "string", "description": "Note: For a CardPresent scenario, MagneticStripeData.track1Data (or MagneticStripeData.track2Data) must be included.", "x-variant": "| hex binary value is sent as String, Length: maximum 19" } } }, "pointOfServiceData": { "required": [ "motoECIIndicator", "panEntryMode", "posConditionCode" ], "type": "object", "properties": { "panEntryMode": { "type": "integer", "description": "A 2-digit code that identifies the method used to enter the cardholder account number and card expiration date. This code specifies whether the entire magnetic stripe is included in an authorization or financial request.

Refer to PAN Entry Mode Codes", "x-variant": "| positive, Length: totaldigits 2" }, "posEnvironment": { "maxLength": 1, "type": "string", "description": "Conditional

This field is required to identify whether a transaction is merchant-initiated.

Refer to POS Environment Codes", "x-variant": "| Length: 1" }, "motoECIIndicator": { "maxLength": 1, "type": "string", "description": "Identifies the level of security used in an electronic commerce transaction over an open network (for example, the Internet) or the type of mail or telephone order. Acquirers supply indicator values, which V.I.P. forwards in requests and advices to issuers that have successfully tested to receive them. The subfield is dropped if issuers have not successfully completed testing or choose not to receive it.

Refer to Moto ECI Codes", "x-variant": "| Length: 1" }, "posConditionCode": { "type": "integer", "description": "Contains a code identifying transaction conditions at the point of sale or point of service. For messages that follow an original request, this code identifies the type of processing being done.

Refer to POS Condition Codes", "x-variant": "| positive,Length: totalDigits 2" }, "specialConditionIndicatorMerchant": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Cryptocurrency indicator with the value of “7” can be used to identify the purchase of cryptocurrency, thereby providing greater visibility to the issuers." } }, "description": "Contains a code identifying transaction conditions at the point-of-sale or point of service. For messages that follow an original request, this code identifies the type of processing being done.
Note: For a CardPresent Transactions, this field is required." }, "recipientFirstName": { "maxLength": 35, "type": "string", "description": "When present, this field contains recipient's first name" }, "riskAssessmentData": { "type": "object", "properties": { "scpExemptionIndicator": { "type": "string", "description": "SCP Indicator. Acceptable values are true/false" }, "traExemptionIndicator": { "type": "string", "description": "TRA Exemption Indicator. Acceptable values are true/false" }, "lowValueExemptionIndicator": { "type": "string", "description": "Low Value Exemption Indicator. Acceptable values are true/false" }, "delegatedAuthenticationIndicator": { "type": "string", "description": "Delegated Authentication Indicator. Acceptable values are true/false" }, "trustedMerchantExemptionIndicator": { "type": "string", "description": "Trusted Merchant Exemption Indicator. Acceptable values are true/false" } } }, "senderCurrencyCode": { "type": "string", "description": "Use a 3-character alpha or numeric currency code for currency of the sender.

Refer to ISO Codes", "x-variant": "| Length: 3" }, "acquirerCountryCode": { "type": "integer", "description": "Use a 3-digit numeric country code for the country of the BIN under which your Visa Direct solution is registered. This must match the information provided during program enrollment.

Refer to ISO Codes", "x-variant": "| Length: 3" }, "feeProgramIndicator": { "type": "string", "description": "If present, a valid value is required. Spaces or special characters are not allowed.", "x-variant": "| Length:3" }, "recipientMiddleName": { "maxLength": 35, "minLength": 1, "type": "string", "description": "This field contains recipient's middle name" }, "recipientPostalCode": { "maxLength": 16, "type": "string", "description": "Conditional

This field contains the postal code of the recipient address.
Note:
It is required for cross-border transactions that are originating from or destined to Canada." }, "recipientStreetName": { "maxLength": 99, "type": "string", "description": "Optional.

This field contains the street name of the recipient address." }, "senderAccountNumber": { "maxLength": 34, "type": "string", "description": "When present, this field contains the sender's account number. This field is mandatory in XB AFTs it will contain the destination account number being funded with the AFT (e.g. IBAN number for loading a bank account, proprietary wallet number for loading a wallet, prepaid PAN number for loading a card, money transfer operator proprietary account number with acquirer for funding a money transfer)." }, "senderMiddleInitial": { "maxLength": 1, "type": "string", "description": "This field contains sender's middle initial" }, "merchantCategoryCode": { "type": "integer", "description": "Note:
If provided, then the value overrides the one present in onboarding data. If the merchantCategoryCode value is not populated in onboarding data then this field is mandatory.

If not provided, then the value will default to the values provided during onboarding (when the services are provisioned).", "x-variant": "| Length: total 4 digits" }, "recipientCountryCode": { "maxLength": 3, "minLength": 2, "type": "string", "description": "when present, this field contains recipient's country code

Refer to ISO Codes" }, "senderAdditionalData": { "type": "object", "properties": { "identificationList": { "type": "array", "description": "Identification list of sender. We have a current limitation that sender ID and recipient ID information are mutually exclusive. If both sender ID and recipient ID are sent in the same request, only sender ID related information will be sent to the issuer. \nAdditionally, only 1 instance of ID per sender or recipient is currently supported. If more than one instance is provided, only the first instance will be forwarded to the issuer.", "items": { "type": "object", "properties": { "idType": { "maxLength": 4, "minLength": 1, "type": "string", "description": "This field will contain the type of sender identification. The valid values are: \n BTHD - Date of birth \n CUID - Customer identification - unspecified \n NTID - National identification\n PASN - Passport number\n DRLN - Driver license\n TXIN - Tax identification \n CPNY - Company registration number\n PRXY - Proxy identification \n SSNB - Social security number \n ARNB - Alien registration number \n LAWE - Law enforcement identification \n MILI - Military identification \n TRVL - Travel identification - non-passport \n EMAL - Email\n PHON - Phone number \nFor a given instance of identificationList[], a minimum of idType and idNumber fields should be provided, else the ID information will not be forwarded to the issuer.", "x-variant": "| enumeration" }, "idNumber": { "maxLength": 35, "minLength": 1, "type": "string", "description": "This field will contain an acquirer-populated value associated with the Identification Type in field idType \nWhen idType contains the value of BTHD (Date of birth), this tag must contain a date of birth in ccyymmdd format where: cc = century, yy = year,  mm = month, dd = day \nFor a given instance of identificationList[] , a minimum of idType and idNumber fields should be provided, else the ID information will dropped and not be forwarded to the issuer." }, "idOwnerType": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field denotes whether the Tax ID is a business or individual's Tax ID when idType contains the value of TXIN (Tax identification).\nThe valid values are : \nB (Business) \nI (Individual)" }, "idIssueCountry": { "maxLength": 3, "minLength": 3, "type": "string", "description": "This tag will contain the 3-alpha or 3-digit ISO country code of the ID issuing country." } } } } } }, "senderCardExpiryDate": { "type": "string", "description": "This field contains the expiration date for the sender's Visa account number or token in senderPrimaryAccountNumber
Format: YYYY-MM
Example: 2021-10", "format": "date", "x-variant": "| YYYY-MM" }, "businessApplicationId": { "type": "string", "description": "Identifies the programs' business application type for VisaNet transaction processing

For Money Transfer, AA applies to transactions where the sender and recipient are the same person and PP applies to transactions where the sender and recipient are not the same person.

Refer to businessApplicationId codes", "x-variant": "| Length: 2" }, "originalTransactionId": { "type": "integer", "description": "Conditional.

This field is required to identify whether a transaction is merchant-initiated

Note: Merchants must link the Merchant-Initiated Transaction with the original transaction using the Transaction Identifier that was generated for the original cardholder initiated transaction. However, for standing-instruction MITs (i.e., recurring, installment, and unscheduled COF), acquirers can use the Transaction Identifier generated for the previous transaction in the series to link the subsequent transactions.", "x-variant": "| maxLength: 15" }, "recipientAddressLine1": { "maxLength": 99, "type": "string", "description": "Conditional.

This field contains the first line of the recipient address.
Note:
It is required for cross-border transactions that are originating from or destined to Canada." }, "recipientAddressLine2": { "maxLength": 99, "type": "string", "description": "Optional.

This field contains the second line of the recipient address." }, "recipientMiddleInitial": { "maxLength": 1, "type": "string", "description": "When present, this field contains recipient's middle initial" }, "visaMerchantIdentifier": { "type": "string", "description": "Visa Merchant Identifier", "x-variant": "| positive,Length: totalDigits 8" }, "addressVerificationData": { "type": "object", "properties": { "street": { "type": "string", "description": "Street address for address verification", "x-variant": "| Length: 20" }, "postalCode": { "type": "string", "description": "Conditional
Postal Code for address verification. For US, contains 5 or 9 digit ZIP code. This field is required for the transaction to qualify for CPS qualified Interchange rates and to avoid Transaction Integrity Fee.", "x-variant": "| Length: 9" } }, "description": "Conditional
Address verification is required for an AFT transaction to qualify for CPS. Either send the card’s postal code or full address.

Note:Supported only in US for CPS (Custom Payment Service). This field is required for the transaction to qualify for CPS qualified Interchange rates and to avoid Transaction Integrity Fee.
Either the postalCode or full address of the card is required.

Please reach out to your Visa representative for details." }, "merchantPseudoAbaNumber": { "type": "string", "description": "This is a number that uniquely identifies the originator when they sign up to send Push Payment Gateway transactions. On enrollment, an originator will get a single pseudo-value that is assigned by Visa. The other networks will assign their own unique values for the originator.

Note:
Supported only in US for domestic transactions involving Push Payments Gateway Service.", "x-variant": "| Length: 9" }, "recipientAdditionalData": { "type": "object", "properties": { "identificationList": { "type": "array", "description": "Identification list of reciepint. We have a current limitation that sender ID and recipient ID information are mutually exclusive. If both sender ID and recipient ID are sent in the same request, only sender ID related information will be sent to the issuer. \nAdditionally, only 1 instance of ID per sender or recipient is currently supported. If more than one instance is provided, only the first instance will be forwarded to the issuer.", "items": { "type": "object", "properties": { "idType": { "maxLength": 4, "minLength": 1, "type": "string", "description": "This field will contain the type of reciepint identification. The valid values are: \n BTHD - Date of birth \n CUID - Customer identification - unspecified \n NTID - National identification\n PASN - Passport number\n DRLN - Driver license\n TXIN - Tax identification \n CPNY - Company registration number\n PRXY - Proxy identification \n SSNB - Social security number \n ARNB - Alien registration number \n LAWE - Law enforcement identification \n MILI - Military identification \n TRVL - Travel identification - non-passport \n EMAL - Email\n PHON - Phone number \nFor a given instance of identificationList[], a minimum of idType and idNumber fields should be provided, else the ID information will not be forwarded to the issuer.", "x-variant": "| enumeration" }, "idNumber": { "maxLength": 35, "minLength": 1, "type": "string", "description": "This field will contain an acquirer-populated value associated with the Identification Type in field idType. \nWhen idType contains the value of BTHD (Date of birth), this tag must contain a date of birth in ccyymmdd format where: cc = century, yy = year,  mm = month, dd = day. \n For a given instance of identificationList[], a minimum of idType and idNumber fields should be provided, else the ID information will be dropped and not forwarded to the issuer." }, "idOwnerType": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field denotes whether the Tax ID is a business or individual's Tax ID when idType contains the value of TXIN (Tax identification).\nThe valid values are : \nB (Business) \nI (Individual)" }, "idIssueCountry": { "maxLength": 3, "minLength": 3, "type": "string", "description": "This tag will contain the 3-alpha or 3-digit ISO country code of the ID issuing country." } } } } } }, "recipientBuildingNumber": { "maxLength": 16, "type": "string", "description": "Optional.

This field contains the house or building number of the recipient address." }, "systemsTraceAuditNumber": { "type": "integer", "description": "A unique value should be used for each API method. However, when passing the (AFTR) method, this value must match the systemsTraceAuditNumber previously passed with the AFT method for the current transaction.", "x-variant": "| positive, Length: 6" }, "localTransactionDateTime": { "type": "string", "description": "This field contains the local date and time of the transaction takes place originated from merchant, service provider or acquirer.
Format: YYYY-MM-DDThh:mm:ss
Example: 2011-12-30T21:32:52", "format": "date-time", "x-variant": "| YYYY-MM-DDThh:mm:ss" }, "nationalReimbursementFee": { "type": "number", "description": "If present, this field should contain the IRF fees.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "pointOfServiceCapability": { "type": "object", "properties": { "posTerminalType": { "type": "integer", "description": "Note:Valid values if card is present include 0, 3 and 4. If card is not present, valid value is 5.", "x-variant": "| positive, totalDigits 1" }, "posTerminalEntryCapability": { "type": "integer", "description": "Note:Valid values if card is present include 0, 2 and 9. If card is not present, valid value is 1.", "x-variant": "| positive, Length: totalDigits 1" } }, "description": "Note: For a CardPresent Transactions, this field is required." }, "retrievalReferenceNumber": { "type": "string", "description": "A value used to tie together service calls related to a single financial transaction. When passing Account Funding Transaction (AFT) and Original Credit Transaction (OCT) methods, this value must differ between the two methods. When passing the Account Funding Transaction Reversal (AFTR) method, this value must match the retrievalReferenceNumber previously passed with the AFT method for this transaction.

Recommended Format: ydddhhnnnnnn

The first fours digits must be a valid yddd date in the Julian date format, where the first digit = 0-9 (last digit of current year) and the next three digits = 001-366 (number of the day in the year).

hh can be the two digit hour in a 24 hour clock (00-23) during which the transaction is performed.

nnnnnn can be the systemsTraceAuditNumber or any 6 digit number.", "x-variant": "| ydddhhnnnnnn(numeric characters only), Length: 12" }, "argentinaReimbursementFee": { "type": "number", "description": "Optional, when present, this field contains the Argentina member supplied reimbursement fee.
Note:
If a currency has one decimal place, the last digit of this field must be zero.
If a currency has no decimal place, the last two digits of this field must be zero.", "format": "double", "x-variant": "| Length: totalDigits 10, fractionDigits 2 (minimum value is 0, maximum value is 99999999.99)" }, "merchantVerificationValue": { "required": [ "mvvAcquirerAssigned", "mvvVisaAssigned" ], "type": "object", "properties": { "mvvVisaAssigned": { "type": "string", "description": "Visa assigned MVV value. E.g. 0A45AF", "x-variant": "| Length: 6, hexbinary format" }, "mvvAcquirerAssigned": { "type": "string", "description": "Visa assists the acquirer in assigning the last four. E.g. 98FC", "x-variant": "| Length: 4, hexbinary format" } }, "description": "Merchant Verification Value(MVV) is used to identify merchants that participate in a variety of programs. The MVV is unique to the merchant." }, "mexicoNationalServiceData": { "required": [ "reimbursementFee", "reimbursementFeeTax" ], "type": "object", "properties": { "irfType": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field contains one of the following values:
0 - Unknown/default
1 - Fixed
2 - Ad valorem (%)
3 - Composite (fixed amount and ad valorem)" }, "accountType": { "maxLength": 2, "minLength": 2, "type": "string", "description": "This field contains one of the following values:
CO - Commercial products
CR - Credit
DB - Debit
PL - Private label
PP - Prepaid" }, "irfCategoryCode": { "maxLength": 2, "minLength": 1, "type": "string", "description": "This field optionally contains any value from 00 to 99." }, "merchantFiscalId": { "maxLength": 13, "type": "string", "description": "This field contains RFC for the merchant. This is an alphanumeric field. The RFC format can be AAAANNNNNNAAA, where A is alphanumeric value and N is a numeric value." }, "reimbursementFee": { "type": "number", "description": "This field contains the Client-Calculated Interchange Reimbursement Fee in the same currency as the transaction. It must not contain zeros.", "format": "double" }, "reimbursementFeeTax": { "type": "number", "description": "This field contains the VAT calculated for the IRF applicable to the transaction. It must not contain zeros.", "format": "double" } }, "description": "Settlement Service Data object for Mexico required if transaction indicates Mexico national settlement." }, "optionalResponseParameters": { "maxLength": 400, "type": "string", "description": "Originators may choose to specify any or all of the following optional parameters to receive as part of the API response.

E.g. Originators may specify comma-separated, optional parameters such as optionalResponseParameters (motoECIIndicator), if they want to receive motoECIIndicator in the API response.

motoECIIndicator: Identifies the level of security used in an electronic commerce transaction over an open network (for example, the Internet) or the type of mail or telephone order. Acquirers supply indicator values, which V.I.P. forwards in requests and advices to issuers that have successfully tested to receive them. The subfield is dropped if issuers have not successfully completed testing or choose not to receive it.

Refer to Moto ECI Codes

E.g. optionalResponseParameters (motoECIIndicator)" }, "senderPrimaryAccountNumber": { "maxLength": 19, "minLength": 13, "type": "string", "description": "This is a 16-digit PAN or token of the sender's account." }, "settlementServiceIndicator": { "type": "integer", "description": "This flag enables the originator to request for a particular settlement service to be used for settling the transaction.

Valid values are:
0 - International Settlement
9 - VIP to decide
8 - National Settlement

Note: The default value is 9. This field is only relevant for specific countries where the acquirer has to select 8 in order to settle in the national net settlement service. ", "x-variant": "positive | Length: totalDigits 1" }, "colombiaNationalServiceData": { "required": [ "countryCodeNationalService", "nationalNetReimbursementFeeBaseAmount" ], "type": "object", "properties": { "addValueTaxAmount": { "type": "number", "description": "This is the national government tax for added value of good or service.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "addValueTaxReturn": { "type": "number", "description": "This is base value of the IVA (Sales tax). Optional. This field indicates base value of the IVA ( Sales tax which is part of the benefit of the tax legislations for the 2% sale tax return to the cardholder.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "taxAmountConsumption": { "type": "number", "description": "This is the national consumption tax amount.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "nationalNetMiscAmount": { "type": "number", "description": "This is an amount field that contains an airport charge, cashback or a tip.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "emvTransactionIndicator": { "maxLength": 1, "type": "string", "description": "Contains one of the below valid values:
0 - Does not apply to EMV
1 - EMV transaction
2 - Fallback transaction", "x-variant": "positive | Length: 1" }, "costTransactionIndicator": { "maxLength": 1, "type": "string", "description": "Contains one of the below valid values:
0 - Not a cost inquiry amount
1 - Cost inquiry transaction", "x-variant": "positive | Length: 1" }, "nationalChargebackReason": { "type": "integer", "description": "Contains a domestic chargeback reason code.", "x-variant": "| positive,Length: totalDigits 2" }, "nationalReimbursementFee": { "type": "number", "description": "Numeric entry indicating a fee for a National Settlement transaction. It must be zeros unless the transaction is a National Settlement transaction for a country using this capability. Two decimal positions are implied.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "nationalNetMiscAmountType": { "maxLength": 1, "type": "string", "description": "It identifies the type of the miscellaneous amount – i.e. whether it is one of:
A - Airport charge
C - Cashback
T - Tip

Must be one of the above valid values if nationalNetMiscAmount > 0.

Must be skipped if nationalNetMiscAmount = 0.", "x-variant": "| Length: 1" }, "countryCodeNationalService": { "type": "integer", "description": "The acquirer's country code. Must be 170 for Colombia.", "x-variant": "| Length: 3" }, "nationalNetReimbursementFeeBaseAmount": { "type": "number", "description": "The client supplied interchange reimbursement amount expressed in the transaction currency. This must be less than the transaction amount.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" } }, "description": "Settlement Service Data object for Colombia required if transaction indicates Colombia national settlement" }, "foreignExchangeFeeTransaction": { "type": "number", "description": "When present, this field contains the sender's foreign exchange markup fee (markup above the wholesale or VisaNet exchange rate as assessed by the originator). Values in this field must be in the same currency and format as defined in the amount field.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "recipientSubDivisionMinorCode": { "maxLength": 16, "type": "string", "description": "Optional.

This field contains the ISO subdivision minor code (for e.g. a county within a state) of the recipient address." }, "recipientIdentificationNumberBusiness": { "type": "string", "description": "Conditional.

This is an alphanumeric value that carries the recipient's identification number issued to the recipient by the government or an authorized national entity. This field is to be used if the recipient is a business (e.g. Disbursements)

If recipientIdentificationNumberIndividual is not populated, then this field needs to be populated mandatorily for Brazil domestic trasactions when businessApplicationId has any of the below values:

AA
PP
TU
BI
WT
FT

This is an alphanumeric value that carries the merchant’s value-added tax (VAT) registration number or single business reference number (SBRN) for the business issued to by the government or an authorized national entity, then this field needs to be populated for Argentina domestic transaction when businessApplicationId:PS", "x-variant": "| maxLength: 20" }, "recipientIdentificationNumberIndividual": { "type": "string", "description": "Conditional.

This is an alphanumeric value that carries the recipient's identification number issued to the recipient by the government or an authorized national entity. This field is to be used if the recipient is an Individual (e.g. P2P payments)

If recipientIdentificationNumberBusiness is not populated, then this field needs to be populated mandatorily for Brazil domestic trasactions when businessApplicationId has any of the below values:

AA
PP
TU
BI
WT
FT
", "x-variant": "| maxLength: 13" }, "cpsAuthorizationCharacteristicsIndicator": { "type": "string", "description": "Conditional
Request for CPS authorization. If present, a valid value is required. Spaces or special characters are not allowed. Possible values are : Y (Transaction requests participation)

Note: Supported only in US for CPS (Custom Payment Service).

This field is required for the transaction to qualify for CPS qualified Interchange rates and to avoid the Transaction Integrity Fee.

Please reach out to your Visa representative for details. ", "x-variant": "| Length:1" } } }, "PaymentAccountAttributesInquiry": { "required": [ "billingCurrencyCode", "cardIssuerCountryCode", "fastFundsIndicator", "geoRestrictionInd", "issuerName", "onlineGambingBlockIndicator", "pushFundsBlockIndicator" ], "type": "object", "properties": { "issuerName": { "maxLength": 240, "type": "string", "description": "Issuer name of the consumer card." }, "cardTypeCode": { "maxLength": 1, "minLength": 1, "type": "string", "description": "The code of account funding source for the card, e.g. Credit, Debit, Prepaid, Charge, Deferred Debit.
Refer to cardTypeCode" }, "geoRestrictionInd": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field will determine if the recipient issuer can accept transactions from the Originator country. If the value is 'Y', transactions cannot be accepted from the sender country. If the value is 'N', transactions are allowed." }, "fastFundsIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Indicates the funds delivery speed of the PAN submitted in the request. If the value is 'B', 'C', or 'D', funds will be available to the recipient within 30 minutes of successful transfer. If the value is 'N', the funds will be available within 2 business days of successful transfer.
Refer to fastFundsIndicator" }, "billingCurrencyCode": { "type": "integer", "description": "Use a 3-digit numeric currency code for the card billing currency of the PAN.
Refer to ISO Codes" }, "cardIssuerCountryCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Refer to ISO Codes" }, "pushFundsBlockIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Indicates whether the PAN submitted in the request can receive Push Funds(OCTs).
Refer to pushFundsBlockIndicator" }, "onlineGambingBlockIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Indicates whether the PAN submitted in the request can receive Push Funds(OCTs) for gambling-type transactions. If the value is 'Y', then the account cannot receive gambling Push Funds (OCTs). If the value is 'N', the account can receive gambling Push Funds (OCTs)." }, "billingCurrencyCodeMinorDigits": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Identifies the number of decimal positions that should be present in any amounts for the requested card's billing currency." } } }, "MerchantCardAcceptor": { "required": [ "address", "name" ], "type": "object", "properties": { "name": { "maxLength": 25, "minLength": 1, "type": "string", "description": "Originator can populate this field with value captured from merchant information display. If manual entered transaction then populate default value of 'mVisa merchant'." }, "idCode": { "maxLength": 15, "minLength": 1, "type": "string", "description": "Originator can populate the field with any system generated reference number internal to originating client." }, "address": { "$ref": "#/components/schemas/MerchantCardAcceptorAddress" } }, "description": "It is optional for recipient to send card acceptor field in the response. However, if it is in the response, all merchant name, city and country need to be there." }, "AliasInquiryRequest": { "required": [ "aliases" ], "type": "object", "properties": { "aliases": { "type": "array", "description": "Aliases that needs to be inquired about. This attribute contains the Alias data, e.g. phone number, email address, etc.
If phone number is used for Alias, this should be provided in accordance with ITU-T E.164 (2010) number structure. Up to 1000 Aliases are supported in the Alias Inquiry request.", "items": { "type": "string" } }, "paymentInstrTypes": { "type": "array", "description": "Identifies if the payment instrument returned should be CARD or ACCOUNT. By default the value is CARD.", "items": { "type": "string" } } }, "description": "Alias Inquiry Request Payload" }, "AliasResolveRequest-1": { "required": [ "alias", "businessApplicationId" ], "type": "object", "properties": { "alias": { "type": "string", "description": "This attribute is used to retrieve recipient's Primary Account Number (PAN) of the card holder which can then be used in subsequent services such as Visa Direct.
This attribute can contain information of a mobile phone number, email address, IBAN, merchant ID, etc.
If phone number is used for Alias, this should be provided in accordance with ITU-T E.164 (2010) number structure. Below are some examples of phone numbers with different country codes:
CountryCountry CodeExamples
United States11650xxxxxxx
Ukraine38038067xxxxxxx
Belarus37537529xxxxxxx
Kazakhstan77701xxxxxxxxxx
United Kingdom444478xxxxxxxx
Singapore65659xxxxxxx
Hong Kong8528529xxxxxxx
Kenya254254701xxxxxx

If IBAN (International Bank Account Number) is used for Alias, this should be provided in accordance with ISO 13616:2007. Below is an example of IBAN:
CountryExample
IrelandIE29AIBK93115212345678
where
Country Code: IE
Check digits: 29
Bank Identifier: AIBK
Branch Identifier: 931152
Account Number:12345678
" }, "aliasType": { "type": "string", "description": "Used to identify the type of Alias provided in the Alias field. Allowed Alias Types are as listed below
01 - Phone Number
02 - Email ID
03 - National ID
04 - IBAN" }, "accountLookUp": { "type": "string", "description": "Retrieve the attributes that determine the key characteristics of a recipient payment account before initiating a funds transfer by providing the Primary Account Number (PAN).
If such attributes are required, set the value as 'Y'. Default is set as 'N'" }, "businessApplicationId": { "type": "string", "description": "Used to identify program’s business application type for VisaNet transaction processing. It can be PP for Personal payment, MP for Merchant Payment, CO for Cash Out, CI for Cash In.

In select countries where available, please use PP to search for an Alias in third party directories using the Alias Lookup API. Please contact your Visa representative for more information.", "enum": [ "PP", "MP", "CO", "CI" ] } }, "description": "Alias Resolve Request Payload" }, "MultiPushFundsTransactionPostPayload": { "required": [ "acquirerCountryCode", "acquiringBin", "businessApplicationId", "localTransactionDateTime", "request" ], "type": "object", "properties": { "request": { "type": "array", "items": { "$ref": "#/components/schemas/MultiPushFundsTransactionRequests" } }, "acquiringBin": { "type": "integer", "description": "The Bank Identification Number (BIN) under which the Visa Direct solution is registered. This must match the information provided during enrollment.", "x-variant": "| positive, Length: 6 - 11" }, "messageReasonCode": { "type": "integer", "description": "Contains codes that combined with some other fields such as the BAI (Business Application Id) identify some unique use cases. For Sales Tax rebates this field should be populated with the value 5120 (Value-added tax/Sales Tax) along with the businessApplicationId field set to the value 'FD' which indicates this push funds transfer is being conducted in order to facilitate a sales tax refund.", "x-variant": "| positive, Length: 4" }, "acquirerCountryCode": { "type": "integer", "description": "Use a 3-digit numeric country code for the country of the BIN under which your Visa Direct solution is registered. This must match the information provided during program enrollment.

Refer to ISO Codes", "x-variant": "| positive, Length: fixed, 3" }, "merchantCategoryCode": { "type": "integer", "description": "If provided, then the value overrides the one present in onboarding data. If the merchantCategoryCode value is not populated in onboarding data then this field is mandatory.

If not provided, then the value will default to the values provided during onboarding (when the services are provisioned)Note: required if not provided during onboarding", "x-variant": "| total 4 digits " }, "businessApplicationId": { "type": "string", "description": "Identifies the programs' business application type for VisaNet transaction processing

For Money Transfer, AA applies to transactions where the sender and recipient are the same person and PP applies to transactions where the sender and recipient are not the same person.

For Money Transfer, CD (Cash Deposit) applies to cash funded transactions.

Refer to businessApplicationId codes", "x-variant": "| Length: 2" }, "localTransactionDateTime": { "type": "string", "format": "date-time", "x-variant": "| YYYY-MM-DDThh:mm:ss. The date and time you submit the transaction" }, "nationalReimbursementFee": { "type": "number", "description": "When present, this field contains the IRF fees.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "settlementServiceIndicator": { "type": "integer", "description": "This flag enables the originator to request for a particular settlement service to be used for settling the transaction.

Valid values are:
0 - International Settlement
9 - VIP to decide
8 - National Settlement

Note: The default value is 9. This field is only relevant for specific countries where the acquirer has to select 8 in order to settle in the national net settlement service. ", "x-variant": "positive | Length: totalDigits 1" }, "senderIdentificationNumberBusiness": { "type": "string", "description": "This is an alphanumeric value that carries the sender's identification number issued to the sender by the government or an authorized national entity. This field is to be used if the sender is a business (e.g. Disbursements)

Note: If senderIdentificationNumberIndividual is not populated, then this field needs to be populated mandatorily for Brazil domestic transactions.", "x-variant": "| maxLength: 20" }, "senderIdentificationNumberIndividual": { "type": "string", "description": "This is an alphanumeric value that carries the sender's identification number issued to the sender by the government or an authorized national entity or contains the customer’s VAT registration number for the individual tax identification. This field is to be used if the sender is an Individual (e.g. P2P payments),

Note: If senderIdentificationNumberBusiness is not populated, then this field needs to be populated mandatorily for Brazil domestic transactions.
If businessApplicationId has PS, then this field to be populated for Argentina domestic transaction.", "x-variant": "| maxLength: 13" } } }, "ReverseFundsTransactionPostResponse": { "required": [ "actionCode", "responseCode", "transactionIdentifier", "transmissionDateTime" ], "type": "object", "properties": { "networkId": { "type": "integer", "description": "This contains a code that identifies the network on which the transaction was processed.

Refer to Network ID

Note:
This field is returned only if it is anything other than networkId value 2.

Supported only in US for domestic transactions.", "x-variant": "| positive, Length: totaldigits 2" }, "actionCode": { "type": "string", "description": "The results of the transaction request

Refer to actionCode
Note: The VisaNet Response Code for the transaction", "x-variant": "| Length: 2" }, "last4ofPAN": { "type": "integer", "description": "This field contains the last four digits of the cardholder primary account number (PAN)" }, "approvalCode": { "type": "string", "description": "The authorization code from the issuer.", "x-variant": "| Length: 6" }, "responseCode": { "type": "string", "description": "The source for the response; typically, either the recipient issuer or a Visa system.

Refer to responseCode
Note: The VisaNet Response Source for the transaction", "x-variant": "| Length: 1" }, "memberComments": { "maxLength": 254, "minLength": 1, "type": "string", "description": "This field can be optionally used to send and receive comments by service providers. Issuers can optionally include new text in this field in the response. If the issuer does not include this field, Visa will inject the value from the request in the response and send it back to the service provider." }, "settlementFlags": { "required": [ "settlementResponsibilityFlag" ], "type": "object", "properties": { "givUpdatedFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "settlementServiceFlag": { "type": "string", "description": "Possible values are:
0 - International Settlement
9 - VIP to decide
8 - National Settlement
", "x-variant": "| Length: 1, hexbinary format" }, "givPreviouslyUpdatedFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "settlementResponsibilityFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" } } }, "statusIdentifier": { "type": "string", "x-variant": "| required when call times out" }, "customerReference": { "type": "string", "description": "This is an alphanumeric value that carries the value that identifies the customer, the value may be a reference number or code or generic number. This field to be populated for Argentina domestic transactions when businessApplicationId has PS.", "x-variant": "| Length:17" }, "feeProgramIndicator": { "type": "string", "x-variant": "| Length:3" }, "transmissionDateTime": { "type": "string", "description": "Example: 2016-01-15T07:03:52.000Z", "format": "date-time", "x-variant": "| YYYY-MM-DDThh:mm:ss" }, "transactionIdentifier": { "type": "integer", "description": "The VisaNet reference number for the transaction.
Note:transactionIdentifier is a Visa generated field that client receives in the response message.
Note:As an exception Visa allows clients to use the transactionIdentifier received in the AFT response into the subsequent OCT message - this is to simplify matching the pull and push transaction pair and reconcilation.", "format": "int64", "x-variant": "| positive, (when call does not timeout) Length: 15" }, "additionalTokenRespInfo": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field when present in the API response identifies if the transaction is eligible for token services. Valid token service values are: 1 (Token program).

This field will not be sent in the response if the transaction is ineligible for token services." }, "merchantVerificationValue": { "type": "string", "description": "The concatenated Merchant Verification Value of Visa assigned and Acquirer assigned value is returned.", "x-variant": "| Length: 10, hexbinary format" }, "senderIdentificationNumberIndividual": { "type": "string", "description": "This is an alphanumeric value that contains the customer’s VAT registration number for the individual tax identification.
This field is to be populated if the recipient is an Individual (e.g. P2P payments). This field to be populated for Argentina domestic transactions when businessApplicationId has PS.", "x-variant": "| maxLength: 13" } } }, "CardAcceptor": { "required": [ "idCode", "name" ], "type": "object", "properties": { "name": { "maxLength": 25, "minLength": 1, "type": "string", "description": "Originator must populate this field with value captured from merchant information display. If manual entered transaction then populate default value of 'mVisa merchant'." }, "idCode": { "maxLength": 15, "minLength": 1, "type": "string", "description": "Originator can populate the field with any system generated reference number internal to originating client." }, "address": { "$ref": "#/components/schemas/CardAcceptorAddress" } } }, "PullFundsTransactionGetResponse": { "required": [ "actionCode", "responseCode", "transactionIdentifier", "transmissionDateTime" ], "type": "object", "properties": { "actionCode": { "type": "string", "description": "The results of the transaction request

Refer to actionCode
", "x-variant": "| Length 2" }, "last4ofPAN": { "type": "integer", "description": "This field contains the last four digits of the cardholder primary account number (PAN)" }, "approvalCode": { "type": "string", "description": "The authorization code from the issuer.", "x-variant": "| Length: 6" }, "responseCode": { "type": "string", "description": "The source for the response; typically, either the recipient issuer or a Visa system.

Refer to responseCode
Note: : The VisaNet Response Source for the transaction", "x-variant": "| Length: 1" }, "cavvResultCode": { "type": "string", "description": "The cavvResultCode identifies the outcome of the CAVV validation.

Refer to cavvResultCode", "x-variant": "| Length: 1" }, "memberComments": { "maxLength": 254, "minLength": 1, "type": "string", "description": "This field can be optionally used to send and receive comments by service providers. Issuers can optionally include new text in this field in the response. If the issuer does not include this field, Visa will inject the value from the request in the response and send it back to the service provider." }, "statusIdentifier": { "type": "string", "x-variant": "| required when call times out " }, "customerReference": { "type": "string", "description": "This is an alphanumeric value that carries the value that identifies the customer, the value may be a reference number or code or generic number.", "x-variant": "| Length:17" }, "originalActionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "The action code of the original transaction request
Refer to actionCode
Note: This field is only present, when the request is identified as a duplicate." }, "feeProgramIndicator": { "type": "string", "x-variant": "| Length: 3" }, "transmissionDateTime": { "type": "string", "description": "Example: 2016-01-15T07:03:52.000Z
Note: Remove \"000Z\" if this field value is used for ReverseFundsTransactions POST request or MultiReverseFundsTransactions POST request.", "format": "date-time", "x-variant": "| YYYY-MM-DDThh:mm:ss" }, "transactionIdentifier": { "type": "integer", "description": "The VisaNet reference number for the transaction

Note:
transactionIdentifier is a Visa generated field that client recieves in the response message.
Note: As an exception Visa allows clients to use the transactionIdentifier received in the AFT response into the subsequent OCT message - this is to simplify matching the pull and push transaction pair and reconciliation.", "format": "int64", "x-variant": "| positive and required when call does not timeout, Length: 15" }, "reimbursementAttribute": { "type": "string", "description": "If AFT transaction has qualified for CPS then this field contains a code that identifies the applicable interchange reimbursement fee. Possible values are : A (Payment Service Interchange Reimbursement Fee (PSIRF) U.S.) ", "x-variant": "| Length:1" }, "vauRTAuthReplacementData": { "type": "object", "properties": { "vauFlag": { "type": "string", "description": "Possible values are : Y (replacement occurred). N (No replacements)", "x-variant": "| Length: 1" }, "vauAccntStatus": { "type": "string", "description": "Indicates C (closed account) or Q (contact cardholder)", "x-variant": "| Length: 1" }, "replacementCardID": { "type": "string", "description": "The replacement pan, if it exists", "x-variant": "| Length: 19" }, "vauErrorReasonCode": { "type": "string", "description": "Conditional. If present, describes the reason the VAU failed", "x-variant": "| Length: 6" }, "replaceDateExpiration": { "type": "string", "description": "Replacement pan expiration date, if it exists. This is returned even if the expiration date was not passed in the request.", "x-variant": "| YYYY-MM" } } }, "recipientIdentificationNumberIndividual": { "type": "string", "description": "This is an alphanumeric value that contains the customer’s VAT registration number for the individual tax identification.
This field is to be populated if the recipient is an Individual (e.g. P2P payments)", "x-variant": "| maxLength: 13" }, "cpsAuthorizationCharacteristicsIndicator": { "type": "string", "description": "Conditional
Indicates whether AFT transaction has qualified for CPS. Possible values are : F (Meets CPS/Account Funding requirements) , N (Not Qualified), T (Not Qualified)

Note:Supported only in US for CPS (Custom Payment Service).
Please reach out to your Visa representative for details.", "x-variant": "| Length:1" } } }, "aliases-2": { "required": [ "alias", "aliasType", "isDefault" ], "type": "object", "properties": { "alias": { "type": "string", "description": "Conditional. This attribute contains the alias data, e.g. phone number, email address, etc.
Note. This attribute is mandatory to selected markets that allow to have one alias linked to multiple accounts" }, "aliasType": { "type": "string", "description": "Conditional.
“01” – Phone number
“02” – Email address
“03” – National ID
“04” – IBAN (International Bank Account Number).
Note. This attribute is mandatory to selected markets that allow to have one alias linked to multiple accounts." }, "isDefault": { "type": "string", "description": "Conditional. This attributes contains whether or not this is the default account to receive money.
Note. This attribute is mandatory to selected markets that allow to have one alias linked to multiple accounts." } } }, "aliases-1": { "required": [ "alias", "aliasType", "isDefault" ], "type": "object", "properties": { "alias": { "type": "string", "description": "Conditional. This attribute contains the alias data, e.g. phone number, email address." }, "aliasType": { "type": "string", "description": "Conditional.
“01” – Phone number
“02” – Email address
“03” – National ID
“04” – IBAN (International Bank Account Number)." }, "isDefault": { "type": "string", "description": "Conditional. This attribute indicates whether the recipientPrimaryAccountNumber is the default account to receive money for this alias." } } }, "GetAliasResponse-1": { "required": [ "cardType", "country", "guid", "issuerName", "recipientFirstName", "recipientLastName", "recipientPrimaryAccountNumber" ], "type": "object", "properties": { "city": { "type": "string", "description": "Consumer’s city belonging to the payment instrument" }, "guid": { "type": "string", "description": "This attribute is uniquely used by an Issuer to identify the payment instrument belonging to a consumer cardholder.
An Issuer may pass their existing unique identifier of a cardholder's payment instrument in their system to Visa Alias Directory Service as a guid.

For multiple aliases linked to the same payment instrument (e.g., PAN), the same guid should be used. For example:
guid abcd12345678z01, alias 85291112222
guid abcd12345678z01, alias 85288881111

One alias can also be linked to more than one account. For example, one phone can be linked to three different cards with one of these cards selected as the default card to receive money. It is recommended that the Issuer use systematic naming to generate a guid for easy maintenance. Below is an example of one mobile number linking to three different PANs:
alias 85291112222, guid abcd12345678z01 for PAN1 (default)
alias 85291112222, guid abcd12345678z02 for PAN2
alias 85291112222, guid abcd12345678z03 for PAN3" }, "alias": { "type": "string", "description": "Conditional. This field will not be returned if the object 'aliases' is present.
This attribute contains the alias data, e.g. phone number, email address.
If a phone number is used for alias, this will be provided in accordance with ITU-T E.164 (2010) number structure. Below are some examples of phone numbers with different country codes:
CountryCountry CodeExamples
United States11650xxxxxxx
Ukraine38038067xxxxxxx
Belarus37537529xxxxxxx
Kazakhstan77701xxxxxxx
United Kingdom444478xxxxxxxx
Singapore65659xxxxxxx
Hong Kong8528529xxxxxxx
Kenya254254701xxxxxx

If IBAN (International Bank Account Number) is used for alias, this will be provided in accordance with ISO 13616:2007. Below is an example of IBAN:
CountryExample
IrelandIE29AIBK93115212345678
where
Country Code: IE
Check digits: 29
Bank Identifier: AIBK
Branch Identifier: 931152
Account Number:12345678
" }, "status": { "type": "string", "description": "The status of an alias. For a consumer alias, this value can be 'INACTIVE', 'ACTIVE', or 'DISABLED'.

For merchant/agent alias, this value can be 'ACTIVE' or 'DISABLED'.
Note: This attribute is only applicable to select markets. Please contact Visa's representative for details." }, "aliases": { "$ref": "#/components/schemas/aliases-1" }, "country": { "type": "string", "description": "Consumer’s country code belonging to the payment instrument as defined by ISO 3166" }, "address1": { "type": "string", "description": "Address line 1 belonging to the payment instrument" }, "address2": { "type": "string", "description": "Address line 2 belonging to the payment instrument" }, "cardType": { "type": "string", "description": "Card type description. Reference to Field 62.23—Product ID of available card products. e.g. Visa Classic, Visa Platinum" }, "aliasType": { "type": "string", "description": "Conditional. This field will not be returned if the object 'aliases' is present.
“01” – Phone number
“02” – Email address
“03” – National ID
“04” – IBAN (International Bank Account Number)" }, "isDefault": { "type": "string", "description": "Conditional. This attribute indicates whether the recipientPrimaryAccountNumber is the default account to receive money for this alias." }, "expiryDate": { "type": "string", "description": "Conditional. Card expiration date." }, "issuerName": { "type": "string", "description": "This is name of the Issuer of the consumer's card" }, "postalCode": { "type": "string", "description": "Consumer’s postal code belonging to the payment instrument" }, "contactEmail": { "type": "string", "description": "Consumer’s contact email" }, "consentDateTime": { "type": "string", "description": "Date & time when consumer has provided their consent to Issuer about the use of their personal data for VAD service. Format: YYYY-MM-DD hh:nn:ss.
It is in Coordinated Universal Time (UTC)." }, "recipientLastName": { "type": "string", "description": "Consumer's last name" }, "contactPhoneNumber": { "type": "string", "description": "Consumer’s contact phone number" }, "recipientFirstName": { "type": "string", "description": "Consumer’s first name" }, "recipientMiddleName": { "type": "string", "description": "Consumer’s middle name" }, "statusChangeDateTime": { "type": "string", "description": "The date and time when the status of an alias is changed. It is in Coordinated Universal Time (UTC).
Note: This attribute is only applicable to selective markets. Please contact Visa's representative for details." }, "recipientLastNameLocal": { "type": "string", "description": "Consumer’s last name in local language" }, "recipientFirstNameLocal": { "type": "string", "description": "Consumer’s first name in local language" }, "recipientMiddleNameLocal": { "type": "string", "description": "Consumer’s middle name in local language" }, "recipientPrimaryAccountNumber": { "type": "string", "description": "Consumer’s card number" } }, "description": "Response data when a consumer alias is successfully resolved." }, "AliasResolveRequest-2": { "required": [ "alias", "businessApplicationId" ], "type": "object", "properties": { "alias": { "type": "string", "description": "This attribute is used to retrieve recipient's Primary Account Number (PAN) of the card holder which can then be used in subsequent services such as Visa Direct.
This attribute can contain information of a mobile phone number, email address, IBAN, merchant ID, etc.
If phone number is used for alias, this should be provided in accordance with ITU-T E.164 (2010) number structure. Below are some examples of phone numbers with different country codes:
CountryCountry CodeExamples
United States11650xxxxxxx
United Kingdom444478xxxxxxxx
Singapore65659xxxxxxx
Hong Kong8528529xxxxxxx
Kenya254254701xxxxxx

If IBAN (International Bank Account Number) is used for alias, this should be provided in accordance with ISO 13616:2007. Below is an example of IBAN:
CountryExample
IrelandIE29AIBK93115212345678
where
Country Code: IE
Check digits: 29
Bank Identifier: AIBK
Branch Identifier: 931152
Account Number:12345678
" }, "accountLookUp": { "type": "string", "description": "Retrieve the attributes that determine the key characteristics of a recipient payment account before initiating a funds transfer by providing the Primary Account Number (PAN).
If such attributes are required, set the value as 'Y'. Default is set as 'N'" }, "inviteSMSParameters": { "type": "object", "properties": { "amount": { "type": "string", "description": "The transaction amount to be sent by sender to the recipient. Format: digits with or without decimal point, e.g. 100 or 123.45. If not provided, system will use generic word (e.g. 'money transfer') for the notification message.", "example": "100" }, "language": { "type": "string", "description": "Language for the notification message if originator prefers to override the default language to be used for an originator. This should be provided in accordance with ISO 639-2 standard, e.g. 'en' for sending an English notification message to a receiver in a market such as Ukraine where Ukrainian is set as the default language to be used for originators from Ukraine.", "example": "en" }, "senderName": { "type": "string", "description": "Name of the sender who initiates the transaction. If not provided, system will use default word (e.g. 'Someone') for the notification message.", "example": "John" } }, "description": "Optional parameters to allow originator provide sender information to Visa for constructing notification message to be sent via SMS or other means to invite receiver registering their alias in the Alias Directory if the alias mapping cannot be found (i.e. HTTP Error 404 in RESOLVE API response). Note: This is only available in selected markets, please contact Visa's representative for details." }, "businessApplicationId": { "type": "string", "description": "Used to identify program’s business application type for VisaNet transaction processing. It can be PP for Personal payment, MP for Merchant Payment, CO for Cash Out, CI for Cash In", "enum": [ "PP", "MP", "CO", "CI" ] } }, "description": "Alias Resolve Request Payload" }, "ReverseFundsTransactionPostPayload": { "required": [ "acquirerCountryCode", "acquiringBin", "amount", "businessApplicationId", "cardAcceptor", "localTransactionDateTime", "merchantCategoryCode", "originalDataElements", "retrievalReferenceNumber", "senderCurrencyCode", "senderPrimaryAccountNumber", "systemsTraceAuditNumber", "transactionIdentifier" ], "type": "object", "properties": { "amount": { "type": "number", "description": "The total amount to be sent to the recipient.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3" }, "networkId": { "type": "integer", "description": "This contains a code that specifies the network to be used for transmission of the message and determines the program rules that apply to the transaction.

Refer to Network ID

Note:
For ReverseFundsTransactions(AFTR) and MultiReverseFundsTransactions (MULTIAFTR) originators must populate the networkId returned in the original PullFundsTransactions(AFT) and MultiPullFundsTransactions (MULTIAFT) response.
Supported only in US for domestic transactions.", "x-variant": "| positive, Length: totaldigits 2" }, "surcharge": { "type": "string", "description": "When present, this field contains the sender's surcharge as assessed by the originator. Values in this field must be in the same currency and format as defined in the amount field.", "format": "double", "x-variant": "| Length: totalDigits12, fractionDigits 3 (minimum value is 0)" }, "accountType": { "type": "string", "description": "This is used to identify the account type of the senderPrimaryAccountNumber in the request. Below are the possible values.

00-Not applicable
10-Saving account
20-Checking account
30-Credit card account
40-Universal account

Default is set to \"00\" if not provided.", "x-variant": "| Length: 2" }, "acquiringBin": { "type": "integer", "description": "The Bank Identification Number (BIN) under which your Visa Direct is registered. This must match the information provided during enrollment.", "x-variant": "| positive, Length: 6 - 11" }, "cardAcceptor": { "required": [ "address", "idCode", "name", "terminalId" ], "type": "object", "properties": { "name": { "type": "string", "description": "This field should contain the name of the originator or the money transfer operator.", "x-variant": "| Length: 1 - 25" }, "idCode": { "type": "string", "description": "An identifier for the card acceptor (Visa Direct Originator). This value should be unique for each originator for whom you are sending transactions.", "x-variant": "| Length: 1 - 15" }, "address": { "required": [ "country" ], "type": "object", "properties": { "state": { "type": "string", "description": "Use a 2-character abbreviated states code or territory code as the state value.", "x-variant": "| Length: 2" }, "county": { "type": "string", "x-variant": "| Length: 3" }, "country": { "type": "string", "description": "This field must contain the 3-character alpha country code for the country of the originator or money transfer operator.

Refer to ISO Codes", "x-variant": "| Length: 3" }, "zipCode": { "type": "string", "x-variant": "| Length: 5 - 9" } } }, "terminalId": { "type": "string", "description": "The identifier for the terminal at a card acceptor location. If sending transactions from a card not present environment, use the same value for all transactions.", "x-variant": "| Length: 1 - 8" } } }, "memberComments": { "maxLength": 254, "minLength": 1, "type": "string", "description": "This field can be optionally used to send and receive comments by service providers. Issuers can optionally include new text in this field in the response. If the issuer does not include this field, Visa will inject the value from the request in the response and send it back to the service provider." }, "senderReference": { "maxLength": 16, "type": "string", "description": "If the transaction is a money transfer, pre-paid load, or credit card bill pay, and if the sender intends to fund the transaction with a non-financial instrument (for example, cash), a reference number unique to the sender is required.

If the transaction is a funds disbursement, the field is required.

This field is required if senderAccountNumber is not sent.", "x-variant": "| only alphabets (a-z, A-Z) and/or numbers (0-9) allowed" }, "sharingGroupCode": { "type": "string", "description": "This field is optionally used by Push Payments Gateway participants (merchants and acquirers) to specify the network access priority.

Refer to Sharing Group Code

Note:
Supported only in US for domestic transactions involving Push Payments Gateway Service.", "x-variant": "| Length: 30" }, "merchantReference": { "maxLength": 35, "type": "string", "description": "This is an alphanumeric value that carries the merchant’s unique identification number issued by the government or an authorized national entity. This field to be populated for Argentina domestic transaction when businessApplicationId has PS.", "x-variant": "| only alphabets (a-z, A-Z) and/or numbers (0-9) allowed" }, "pointOfServiceData": { "type": "object", "properties": { "panEntryMode": { "type": "integer", "description": "For a CardPresent scenario, this field is required.", "x-variant": "| positive, Length: totalDigits 2" }, "motoECIIndicator": { "type": "string", "description": "Note:
If posConditionCode is 59, motoECIIndicator must be between 5-8. Default is set to 5 if not provided. If posConditionCode is 0, motoECIIndicator will not be sent.", "x-variant": "| Length: 1" }, "posConditionCode": { "type": "integer", "description": "For a CardPresent scenario, this field is required.", "x-variant": "| positive, Length: totalDigits 2" }, "specialConditionIndicatorMerchant": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Cryptocurrency indicator with the value of “7” can be used to identify the purchase of cryptocurrency, thereby providing greater visibility to the issuers." } } }, "senderCurrencyCode": { "type": "string", "description": "Use a 3-character alpha or numeric currency code for currency of the sender.

Refer to ISO Codes", "x-variant": "| Length: 3" }, "acquirerCountryCode": { "type": "integer", "description": "Use a 3-digit numeric country code for the country of the BIN under which your Visa Direct solution is registered. This must match the information provided during program enrollment.", "x-variant": "| Positive, Length: 3" }, "feeProgramIndicator": { "type": "string", "description": "If present, a valid value is required. Spaces or special characters are not allowed.", "x-variant": "| alpha numeric, Length:3" }, "merchantCategoryCode": { "type": "integer", "description": "If original AFT found, then the value from AFT overrides the one present in the request. If the merchantCategoryCode value is not there in original AFT then this field is populated from AFTR request.

If not present in AFT/AFTR, then the value will default to the values provided during onboarding (when the services are provisioned)Note: required if not provided during onboarding", "x-variant": "| total 4 digits " }, "originalDataElements": { "type": "object", "properties": { "acquiringBin": { "type": "integer", "description": "This field must contain the Bank Identification Number (BIN) from the original AFT.", "x-variant": "| positive, Length: 6 - 11" }, "approvalCode": { "type": "string", "description": "This field, if present, must contain the approvalCode from the original AFT.", "x-variant": "| Length: 6" }, "transmissionDateTime": { "type": "string", "description": "This field must contain the transmissionDateTime from the original AFT
Example: 2016-01-15T07:03:52", "format": "date-time", "x-variant": "| YYYY-MM-DDThh:mm:ss" }, "systemsTraceAuditNumber": { "type": "integer", "description": "This field must contain the systemsTraceAuditNumber from the original AFT.", "x-variant": "| positive, Length: 6" } } }, "senderCardExpiryDate": { "type": "string", "description": "The expiration date for the sender's Visa account number in senderPrimaryAccountNumber.", "x-variant": "| YYYY-MM" }, "businessApplicationId": { "type": "string", "description": "Identifies the programs' business application type for VisaNet transaction processing

For Money Transfer, AA applies to transactions where the sender and recipient are the same person and PP applies to transactions where the sender and recipient are not the same person.

Refer to businessApplicationId codes", "x-variant": "| Length: 2" }, "transactionIdentifier": { "type": "integer", "description": "The VisaNet reference number for the transaction. You must use the transactionIdentifier from the initial AFT in this field.", "format": "int64", "x-variant": "| positive, Length: 15" }, "merchantPseudoAbaNumber": { "type": "string", "description": "This is a number that uniquely identifies the originator when they sign up to send Push Payment Gateway transactions. On enrollment, an originator will get a single pseudo-value that is assigned by Visa. The other networks will assign their own unique values for the originator.

Note:
Supported only in US for domestic transactions involving Push Payments Gateway Service.", "x-variant": "| Length: 9" }, "systemsTraceAuditNumber": { "type": "integer", "description": "A unique value should be used for each API method. however, when passing the Account Funding Transaction Reversal (AFTR) method, this value must match the systemsTraceAuditNumber previously passed with the AFT method for the current transaction.", "x-variant": "| positive, Length: 6" }, "localTransactionDateTime": { "type": "string", "format": "date-time", "x-variant": "| YYYY-MM-DDThh:mm:ss. The date and time you submit the transaction" }, "nationalReimbursementFee": { "type": "number", "description": "When present, this field contains the IRF fees.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "pointOfServiceCapability": { "type": "object", "properties": { "posTerminalType": { "type": "integer", "description": "Note: Valid values if card is present include 0, 3 and 4. If card is not present, valid value is 5.", "x-variant": "| positive, Length: totalDigits 1" }, "posTerminalEntryCapability": { "maximum": 1, "type": "integer", "description": "Note: Valid values if card is present include 0, 2 and 9. If card is not present, valid value is 1.", "x-variant": "| positive, Length: totalDigits 1" } } }, "retrievalReferenceNumber": { "type": "string", "description": "A value used to tie together service calls related to a single financial transaction. When passing Account Funding Transaction (AFT) and Original Credit Transaction (OCT) methods, this value must differ between the two methods. When passing the Account Funding Transaction Reversal (AFTR) method, this value must match the retrievalReferenceNumber previously passed with the AFT method for this transaction.

Recommended Format: ydddhhnnnnnn

The first fours digits must be a valid yddd date in the Julian date format, where the first digit = 0-9 (last digit of current year) and the next three digits = 001-366 (number of the day in the year).

hh can be the two digit hour in a 24 hour clock (00-23) during which the transaction is performed.

nnnnnn can be the systemsTraceAuditNumber or any 6 digit number.", "x-variant": "| Recommended Format:ydddhhnnnnnn(numeric characters only), Length: 12" }, "argentinaReimbursementFee": { "type": "number", "description": "Optional, when present, this field contains the Argentina member supplied reimbursement fee.
Note:
If a currency has one decimal place, the last digit of this field must be zero.
If a currency has no decimal place, the last two digits of this field must be zero.", "format": "double", "x-variant": "| Length: totalDigits 10, fractionDigits 2 (minimum value is 0, maximum value is 99999999.99)" }, "merchantVerificationValue": { "required": [ "mvvAcquirerAssigned", "mvvVisaAssigned" ], "type": "object", "properties": { "mvvVisaAssigned": { "type": "string", "description": "Visa assigned MVV value. E.g. 0A45AF", "x-variant": "| Length: 6, hexbinary format" }, "mvvAcquirerAssigned": { "type": "string", "description": "Visa assists the acquirer in assigning the last four. E.g. 98FC", "x-variant": "| Length: 4, hexbinary format" } }, "description": "Merchant Verification Value(MVV) is used to identify merchants that participate in a variety of programs. The MVV is unique to the merchant." }, "mexicoNationalServiceData": { "required": [ "reimbursementFee", "reimbursementFeeTax" ], "type": "object", "properties": { "irfType": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field contains one of the following values:
0 - Unknown/default
1 - Fixed
2 - Ad valorem (%)
3 - Composite (fixed amount and ad valorem)" }, "accountType": { "maxLength": 2, "minLength": 2, "type": "string", "description": "This field contains one of the following values:
CO - Commercial products
CR - Credit
DB - Debit
PL - Private label
PP - Prepaid" }, "irfCategoryCode": { "maxLength": 2, "minLength": 1, "type": "string", "description": "This field optionally contains any value from 00 to 99." }, "merchantFiscalId": { "maxLength": 13, "type": "string", "description": "This field contains RFC for the merchant. This is an alphanumeric field. The RFC format can be AAAANNNNNNAAA, where A is alphanumeric value and N is a numeric value." }, "reimbursementFee": { "type": "number", "description": "This field contains the Client-Calculated Interchange Reimbursement Fee in the same currency as the transaction. It must not contain zeros.", "format": "double" }, "reimbursementFeeTax": { "type": "number", "description": "This field contains the VAT calculated for the IRF applicable to the transaction. It must not contain zeros.", "format": "double" } }, "description": "Settlement Service Data object for Mexico required if transaction indicates Mexico national settlement." }, "senderPrimaryAccountNumber": { "type": "string", "description": "The primary account number of the sender's account.", "x-variant": "| Length: 13 - 19" }, "settlementServiceIndicator": { "type": "integer", "description": "This flag enables the originator to request for a particular settlement service to be used for settling the transaction.

Valid values are:
0 - International Settlement
9 - VIP to decide
8 - National Settlement

Note: The default value is 9. This field is only relevant for specific countries where the acquirer has to select 8 in order to settle in the national net settlement service. ", "x-variant": "positive | Length: totalDigits 1" }, "colombiaNationalServiceData": { "required": [ "countryCodeNationalService", "nationalNetReimbursementFeeBaseAmount" ], "type": "object", "properties": { "addValueTaxAmount": { "type": "number", "description": "This is the national government tax for added value of good or service.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "addValueTaxReturn": { "type": "number", "description": "This is base value of the IVA (Sales tax). Optional. This field indicates base value of the IVA ( Sales tax which is part of the benefit of the tax legislations for the 2% sale tax return to the cardholder.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "taxAmountConsumption": { "type": "number", "description": "This is the national consumption tax amount.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "nationalNetMiscAmount": { "type": "number", "description": "This is an amount field that contains an airport charge, cashback or a tip.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "emvTransactionIndicator": { "maxLength": 1, "type": "string", "description": "Contains one of the below valid values:
0 - Does not apply to EMV
1 - EMV transaction
2 - Fallback transaction", "x-variant": "positive | Length: 1" }, "costTransactionIndicator": { "maxLength": 1, "type": "string", "description": "Contains one of the below valid values:
0 - Not a cost inquiry amount
1 - Cost inquiry transaction", "x-variant": "positive | Length: 1" }, "nationalChargebackReason": { "type": "integer", "description": "Contains a domestic chargeback reason code.", "x-variant": "| positive,Length: totalDigits 2" }, "nationalReimbursementFee": { "type": "number", "description": "Numeric entry indicating a fee for a National Settlement transaction. It must be zeros unless the transaction is a National Settlement transaction for a country using this capability. Two decimal positions are implied.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "nationalNetMiscAmountType": { "maxLength": 1, "type": "string", "description": "It identifies the type of the miscellaneous amount – i.e. whether it is one of:
A - Airport charge
C - Cashback
T - Tip

Must be one of the above valid values if nationalNetMiscAmount > 0.

Must be skipped if nationalNetMiscAmount = 0.", "x-variant": "| Length: 1" }, "countryCodeNationalService": { "type": "integer", "description": "The acquirer's country code. Must be 170 for Colombia.", "x-variant": "| Length: 3" }, "nationalNetReimbursementFeeBaseAmount": { "type": "number", "description": "The client supplied interchange reimbursement amount expressed in the transaction currency. This must be less than the transaction amount.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" } }, "description": "Settlement Service Data object for Colombia required if transaction indicates Colombia national settlement" }, "foreignExchangeFeeTransaction": { "type": "number", "description": "When present, this field contains the sender's foreign exchange markup fee (markup above the wholesale or VisaNet exchange rate as assessed by the originator.Values in this field must be in the same currency and format as defined in the amount field(minimum value is 0).", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3" }, "senderIdentificationNumberBusiness": { "type": "string", "description": "Conditional.

This is an alphanumeric value that carries the merchant’s value-added tax (VAT) registration number or single business reference number (SBRN) for the business issued to by the government or an authorized national entity, then this field needs to be populated for Argentina domestic transaction when businessApplicationId has PS.", "x-variant": "| maxLength: 20" } } }, "ErrorResponseURL": { "type": "object", "properties": { "url": { "type": "string", "description": "Conditional. An URL of a landing page that contains participating issuers will be returned to originator if an alias cannot be found in Visa Alias Directory and HTTP status code = 404. Originator can notify unregistered recipient with this URL so that he/she can select preferred issuer for alias registration.
Note:This attribute is only applicable to selective markets, contact Visa representative for details." }, "reason": { "type": "string", "description": "Conditional. Reason of the unexpected error. This attribute will not be returned if attribute 'url' is returned." }, "message": { "type": "string", "description": "Conditional. Error description of the unexpected error. This attribute will not be returned if attribute 'url' is returned." } }, "description": "Error response data." }, "MerchandiseReturnTransactionResponse": { "required": [ "actionCode", "responseCode", "transactionIdentifier", "transmissionDateTime" ], "type": "object", "properties": { "actionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "It contains a code that defines the response to a request.
Refer to actionCode" }, "approvalCode": { "maxLength": 6, "minLength": 6, "type": "string", "description": "The authorization code from the issuer." }, "cardAcceptor": { "$ref": "#/components/schemas/CardAcceptormr" }, "responseCode": { "maxLength": 1, "minLength": 1, "type": "string", "description": "The source for the response; typically, either the recipient issuer or a Visa system. The VisaNet Response Source for the transaction" }, "settlementFlags": { "required": [ "settlementResponsibilityFlag" ], "type": "object", "properties": { "givUpdatedFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "settlementServiceFlag": { "type": "string", "description": "Possible values are:
0 - International Settlement
9 - VIP to decide
8 - National Settlement
", "x-variant": "| Length: 1, hexbinary format" }, "givPreviouslyUpdatedFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "settlementResponsibilityFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" } } }, "statusIdentifier": { "type": "string", "description": "required when call times out" }, "originalActionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "The action code of the original transaction request
Refer to actionCode
Note: This field is only present, when the request is identified as a duplicate." }, "feeProgramIndicator": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Optional field which may be populated by recipient where applicable." }, "transmissionDateTime": { "type": "string", "description": "Transmission date and time", "format": "date-time" }, "transactionIdentifier": { "type": "string", "description": "It contains a right-justified, VisaNet generated Transaction Identifier (TID)." }, "additionalTokenRespInfo": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field when present in the API response identifies if the transaction is eligible for token services. Valid token service values are: 1 (Token program).

This field will not be sent in the response if the transaction is ineligible for token services." }, "retrievalReferenceNumber": { "maxLength": 12, "minLength": 12, "type": "string", "description": "This is a key data element for matching a message to others within a given transaction set." } } }, "MultiReverseFundsTransactionPostPayload": { "required": [ "acquirerCountryCode", "acquiringBin", "localTransactionDateTime", "request" ], "type": "object", "properties": { "request": { "type": "array", "items": { "$ref": "#/components/schemas/MultiReverseFundsTransactionRequests" } }, "acquiringBin": { "type": "integer", "description": "The Bank Identification Number (BIN) under which your Visa Direct is registered. This must match the information provided during enrollment.", "x-variant": "| positive, Length: 6 - 11" }, "acquirerCountryCode": { "type": "integer", "description": "Use a 3-digit numeric country code for the country where the Visa Direct solution is registered. This must match the information provided during program enrollment.

Refer to ISO Codes", "x-variant": "| Positive, Length: 3" }, "merchantCategoryCode": { "type": "integer", "description": "If original AFT found, then the value from AFT overrides the one present in the AFTR request. If the merchantCategoryCode value is not there in original AFT then this field is populated from AFTR request.

If not present in AFT/AFTR, then the value will default to the values provided during onboarding (when the services are provisioned)Note: required if not provided during onboarding", "x-variant": "| total 4 digits " }, "businessApplicationId": { "type": "string", "description": "Identifies the programs' business application type for VisaNet transaction processing

For Money Transfer, AA applies to transactions where the sender and recipient are the same person and PP applies to transactions where the sender and recipient are not the same person.

Refer to businessApplicationId codes", "x-variant": "| Length: 2" }, "localTransactionDateTime": { "type": "string", "format": "date-time", "x-variant": "| YYYY-MM-DDThh:mm:ss. The date and time you submit the transaction" } } }, "CreateAliasRequest": { "required": [ "alias", "aliasType", "cardType", "consentDateTime", "country", "guid", "issuerName", "recipientFirstName", "recipientLastName", "recipientPrimaryAccountNumber" ], "type": "object", "properties": { "city": { "type": "string", "description": "Consumer’s city" }, "guid": { "type": "string", "description": "This attribute is uniquely used by Issuer to identify their customer (i.e. consumer cardholder).
Issuer may pass their existing unique identifier of a cardholder of their system to VAD as a guid.

For multiple aliases linked to the same PAN, same guid should be used except changing the field alias in the request payload. Below is an example:
guid abcd12345678z01, alias 85291112222
guid abcd12345678z01, alias 85288881111.

For selected countries, one alias can be linked to more than one account, e.g. one mobile can be linked to three different cards with a default card to receive money. It is recommended that issuer to use systematic naming to generate guid for easy maintenance. Below is an example of one mobile number linking to three different PANs:
alias 85291112222, guid abcd12345678z01 for PAN1 (default)
alias 85291112222, guid abcd12345678z02 for PAN2
alias 85291112222, guid abcd12345678z03 for PAN3, etc." }, "alias": { "type": "string", "description": "This attribute contains the alias data, e.g. phone number, email address, etc.
If phone number is used for alias, this should be provided in accordance with ITU-T E.164 (2010) number structure. Below are some examples of phone numbers with different country codes:
CountryCountry CodeExamples
United States11650xxxxxxx
Russia77495xxxxxxx
United Kingdom444478xxxxxxxx
Singapore65659xxxxxxx
Hong Kong8528529xxxxxxx
Kenya254254701xxxxxx

If IBAN (International Bank Account Number) is used for alias, this should be provided in accordance with ISO 13616:2007. Below is an example of IBAN:

CountryExample
IrelandIE29AIBK93115212345678
where
Country Code: IE
Check digits: 29
Bank Identifier: AIBK
Branch Identifier: 931152
Account Number:12345678
" }, "country": { "type": "string", "description": "Consumer’s country code as defined by ISO 3166, ISO 3166 alpha-2 is recommended to be used if alias may be used for QR." }, "address1": { "type": "string", "description": "Address line 1." }, "address2": { "type": "string", "description": "Address line 2." }, "cardType": { "type": "string", "description": "Card type description. Reference to Field 62.23—Product ID of available card products. e.g. Visa Platinum" }, "aliasType": { "type": "string", "description": "“01” – Phone number
“02” – Email address
“03” – National ID
“04” – IBAN (International Bank Account Number)" }, "isDefault": { "type": "string", "description": "Conditional. This attribute is to accept either 'true' or 'false'. If set as 'true', this consumer's card number will be set as the default card to receive money.
Note. This attribute is mandatory to selected markets that allow to have one alias linked to multiple accounts." }, "expiryDate": { "type": "string", "description": "Conditional. Consumer's card expiration date. Format: YYYY-MM.
Note. This attribute is only applicable to selected markets." }, "issuerName": { "type": "string", "description": "This is the Issuer name of recipient’s card" }, "postalCode": { "type": "string", "description": "Postal/Zip code of the consumer." }, "paymentType": { "type": "string", "description": "Only accept value 'PAN'." }, "accountEmail": { "type": "string", "description": "Conditional. This field should only be used for selected markets that opt to use Visa web portal for alias registration. This is a consumer email address for communications and matching purposes. If the account email does not match with existing alias mappings, the existing alias mappings will be disabled prior to creating the new alias mapping." }, "contactEmail": { "type": "string", "description": "Consumer’s contact email for communications." }, "consentDateTime": { "type": "string", "description": "Date & time when consumer has provided their consent to Issuer about the use of their personal data for VAD service. Format: YYYY-MM-DD hh:mm:ss. Local date and time should be converted to Coordinated Universal Time (UTC) before submitting this value in API request." }, "recipientLastName": { "type": "string", "description": "Consumer’s last name." }, "contactPhoneNumber": { "type": "string", "description": "Consumer’s contact phone number for communications" }, "recipientFirstName": { "type": "string", "description": "Consumer’s first name." }, "recipientMiddleName": { "type": "string", "description": "Consumer’s middle name." }, "recipientLastNameLocal": { "type": "string", "description": "Consumer’s last name in local language." }, "recipientFirstNameLocal": { "type": "string", "description": "Consumer’s first name in local language." }, "recipientMiddleNameLocal": { "type": "string", "description": "Consumer’s middle name in local language." }, "recipientPrimaryAccountNumber": { "type": "string", "description": "Consumer's card number." } }, "description": "Request payload data for creating an alias." }, "MultiPullFundsTransactionPostPayload": { "required": [ "acquirerCountryCode", "acquiringBin", "localTransactionDateTime", "request" ], "type": "object", "properties": { "request": { "type": "array", "items": { "$ref": "#/components/schemas/MultiPullFundsTransactionRequests" } }, "acquiringBin": { "type": "integer", "description": "The Bank Identification Number (BIN) under which your Visa Direct is registered. This must match the information provided during enrollment.", "x-variant": "| positive, Length: 6 - 11" }, "acquirerCountryCode": { "type": "integer", "description": "Use a 3-digit numeric country code for the country of the BIN under which your Visa Direct solution is registered. This must match the information provided during program enrollment.

Refer to ISO Codes", "x-variant": "| Length: 3" }, "merchantCategoryCode": { "type": "integer", "description": "Note: If provided, then the value overrides the one present in onboarding data. If the merchantCategoryCode value is not populated in onboarding data then this field is mandatory.

If not provided, then the value will default to the values provided during onboarding (when the services are provisioned).", "x-variant": "| Length: total 4 digits" }, "businessApplicationId": { "type": "string", "description": "Identifies the programs' business application type for VisaNet transaction processing

For Money Transfer, AA applies to transactions where the sender and recipient are the same person and PP applies to transactions where the sender and recipient are not the same person.

Refer to businessApplicationId codes", "x-variant": "| Length: 2" }, "localTransactionDateTime": { "type": "string", "format": "date-time", "x-variant": "| YYYY-MM-DDThh:mm:ss. The date and time you submit the transaction" } } }, "AdjustFundsTransactionPostResponse": { "required": [ "actionCode", "dateAndTimeTransmission", "transactionIdentifier" ], "type": "object", "properties": { "actionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "The results of the transaction request

Refer to actionCode" }, "settlementFlags": { "required": [ "settlementResponsibilityFlag" ], "type": "object", "properties": { "givUpdatedFlag": { "type": "string", "description": "Possible values are true or false" }, "settlementServiceFlag": { "maxLength": 1, "type": "string", "description": "Possible values are:
0 - International Settlement
9 - VIP to decide
8 - National Settlement
" }, "givPreviouslyUpdatedFlag": { "type": "string", "description": "Possible values are true or false" }, "settlementResponsibilityFlag": { "type": "string", "description": "Possible values are true or false" } } }, "originalActionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "The action code of the original transaction request
Refer to actionCode
Note: This field is only present, when the request is identified as a duplicate." }, "transactionIdentifier": { "type": "number", "description": "Visa transaction identifier ." }, "additionalTokenRespInfo": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field when present in the API response identifies if the transaction is eligible for token services. Valid token service values are: 1 (Token program).

This field will not be sent in the response if the transaction is ineligible for token services." }, "dateAndTimeTransmission": { "type": "string", "description": "This field contains the year, month, day, and time the transaction was processed by Visa Direct. Example: 2020-05-21T08:03:00.000Z", "format": "date-time" }, "cpsAuthorizationCharacteristicsIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Conditional
Indicates whether AFT transaction has qualified for CPS. Possible values are : F (Meets CPS/Account Funding requirements) , N (Not Qualified), T (Not Qualified)

Note:Supported only in US for CPS (Custom Payment Service). Please reach out to your Visa representative for details." } } }, "CardAcceptormrresponse": { "type": "object", "properties": { "name": { "maxLength": 25, "minLength": 1, "type": "string" }, "idCode": { "maxLength": 15, "minLength": 1, "type": "string", "description": "Recipient may replace this field with any system generated reference number internal to the recipient." }, "terminalId": { "maxLength": 8, "minLength": 1, "type": "string", "description": "Recipient may replace this field card acceptor terminal ID as defined in recipient system. If replaced by recipient Visa settlement reports would contain the value provided by recipient." } } }, "CashOutCardAcceptorResponse": { "required": [ "address", "name" ], "type": "object", "properties": { "name": { "maxLength": 25, "minLength": 1, "type": "string", "description": "Recipient can replace this field with the 'doing business as' name of merchant. Visa settlement reports would contain the value provided by recipient." }, "idCode": { "maxLength": 15, "minLength": 1, "type": "string", "description": "Retain and return same field value from the request." }, "address": { "$ref": "#/components/schemas/CashOutCardAcceptorAddressResponse" } }, "description": "It is optional for recipient to send card acceptor field in the response. However, if it is in the response, all merchant name, city and country need to be there." }, "content-1": { "type": "object", "properties": { "guid": { "type": "string", "description": "Conditional. Only applicable for consumer alias report. This attribute is uniquely used by issuer to identify their cardholders (i.e. consumer)." }, "status": { "type": "string", "description": "The status of an alias.
For consumer alias, this value can be 'ACTIVE', 'DISABLED' or 'INACTIVE'.
For merchant/agent alias, this value can be 'ACTIVE' or 'DISABLED'." }, "aliasId": { "type": "string", "description": "Conditional. Only applicable for merchant/agent alias report. This attribute is used by acquirer to uniquely identify their merchant or agent." }, "merchantId": { "type": "string", "description": "A 16 digit-number as per Mobile Push Payment Program Implementation Guide to receive payment by merchant or agent." }, "statusChangeDateTime": { "type": "string", "description": "The date and time when the status of an alias is changed. It is in Coordinated Universal Time (UTC)." } }, "description": "Depending on the selected type of alias reports, this contains a list of consumer, merchant or agent alias records." }, "CashInResponse": { "maxLength": 16, "minLength": 16, "required": [ "responseCode" ], "type": "object", "properties": { "responseCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Contains a code (also known as 'Action Code') that defines the response to a request. Refer to actionCode" }, "authIdResponse": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Contains the authorization code provided by the recipient when a transaction is approved. Visa recommends that recipient maintains uniqueness of this code for a given merchant PAN, however Visa would not maintain any checks for uniqueness. This field is to be sent as NULL if it is not populated." }, "receiverTransactionId": { "maxLength": 16, "minLength": 16, "type": "string", "description": "Acquirer may provide a transaction ID that can be used for investigation if required. This field is to be sent as NULL if it is not populated" } }, "description": "Response body for Receive Cash-In API" }, "CashOutResponse": { "maxLength": 2, "minLength": 2, "required": [ "responseCode" ], "type": "object", "properties": { "agentCity": { "maxLength": 13, "type": "string", "description": "Agent city name.
If encounter errors or the agent PAN is invalid/does not belong to the acquirer, the acquirer should send HTTP 200 with decline response code and echo back the same field content sent in the request.
Note:This field, if present, should be sent together with agentCountryCode and agentName. Otherwise none of them should be sent in the response. " }, "agentName": { "maxLength": 25, "type": "string", "description": "Contains Agent’s Doing Business as name (25 characters only). If the name is greater than 25 characters then the first 25 characters are populated.
If encounter errors or the agent PAN is invalid/does not belong to the acquirer, the acquirer should send HTTP 200 with decline response code and echo back the same field content sent in the request.
Note:This field, if present, should be sent together with agentCountryCode and agentCity. Otherwise none of them should be sent in the response." }, "responseCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Contains a code (also known as 'Action Code') that defines the response to a request. Refer to actionCode" }, "authIdResponse": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Contains the authorization code provided by the recipient when a transaction is approved. Visa recommends that recipient maintains uniqueness of this code for a given merchant PAN, however Visa would not maintain any checks for uniqueness. This field is to be sent as NULL if it is not populated." }, "agentCountryCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Conditional. Recipient may replace this field with 2-letter ISO 3166 country code of the agent, if different than the value provided by the originator. Visa settlement reports would contain the value provided by recipient. This field is to be sent as NULL if it is not populated.
Note:This field, if present, should be sent together with agentName and agentCity. Otherwise none of them should be sent in the response." }, "receiverTransactionId": { "maxLength": 16, "minLength": 16, "type": "string", "description": "Acquirer may provide a transaction ID that can be used for investigation if required. This field is to be sent as NULL if it is not populated" } }, "description": "Response body for Receive Cash-Out API" }, "PersonToMerchantRequest": { "maxLength": 28, "minLength": 25, "required": [ "decimalPositionIndicator", "encConsumerPAN", "encMerchantPAN", "localTransactionDate", "localTransactionTime", "originatorBIN", "originatorCountryCode", "retrievalReferenceNumber", "systemTraceAuditNumber", "transactionAmount", "transactionCurrencyCode", "transmissionDateTime", "visaTransactionId" ], "type": "object", "properties": { "refId": { "maxLength": 28, "type": "string", "description": "Conditional. This field is sent if it is reflected in the merchant information display. It will otherwise be sent as NULL if it is not populated." }, "billId": { "maxLength": 25, "minLength": 25, "type": "string", "description": "Conditional. This is the invoice number or some other reference for billing purposes. This field will be sent as NULL if it is not populated." }, "billIdFormat": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Conditional. Populate 0 (Primary ID, as defined by mVisa)
This field will be sent as NULL if it is not populated." }, "originatorBIN": { "maxLength": 6, "minLength": 6, "type": "string", "description": "This BIN number identifies the originator of merchant payment transaction." }, "encConsumerPAN": { "maxLength": 500, "type": "string", "description": "Consumer PAN. This is a 16-digit PAN. The field is sent in encrypted format using the AES GCM (i.e. Advanced Encryption Standard (AES) in Galois/Counter Mode (GCM) ) algorithm for JSON Web Encryption (JWE) objects with 256-bit key (i.e. the shared secret between Visa and client for encryption and decryption of payload data). The field data type will be string(16-19) after decryption." }, "encMerchantPAN": { "maxLength": 500, "type": "string", "description": "Merchant PAN. This is a 16-digit PAN. The field is sent in encrypted format using the AES GCM (i.e. Advanced Encryption Standard (AES) in Galois/Counter Mode (GCM)) algorithm for JSON Web Encryption (JWE) objects with 256-bit key (i.e. the shared secret between Visa and client for encryption and decryption of payload data). The field data type will be string(16-19) after decryption." }, "encConsumerName": { "maxLength": 500, "type": "string", "description": "Consumer name. If consumer name is greater than 30 characters, then only first 30 characters will be expected. The field is sent in encrypted format using the AES GCM (i.e. Advanced Encryption Standard (AES) in Galois/Counter Mode (GCM)) algorithm for JSON Web Encryption (JWE) objects with 256-bit key (i.e. the shared secret between Visa and client for encryption and decryption of payload data)." }, "otherPhoneNumber": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Conditional. When present, this field contains the sender's phone number. This field is applicable only for merchant payment transaction. Originator should populate the consumer mobile number if captured on the mobile app for this transaction. Data should not exceed 16 alphanumeric characters." }, "otherEmailAddress": { "maxLength": 99, "minLength": 1, "type": "string", "description": "Conditional. When present, this field contains the sender's email address. This field is applicable only for merchant payment transaction. Originator should populate the consumer email address if captured on the mobile app for this transaction. Data should not exceed 99 alphanumeric characters." }, "transactionAmount": { "maxLength": 12, "type": "string", "description": "Transaction amount in merchant currency. The value in this field includes tip or convenience fees, if applicable." }, "visaTransactionId": { "maxLength": 15, "minLength": 15, "type": "string", "description": "Numeric. It contains a right-justified, VisaNet generated Transaction Identifier (TID) that is unique for each request. The identifier links original messages to subsequent messages, such as those for exception item processing and clearing record." }, "localTransactionDate": { "maxLength": 4, "minLength": 4, "type": "string", "description": "It contains the local month and day on which the transaction was originated. The date is in mmdd format." }, "localTransactionTime": { "maxLength": 6, "minLength": 6, "type": "string", "description": "The time the transaction takes place, expressed in the local time of the originator. The time is in hhmmss format." }, "transactionFeeAmount": { "maxLength": 8, "type": "string", "description": "Conditional. In certain case the merchant display information could contain convenience fee applicable to the transaction. Originators are required to populate convenience fee amount in this field, if presented by merchant. This field will be sent as NULL if it is not populated." }, "transmissionDateTime": { "maxLength": 10, "minLength": 10, "type": "string", "description": "The date and time the request was submitted to Visa. Format: MMDDhhmmss." }, "originatorCountryCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "A 3-digit ISO-4217 code that identifies the country of the originating BIN.
Refer to ISO codes." }, "systemTraceAuditNumber": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Numeric. It is a key data element used to match a response to its request or to match a message to others for a given transaction." }, "velocityLimitIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Conditional. This field contains the velocity limit related information that Acquirer can use in making the authorization decision:
  • 1 = 1-day count or amount exceeded.
  • 2 = 7-day count or amount exceeded.
  • 3 = 30-day count or amount exceeded.
The field is populated with priority of 1, 2 and then 3.
This field is sent if recipient has opted for VisaNet to forward them the OCT when a velocity limit has been exceeded.
This field will be sent as NULL if it is not populated." }, "transactionCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The 3-digit ISO-4217 code in this field reflects the currency associated to the transactionAmount field." }, "decimalPositionIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Indicates the number of decimal positions following the amount field. This field is to be sent as NULL if it is not populated." }, "retrievalReferenceNumber": { "maxLength": 12, "minLength": 12, "type": "string", "description": "Numeric. It is a key data element for matching a message to others within a given transaction set. The same number appears in all related messages: response, advice, reversal, chargeback, chargeback reversal, or representment. The format is recommended to be ydddhhnnnnnn." } }, "description": "Request body for Receive Person-to-Merchant API" }, "MultiPushFundsTransactionRequests": { "required": [ "amount", "cardAcceptor", "localTransactionDateTime", "recipientPrimaryAccountNumber", "retrievalReferenceNumber", "senderAddress", "senderCity", "senderName", "senderPostalCode", "systemsTraceAuditNumber" ], "type": "object", "properties": { "amount": { "type": "number", "description": "The transaction amount to be delivered to the recipient.", "format": "double", "x-variant": "| Length: totalDigits: 12, fractionDigits 3" }, "surcharge": { "type": "string", "description": "When present, this field contains the sender's surcharge as assessed by the originator. Values in this field must be in the same currency and format as defined in the amount field.", "format": "double", "x-variant": "| Length: totalDigits12, fractionDigits 3 (minimum value is 0)" }, "senderCity": { "type": "string", "description": "If the transaction is a money transfer and cross-border or U.S. domestic, this field must contain the sender's city.

If the transaction is a funds disbursement and cross-border or U.S. domestic, this field must contain either the city of the merchant or government entity sending the funds disbursement.

If the transaction is a pre-paid load or credit card bill pay and U.S. domestic, this field must contain the sender's city.", "x-variant": "| Length: 1 - 25" }, "senderName": { "type": "string", "description": "Conditional.

If the transaction is a money transfer and cross-border or U.S. domestic, this field must contain the sender's name.

If the transaction is a funds disbursement and cross-border or U.S. domestic, this field must contain either the name of the merchant or government entity sending the funds disbursement.

If the transaction is a pre-paid load or credit card bill pay and U.S. domestic, this field must contain the sender's name.
Required, if the transaction will be routed to Maestro & STAR networks via Visa Push Payments Gateway Service (PPGS). If this field is sent and transaction is not routed over Maestro & STAR the field is still sent to the other networks as an optional field. PPGS uses senderName if all the following fields are available: senderName, senderFirstName, senderLastName and senderMiddleName

Recommended Format: Last Name/Family Surname 1 + Space + Last Name/Family Surname 2 (optional) + Space + First Name/Given Name + Space + Middle Initial or Middle name (optional) + space

Example: Doe John A", "x-variant": "| Length: 2 - 30" }, "accountType": { "type": "string", "description": "This is used to identify the account type of the recipientPrimaryAccountNumber in the request. Below are the possible values.

00-Not applicable
10-Saving account
20-Checking account
30-Credit card account
40-Universal account

Default is set to \"00\" if not provided.", "x-variant": "| Length: 2" }, "cardAcceptor": { "required": [ "address", "idCode", "name", "terminalId" ], "type": "object", "properties": { "name": { "type": "string", "description": "If the transaction is a money transfer, the field must contain the sender's name.

If the transaction is a funds disbursement, the field must contain either the name of the merchant or government entity sending the funds disbursement.

If the transaction is a pre-paid load, the field must contain either the name of the load partner providing the reload service or the bank designated service name, if offered over bank channels

If the transaction is a credit card bill pay, the field must contain either the name of the entity providing the credit card bill pay service or the bank designated service name, if offered over bank channels.", "x-variant": "| Length: 1 - 25" }, "idCode": { "type": "string", "description": "An identifier for the card acceptor (Visa Direct Originator). This value should be unique for each originator for whom you are sending transactions.", "x-variant": "| Length: 1 - 15" }, "address": { "required": [ "country" ], "type": "object", "properties": { "city": { "type": "string", "description": "Default is to \"VISA DIRECT\". If originator is set-up to participate in loyalty and offers programs, this can be used to populate additional information.", "x-variant": "| Length: 1 - 13" }, "state": { "type": "string", "description": "Must be the state or province of the Merchant/Originator.Note:Required if cardAcceptor:address:country is \"US\" or \"CA\".", "x-variant": "| Length: 2" }, "county": { "type": "string", "description": "Note:Must be the county of the Merchant/Originator.
Required if cardAcceptor:address:country is \"US\".", "x-variant": "| Length: 3" }, "country": { "type": "string", "description": "Valid inputs (US example in brackets [])

ISO country code (2 alpha) [example: \"US\"]

ISO country code (3 alpha) [example: \"USA\"]

ISO country code (3 numeric) [example: \"840\"].

Refer to ISO Codes", "x-variant": "| Length: 2 - 3" }, "zipCode": { "type": "string", "description": "Zip/Postal code of the money transfer operator/Originator.

Required if country is \"US\" or \"CA\".", "x-variant": "| minimum 5, maximum 9, Length: 5 - 9" } } }, "terminalId": { "type": "string", "description": "The identifier for the terminal at a card acceptor location. If sending transactions from a card not present environment, use the same value for all transactions.", "x-variant": "| Length: 1 - 8" } } }, "sourceAmount": { "type": "number", "description": "Conditional

Source Amount is required in certain markets to identify the transaction amount entered in the sender's currency code prior to FX conversion by the originating entity.", "format": "double" }, "recipientCity": { "maxLength": 25, "type": "string", "description": "Conditional

This field contains the city name of the recipient address.
Note:
It is required for cross-border transactions that are originating from or destined to Canada." }, "recipientName": { "type": "string", "description": "Recipient name is required for cross-border enhanced money transfer OCTs.", "x-variant": "| Length: minimum 1, maximum 30" }, "senderAddress": { "type": "string", "description": "If the transaction is a money transfer and cross-border or U.S. domestic, this field must contain the sender's address.

If the transaction is a funds disbursement and cross-border or U.S. domestic, this field must contain either the address of the merchant or government entity sending the funds disbursement.

If the transaction is a pre-paid load or credit card bill pay and U.S. domestic, this field must contain the sender's address.", "x-variant": "| Length: 1 - 35" }, "recipientState": { "maxLength": 3, "type": "string", "description": "Conditional.

This field contains the state or province (ISO 3166-2 subdivision) code of the recipient address.
Note:
It is required for cross-border transactions either originating from or destined to Canada with recipientCountryCode of 840(USA) or 124(CAN).
It is also required for Push Payments transactions associated with Gateway Service when recipientCountryCode is either 124(CAN) or 840(USA). (Refer to Mastercard data processing requirements) " }, "senderLastName": { "maxLength": 35, "type": "string", "description": "Conditional.

This field contains sender's last name
Required when the transaction is routed over Maestro or STAR network via the Visa Push Payments Gateway Service (PPGS). For details on when the transaction maybe routed over Maestro or STAR please check the your PPGS implementation configs or the PPGS implementation guide.

If this field is sent and transaction is not routed over Maestro & STAR the field is still sent to the other networks as an optional field." }, "senderFirstName": { "maxLength": 35, "type": "string", "description": "Conditional.

This field contains sender's first name
Required when the transaction is routed over Maestro or STAR network via the Visa Push Payments Gateway Service (PPGS). For details on when the transaction maybe routed over Maestro or STAR please check the your PPGS implementation configs and the PPGS implementation guide.

If this field is sent and transaction is not routed over Maestro & STAR the field is still sent to the other networks as an optional field." }, "senderReference": { "maxLength": 16, "type": "string", "description": "Conditional.

Required, if the transaction is a money transfer, pre-paid load, or credit card bill pay, and if the sender intends to fund the transaction with a non-financial instrument (for example, cash), a reference number unique to the sender is required.
Required, if the transaction is a funds disbursement, the field is required.
Required, if the transaction will be routed to STAR networks via Visa Push Payments Gateway Service. If this field is sent and transaction is not routed over STAR the field is still sent to the other networks as an optional field.

This field is required if senderAccountNumber is not sent.", "x-variant": "| only alphabets (a-z, A-Z) and/or numbers (0-9) allowed" }, "senderStateCode": { "type": "string", "description": "Required if SenderCountryCode is either 124(CAN) or 840(USA)", "x-variant": "| Length: 2" }, "purposeOfPayment": { "maxLength": 12, "minLength": 1, "type": "string", "description": "Conditional

This is an alphanumeric value.
Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market." }, "senderMiddleName": { "maxLength": 35, "minLength": 1, "type": "string", "description": "This field contains sender's middle name
If this field is sent it will be passed to networks, as an optional field, through which transaction is routed when using Visa Push Payments Gateway Service (PPGS)." }, "senderPostalCode": { "type": "string", "description": "When present, this field contains the sender's postal code" }, "sharingGroupCode": { "type": "string", "description": "This field is optionally used by Push Payments Gateway participants (merchants and acquirers) to specify the network access priority.

Refer to Sharing Group Code

Note:
Supported only in US for domestic transactions involving Push Payments Gateway Service.", "x-variant": "| Length: 30" }, "customerReference": { "type": "string", "description": "This is an alphanumeric value that carries the value that identifies the customer, the value may be a reference number or code or generic number. This field to be populated for Argentina domestic transaction when businessApplicationId has PS.", "x-variant": "| Length:17" }, "messageReasonCode": { "type": "integer", "description": "Contains codes that combined with some other fields such as the BAI (Business Application Id) identify some unique use cases.
For Sales Tax rebates this field should be populated with the value 5120 (Value-added tax/Sales Tax) along with the businessApplicationId field set to the value 'FD' which indicates this push funds transfer is being conducted in order to facilitate a sales tax refund.", "x-variant": "| positive, Length: 4" }, "recipientLastName": { "maxLength": 35, "type": "string", "description": "When present, this field contains recipient's last name" }, "senderCountryCode": { "type": "string", "description": "If the transaction is a money transfer and cross-border or U.S. domestic, this field must contain the sender's country code.

If the transaction is a funds disbursement and cross-border or U.S. domestic, this field must contain either the country code of the merchant or government entity sending the funds disbursement.

If the transaction is a pre-paid load or credit card bill pay and U.S. domestic, this field must contain the sender's country code.

Alpha or numeric country code can be supported.

This field is required when sending the transactions to some of the US debit networks.

Refer to ISO Codes", "x-variant": "| Length: 2 or 3" }, "senderDateOfBirth": { "type": "string", "description": "The birth date for the sender ", "x-variant": "| YYYY-MM-DD" }, "sourceOfFundsCode": { "type": "string", "description": "If the transaction is a money transfer, the field is required and must contain a valid sourceOfFundsCode code that matches the funding instrument.

If the transaction is a funds disbursement, the field is required and most likely contains a \"05\" as the sourceOfFundsCode code to identify that the merchant or government entity used a deposit account to fund the disbursement

If the transaction is a pre-paid load, the field is required if the transaction is non-U.S. domestic.

If the transaction is a credit bill pay, the field is required if the transaction is non-U.S. domestic, and the sourceOfFundsCode code must not contain a \"01\" or \"06\".

Refer to sourceOfFundsCode codes", "x-variant": "| Length: 2" }, "recipientFirstName": { "maxLength": 35, "type": "string", "description": "When present, this field contains recipient's first name" }, "sourceCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Conditional

3-character alpha or numeric currency code for currency of the sourceAmount field.

Refer to ISO Codes " }, "feeProgramIndicator": { "type": "string", "description": "Note: If present, a valid value is required. Spaces or special characters are not allowed.", "x-variant": "| alpha numeric, Length: 3" }, "recipientMiddleName": { "maxLength": 35, "minLength": 1, "type": "string", "description": "This field contains recipient's middle name" }, "recipientPostalCode": { "maxLength": 16, "type": "string", "description": "Conditional

This field contains the postal code of the recipient address.
Note:
It is required for cross-border transactions that are originating from or destined to Canada." }, "recipientStreetName": { "maxLength": 99, "type": "string", "description": "Optional.

This field contains the street name of the recipient address." }, "senderAccountNumber": { "type": "string", "description": "If the transaction is a money transfer, pre-paid load, or credit card bill pay, and if the sender intends to fund the transaction with a financial instrument (for example, debit card), and if the SenderCardId attribute is not sent, this field is required and must contain the sender's account number.

If the transaction is a funds disbursement, the field is not required.", "x-variant": "| Length: 0 - 34" }, "senderMiddleInitial": { "maxLength": 1, "type": "string", "description": "This field contains sender's middle initial" }, "recipientCountryCode": { "maxLength": 3, "minLength": 2, "type": "string", "description": "Conditional.

This field contains the ISO 3166-1 country code of the recipient address.

Refer to ISO Codes
Note:
It is required for cross-border transactions that are originating from or destined to Canada." }, "recipientAddressLine1": { "maxLength": 99, "type": "string", "description": "Conditional.

This field contains the first line of the recipient address.
Note:
It is required for cross-border transactions that are originating from or destined to Canada." }, "recipientAddressLine2": { "maxLength": 99, "type": "string", "description": "Optional.

This field contains the second line of the recipient address." }, "transactionIdentifier": { "type": "integer", "description": "The VisaNet transaction identifier. If you have previously sent an AFT, this field must include the VisaNet transaction identifier returned in the AFT response.", "format": "int64", "x-variant": "| positive, Length: 15" }, "recipientMiddleInitial": { "maxLength": 1, "type": "string", "description": "When present, this field contains recipient's middle initial" }, "merchantPseudoAbaNumber": { "type": "string", "description": "This is a number that uniquely identifies the originator when they sign up to send Push Payment Gateway transactions. On enrollment, an originator will get a single pseudo-value that is assigned by Visa. The other networks will assign their own unique values for the originator.

Note:
Supported only in US for domestic transactions involving Push Payments Gateway Service.", "x-variant": "| Length: 9" }, "recipientBuildingNumber": { "maxLength": 16, "type": "string", "description": "Optional.

This field contains the house or building number of the recipient address." }, "recipientCardExpiryDate": { "type": "string", "description": "The expiration date for the recipient's primary account number in recipientPrimaryAccountNumber", "x-variant": "| YYYY-MM" }, "systemsTraceAuditNumber": { "type": "integer", "description": "A unique value should be used for each API method. However, when passing the (AFTR) method, this value must match the systemsTraceAuditNumber previously passed with the AFT method for the current transaction.", "x-variant": "| positive, Length: 6" }, "transactionCurrencyCode": { "type": "string", "description": "Use a 3-character alpha or numeric currency code for currency of the sender. You should (unless prohibited by local law / regulation) use the billingCurrencyCode obtained from the Funds Transfer Attribute Inquiry API under Payment Account Attribute Inquiry.

Refer to ISO Codes", "x-variant": "| Length: 3" }, "localTransactionDateTime": { "type": "string", "format": "date-time", "x-variant": "| YYYY-MM-DDThh:mm:ss. The date and time you submit the transaction" }, "nationalReimbursementFee": { "type": "number", "description": "When present, this field contains the IRF fees.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "retrievalReferenceNumber": { "type": "string", "description": "A value used to tie together service calls related to a single financial transaction. When passing Account Funding Transaction (AFT) and an Original Credit Transaction (OCT) methods, this value must differ between the two methods. When passing the Account Funding Transaction Reversal (AFTR) method, this value must match the retrievalReferenceNumber previously passed with the AFT method for this transaction.

Recommended Format : ydddhhnnnnnn

The first fours digits must be a valid yddd date in the Julian date format, where the first digit = 0-9 (last digit of current year) and the next three digits = 001-366 (number of the day in the year). hh can be the two digit hour in a 24 hour clock (00-23) during which the transaction is performed.

nnnnnn can be the systemsTraceAuditNumber or any 6 digit number.", "x-variant": "| ydddhhnnnnnn(numeric characters only), Length: 12" }, "argentinaReimbursementFee": { "type": "number", "description": "Optional, when present, this field contains the Argentina member supplied reimbursement fee.
Note:
If a currency has one decimal place, the last digit of this field must be zero.
If a currency has no decimal place, the last two digits of this field must be zero.", "format": "double", "x-variant": "| Length: totalDigits 10, fractionDigits 2 (minimum value is 0, maximum value is 99999999.99)" }, "merchantVerificationValue": { "required": [ "mvvAcquirerAssigned", "mvvVisaAssigned" ], "type": "object", "properties": { "mvvVisaAssigned": { "type": "string", "description": "Visa assigned MVV value. E.g. 0A45AF", "x-variant": "| Length: 6, hexbinary format" }, "mvvAcquirerAssigned": { "type": "string", "description": "Visa assists the acquirer in assigning the last four. E.g. 98FC", "x-variant": "| Length: 4, hexbinary format" } }, "description": "Merchant Verification Value(MVV) is used to identify merchants that participate in a variety of programs. The MVV is unique to the merchant." }, "settlementServiceIndicator": { "type": "integer", "description": "This flag enables the originator to request for a particular settlement service to be used for settling the transaction.

Valid values are:
0 - International Settlement
9 - VIP to decide
8 - National Settlement

Note: The default value is 9. This field is only relevant for specific countries where the acquirer has to select 8 in order to settle in the national net settlement service. ", "x-variant": "positive | Length: totalDigits 1" }, "recipientPrimaryAccountNumber": { "type": "string", "description": "The recipient's PAN.", "x-variant": "| Length: 13 - 19" }, "recipientSubDivisionMinorCode": { "maxLength": 16, "type": "string", "description": "Optional.

This field contains the ISO subdivision minor code (for e.g. a county within a state) of the recipient address." }, "senderIdentificationNumberBusiness": { "type": "string", "description": "This is an alphanumeric value that carries the sender's identification number issued to the sender by the government or an authorized national entity. This field is to be used if the sender is a business (e.g. Disbursements)", "x-variant": "| maxLength: 20" }, "senderIdentificationNumberIndividual": { "type": "string", "description": "This is an alphanumeric value that carries the sender's identification number issued to the sender by the government or an authorized national entity or contains customer's VAT registration number for the individual tax identification. This field is to be used if the sender is an Individual (e.g. P2P payments). This field to be populated for Argentina domestic transaction when businessApplicationId has PS.", "x-variant": "| maxLength: 13" } } }, "PushFundsTransactionPostResponse": { "required": [ "actionCode", "responseCode", "transactionIdentifier", "transmissionDateTime" ], "type": "object", "properties": { "networkId": { "type": "number", "description": "Conditional.

This contains a code that identifies the network on which the transaction was processed.

Refer to Network ID

Note:
This field is returned only if it is anything other than networkId value 2.

Supported only in US for domestic transactions." }, "actionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "The results of the transaction request

Refer to action code
Note: : The VisaNet Response Code for the transaction" }, "last4ofPAN": { "type": "integer", "description": "This field contains the last four digits of the cardholder primary account number (PAN)" }, "approvalCode": { "maxLength": 6, "type": "string", "description": "The authorization code from the issuer." }, "responseCode": { "maxLength": 1, "type": "string", "description": "The source for the response; typically, either the recipient issuer or a Visa system.

Refer to response Code
Note: : The VisaNet Response Source for the transaction" }, "prepaidBalance": { "type": "string", "description": "Min Inclusive: -999999999.999

Max Inclusive: 999999999.999

Note: Applicable only for Top Up Transactions" }, "deferredOCTData": { "required": [ "requestType" ], "type": "object", "properties": { "requestType": { "maxLength": 2, "minLength": 2, "type": "string", "description": "00 : (Not a deferred OCT). This value indicates that the request is not a deferred OCT. Visa will send this value to the recipient issuer in the request. This acts as the default value if not provided in the request.

01 : (Originator hold). This value indicates that the originating acquirer has held the OCT for a period of time before sending to Visa and is requesting for Visa to treat the transaction as a deferred OCT. Visa will send this value to the recipient issuer in the request.
Note: The value of 01 is reserved for originating acquirers that meet certain conditions. Contact your regional client support representative for more information.

02 : (Visa deferred OCT hold, default interval).This value indicates that the originating acquirer is requesting Visa to apply the default holding period of 48 hours upon receipt and process the request as a deferred OCT. Visa will send this value to the recipient issuer in the request." }, "deferredDateTime": { "maxLength": 12, "minLength": 12, "type": "string", "description": "If exist, identifies when the transaction will be processed by Visa. Format of this value will be in CCYYMMDDHHMM.

CC - Current Century
YY - Year
MM - Month
DD - date
HH - Hour
MM - Minute" } }, "description": "Requesting Visa to process the request as a deferred OCT transaction." }, "settlementFlags": { "required": [ "settlementResponsibilityFlag" ], "type": "object", "properties": { "givUpdatedFlag": { "type": "string", "description": "Possible values are true or false" }, "settlementServiceFlag": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Possible values are:
0 - International Settlement
9 - VIP to decide
8 - National Settlement
" }, "givPreviouslyUpdatedFlag": { "type": "string", "description": "Possible values are true or false" }, "settlementResponsibilityFlag": { "type": "string", "description": "Possible values are true or false" } } }, "statusIdentifier": { "type": "string", "description": "Conditional This field will be part of response in case of time out scenarios and this field will be later used in GET pushfundstransactions call to see the status of original transaction that timed out." }, "originalActionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "The action code of the original transaction request
Refer to actionCode
Note: This field is only present, when the request is identified as a duplicate." }, "feeProgramIndicator": { "maxLength": 3, "minLength": 3, "type": "string" }, "transmissionDateTime": { "type": "string", "description": "This field contains the date and time the request is submitted to VisaNet.
Format: yyyy-MM-ddTHH:mm:ss.SSS
Example: 2018-11-09T22:52:46.000Z", "format": "date-time" }, "transactionIdentifier": { "type": "number", "description": "The VisaNet reference number for the transaction

Note:
transactionIdentifier is a Visa generated field that client recieves in the response message.
Note: As an exception Visa allows clients to use the transactionIdentifier received in the AFT response into the subsequent OCT message - this is to simplify matching the pull and push transaction pair and reconciliation.", "format": "int64" }, "prepaidBalanceCurrency": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Refer to ISO Codes" }, "additionalTokenRespInfo": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field when present in the API response identifies if the transaction is eligible for token services. Valid token service values are: 1 (Token program).

This field will not be sent in the response if the transaction is ineligible for token services." }, "retrievalReferenceNumber": { "type": "string", "description": "A value used to tie together service calls related to a single financial transaction. When passing Account Funding Transaction (AFT) and an Original Credit Transaction (OCT) methods, this value must differ between the two methods. When passing the Account Funding Transaction Reversal (AFTR) method, this value must match the retrievalReferenceNumber previously passed with the AFT method for this transaction.

Recommended Format : ydddhhnnnnnn

The first fours digits must be a valid yddd date in the Julian date format, where the first digit = 0-9 (last digit of current year) and the next three digits = 001-366 (number of the day in the year). hh can be the two digit hour in a 24 hour clock (00-23) during which the transaction is performed.

nnnnnn can be the systemsTraceAuditNumber or any 6 digit number.", "x-variant": "| ydddhhnnnnnn(numeric characters only), Length: 12" }, "vauRTAuthReplacementData": { "type": "object", "properties": { "vauFlag": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Possible values are : Y (replacement occurred). N (No replacements)" }, "vauAccntStatus": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Indicates C (closed account) or Q (contact cardholder)" }, "replacementCardID": { "maxLength": 28, "minLength": 1, "type": "string", "description": "The replacement pan, if it exists" }, "vauErrorReasonCode": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Conditional. If present, describes the reason the VAU failed" }, "replaceDateExpiration": { "type": "string", "description": "Replacement pan expiration date, if it exists. This is returned even if the expiration date was not passed in the request.
Format: YYYY-MM" } } }, "merchantVerificationValue": { "maxLength": 10, "minLength": 10, "type": "string", "description": "The concatenated Merchant Verification Value of Visa assigned and Acquirer assigned value is returned." } } }, "CashInRequest": { "required": [ "agentCity", "decimalPositionIndicator", "encAgentName", "encConsumerPAN", "localTransactionDate", "localTransactionTime", "originatorBIN", "originatorCountryCode", "retrievalReferenceNumber", "systemTraceAuditNumber", "transactionAmount", "transactionCurrencyCode", "transmissionDateTime", "visaTransactionId" ], "type": "object", "properties": { "agentCity": { "maxLength": 13, "type": "string", "description": "Agent city name." }, "encAgentName": { "maxLength": 500, "type": "string", "description": "Contains Agent’s Doing Business as name (25 characters only). If the name is greater than 25 characters then the first 25 characters are populated. The field is sent in encrypted format using the AES GCM (i.e. Advanced Encryption Standard (AES) in Galois/Counter Mode (GCM)) algorithm for JSON Web Encryption (JWE) objects with 256-bit key (i.e. the shared secret between Visa and client for encryption and decryption of payload data)." }, "originatorBIN": { "maxLength": 6, "minLength": 6, "type": "string", "description": "This BIN number identifies the originator of Cash-In payment transaction." }, "encConsumerPAN": { "maxLength": 500, "type": "string", "description": "Consumer PAN. This is a 16-digit PAN. The field is sent in encrypted format using the AES GCM (i.e. Advanced Encryption Standard (AES) in Galois/Counter Mode (GCM)) algorithm for JSON Web Encryption (JWE) objects with 256-bit key (i.e. the shared secret between Visa and client for encryption and decryption of payload data). The field data type will be string(16-19) after decryption." }, "otherPhoneNumber": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Conditional. When present, this field contains the sender's phone number. This field is applicable only for merchant payment transaction. Originator should populate the consumer mobile number if captured on the mobile app for this transaction. Data should not exceed 16 alphanumeric characters." }, "otherEmailAddress": { "maxLength": 99, "minLength": 1, "type": "string", "description": "Conditional. When present, this field contains the sender's email address. This field is applicable only for merchant payment transaction. Originator should populate the consumer email address if captured on the mobile app for this transaction. Data should not exceed 99 alphanumeric characters." }, "transactionAmount": { "maxLength": 12, "type": "string", "description": "Transaction amount in local currency. mVisa program rules do not permit cross border cash deposit transactions." }, "visaTransactionId": { "maxLength": 15, "minLength": 15, "type": "string", "description": "Numeric. It contains a right-justified, VisaNet generated Transaction Identifier (TID) that is unique for each request. The identifier links original messages to subsequent messages, such as those for exception item processing and clearing record." }, "localTransactionDate": { "maxLength": 4, "minLength": 4, "type": "string", "description": "It contains the local month and day on which the transaction was originated. The date is in mmdd format.", "format": "mmdd" }, "localTransactionTime": { "maxLength": 6, "minLength": 6, "type": "string", "description": "The time the transaction takes place, expressed in the local time of the originator. The time is in hhmmss format.", "format": "hhmmss" }, "transmissionDateTime": { "maxLength": 10, "minLength": 10, "type": "string", "description": "The date and time the request was submitted to Visa. Format: MMDDhhmmss.", "format": "MMDDhhmmss" }, "originatorCountryCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "A 3-digit ISO-4217 code that identifies the country of the originating BIN.
Refer to ISO codes." }, "systemTraceAuditNumber": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Numeric. It is a key data element used to match a response to its request or to match a message to others for a given transaction." }, "velocityLimitIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Conditional. This field contains the velocity limit related information that Acquirer can use in making the authorization decision:
  • 1 = 1-day count or amount exceeded.
  • 2 = 7-day count or amount exceeded.
  • 3 = 30-day count or amount exceeded.
The field is populated with priority of 1, 2 and then 3.
This field is sent if recipient has opted for VisaNet to forward them the OCT when a velocity limit has been exceeded.
This field will be sent as NULL if it is not populated." }, "transactionCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The 3-digit ISO-4217 code in this field reflects the currency associated to the transactionAmount field." }, "decimalPositionIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Indicates the number of decimal positions following the amount field. This field is to be sent as NULL if it is not populated." }, "retrievalReferenceNumber": { "maxLength": 12, "minLength": 12, "type": "string", "description": "Numeric. It is a key data element for matching a message to others within a given transaction set. The same number appears in all related messages: response, advice, reversal, chargeback, chargeback reversal, or representment. The format is recommended to be ydddhhnnnnnn." } } }, "ErrorResponse": { "type": "object", "properties": { "reason": { "type": "string", "description": "Reason of the unexpected error." }, "message": { "type": "string", "description": "Error description of the unexpected error." } }, "description": "Error response data." }, "GetAliasRequest": { "type": "object", "properties": { "guid": { "type": "string", "description": "This attribute is uniquely used by Issuer to identify their customer (i.e. consumer cardholder)." } }, "description": "Request object for get alias request." }, "MerchandiseReturnReversalTransactionResponse-1": { "required": [ "actionCode", "responseCode", "transactionIdentifier", "transmissionDateTime" ], "type": "object", "properties": { "actionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "It contains a code that defines the response to a request.
Refer to actionCode" }, "approvalCode": { "maxLength": 6, "minLength": 6, "type": "string", "description": "The authorization code from the issuer." }, "responseCode": { "maxLength": 1, "minLength": 1, "type": "string", "description": "The source for the response; typically, either the recipient issuer or a Visa system.Refer to The VisaNet Response Source for the transaction" }, "settlementFlags": { "required": [ "settlementResponsibilityFlag" ], "type": "object", "properties": { "givUpdatedFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "settlementServiceFlag": { "type": "string", "description": "Possible values are:
0 - International Settlement
9 - VIP to decide
8 - National Settlement
", "x-variant": "| Length: 1, hexbinary format" }, "givPreviouslyUpdatedFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "settlementResponsibilityFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" } } }, "statusIdentifier": { "type": "string", "description": "required when call times out" }, "feeProgramIndicator": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Optional field which may be populated by recipient where applicable." }, "transmissionDateTime": { "type": "string", "description": "Transmission date and time", "format": "date-time" }, "transactionIdentifier": { "type": "string", "description": "It contains a right-justified, VisaNet generated Transaction Identifier (TID)." }, "merchantVerificationValue": { "maxLength": 10, "type": "string", "description": "The concatenated Merchant Verification Value of Visa assigned and Acquirer assigned value is returned.", "format": "hexbinary" } } }, "CashOutAdviceRequest": { "required": [ "agentCity", "decimalPositionIndicator", "encAgentName", "encAgentPAN", "encConsumerName", "localTransactionDate", "localTransactionTime", "messageType", "originatorBIN", "originatorCountryCode", "retrievalReferenceNumber", "systemTraceAuditNumber", "transactionAmount", "transactionCurrencyCode", "transmissionDateTime", "visaTransactionId" ], "type": "object", "properties": { "agentCity": { "maxLength": 13, "type": "string", "description": "Agent city name." }, "encAgentPAN": { "maxLength": 500, "type": "string", "description": "Agent PAN. 16-digit PAN as created from the mVisa agent ID captured by the consumer from agent information display option. The field is sent in encrypted format using the AES GCM (i.e. Advanced Encryption Standard (AES) in Galois/Counter Mode (GCM)) algorithm for JSON Web Encryption (JWE) objects with 256-bit key (i.e. the shared secret between Visa and client for encryption and decryption of payload data). The field data type will be string(16-19) after decryption." }, "messageType": { "type": "string", "description": "Possible values based on Message Type Identifier are:
  • 0200 : 'Recipient Timeout'
  • 0220 : 'Advice' (STIP decline advice)
  • 0210 : 'Reject' (VIP reject)
" }, "encAgentName": { "maxLength": 500, "type": "string", "description": "Contains Agent’s Doing Business as name (25 characters only). If the name is greater than 25 characters then the first 25 characters are populated. The field is sent in encrypted format using the AES GCM (i.e. Advanced Encryption Standard (AES) in Galois/Counter Mode (GCM)) algorithm for JSON Web Encryption (JWE) objects with 256-bit key (i.e. the shared secret between Visa and client for encryption and decryption of payload data)." }, "responseCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Contains a code (also known as 'Action Code') that defines the response to a request. Refer to actionCode. This field is to be sent as NULL when messageType is 0200 - Recipient Timeout." }, "originatorBIN": { "maxLength": 6, "minLength": 6, "type": "string", "description": "This BIN number identifies the originator of Cash-Out payment transaction." }, "rejectionCode": { "maxLength": 4, "minLength": 4, "type": "string", "description": "Only populated if Advice message type is ‘Reject’. This field contains the VisaNet rejection code." }, "authIdResponse": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Contains the authorization code provided by the recipient when a transaction is approved. Visa recommends that recipient maintains uniqueness of this code for a given merchant PAN, however Visa would not maintain any checks for uniqueness. This field is to be sent as NULL if it is not populated." }, "encConsumerPAN": { "maxLength": 500, "type": "string", "description": "Consumer PAN. This is a 16-digit PAN. The field is sent in encrypted format using the AES GCM (i.e. Advanced Encryption Standard (AES) in Galois/Counter Mode (GCM)) algorithm for JSON Web Encryption (JWE) objects with 256-bit key (i.e. the shared secret between Visa and client for encryption and decryption of payload data). The field data type will be string(16-19) after decryption." }, "encConsumerName": { "maxLength": 500, "type": "string", "description": "Consumer name. If consumer name is greater than 30 characters, then only first 30 characters will be expected. The field is sent in encrypted format using the AES GCM (i.e. Advanced Encryption Standard (AES) in Galois/Counter Mode (GCM)) algorithm for JSON Web Encryption (JWE) objects with 256-bit key (i.e. the shared secret between Visa and client for encryption and decryption of payload data)." }, "agentCountryCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Conditional. Recipient may replace this field with 2-letter ISO 3166 country code of the agent, if different than the value provided by the originator. Visa settlement reports would contain the value provided by recipient. This field is to be sent as NULL if it is not populated." }, "otherPhoneNumber": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Conditional. When present, this field contains the sender's phone number. This field is applicable only for merchant payment transaction. Originator should populate the consumer mobile number if captured on the mobile app for this transaction. Data should not exceed 16 alphanumeric characters." }, "otherEmailAddress": { "maxLength": 99, "minLength": 1, "type": "string", "description": "Conditional. When present, this field contains the sender's email address. This field is applicable only for merchant payment transaction. Originator should populate the consumer email address if captured on the mobile app for this transaction. Data should not exceed 99 alphanumeric characters." }, "transactionAmount": { "maxLength": 12, "type": "string", "description": "Transaction amount in agent on currency. In case the agent currency is not the same as the consumer currency, then originator will perform currency conversion before submitting the transaction." }, "visaTransactionId": { "maxLength": 15, "minLength": 15, "type": "string", "description": "Numeric. It contains a right-justified, VisaNet generated Transaction Identifier (TID) that is unique for each request. The identifier links original messages to subsequent messages, such as those for exception item processing and clearing record." }, "localTransactionDate": { "maxLength": 4, "minLength": 4, "type": "string", "description": "It contains the local month and day on which the transaction was originated. The date is in mmdd format.", "format": "mmdd" }, "localTransactionTime": { "maxLength": 6, "minLength": 6, "type": "string", "description": "The time the transaction takes place, expressed in the local time of the originator. The time is in hhmmss format.", "format": "hhmmss" }, "transmissionDateTime": { "maxLength": 10, "minLength": 10, "type": "string", "description": "The date and time the request was submitted to Visa. Format: MMDDhhmmss.", "format": "MMDDhhmmss" }, "originatorCountryCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "A 3-digit ISO-4217 code that identifies the country of the originating BIN.
Refer to ISO codes." }, "systemTraceAuditNumber": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Numeric. It is a key data element used to match a response to its request or to match a message to others for a given transaction." }, "velocityLimitIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Conditional. This field contains the velocity limit related information that Acquirer can use in making the authorization decision:
  • 1 = 1-day count or amount exceeded.
  • 2 = 7-day count or amount exceeded.
  • 3 = 30-day count or amount exceeded.
The field is populated with priority of 1, 2 and then 3.
This field is sent if recipient has opted for VisaNet to forward them the OCT when a velocity limit has been exceeded.
This field will be sent as NULL if it is not populated." }, "transactionCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The 3-digit ISO-4217 code in this field reflects the currency associated to the transactionAmount field." }, "decimalPositionIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Indicates the number of decimal positions following the amount field. This field is to be sent as NULL if it is not populated." }, "retrievalReferenceNumber": { "maxLength": 12, "minLength": 12, "type": "string", "description": "Numeric. It is a key data element for matching a message to others within a given transaction set. The same number appears in all related messages: response, advice, reversal, chargeback, chargeback reversal, or representment. The format is recommended to be ydddhhnnnnnn." } } }, "AliasResolveResponse-1": { "required": [ "country", "recipientName", "recipientPrimaryAccountNumber" ], "type": "object", "properties": { "url": { "type": "string", "description": "Optional. An URL of a landing page that contains participating issuers will be returned to originator if an alias cannot be found in Visa Alias Directory and HTTP status code = 404. Originator can notify unregistered recipient with this URL so that he/she can select preferred issuer for alias registration.
Note:This attribute is only applicable to selective markets, originator will receive this URL instead of error JSON response for processing if HTTP status code = 404. Contact Visa's representative for details." }, "city": { "type": "string", "description": "City of the recipient. Recipient can be a consumer, merchant or agent." }, "country": { "type": "string", "description": "Country code of the recipient. As defined by ISO 3166." }, "cardType": { "type": "string", "description": "Conditional. Card type description. Reference to Field 62.23 — Product ID of available card products. e.g. Visa Platinum. Only applicable if businessApplicationId = “PP” or “CI”" }, "expiryDate": { "type": "string", "description": "Conditional. Card expiration date.
Note: This attribute is only applicable to selective markets. Please contact Visa's representative for details." }, "issuerName": { "type": "string", "description": "Conditional. This is the issuer name of recipient’s card. Only applicable if businessApplicationId = “PP” or “CI”" }, "postalCode": { "type": "string", "description": "Postal Code of the recipient. Recipient can be a consumer, merchant or agent." }, "recipientName": { "type": "string", "description": "Depending on the businessApplicationId of the request, this attribute can contain the consumer name, merchant name or agent name. Regarding consumer name, this is composed of consumer’s first, middle and last name" }, "accountLookUpInfo": { "type": "object", "properties": { "visaNetworkInfo": { "type": "array", "items": { "$ref": "#/components/schemas/PaymentAccountAttributesInquiry-1" } } } }, "recipientNameLocal": { "type": "string", "description": "This attribute contains the consumer name in the local language, if one is defined in the consumer's profile" }, "convenienceFeeAmount": { "type": "string", "description": "Conditional. The convenience fee of a fixed amount. The format of the amount is the same as defined in tag 54. Convenience amount as provided by merchant shall be passed in Field 28 of ISO or transactionFeeAmt of API message, in the Visa specifications. This attribute will only be returned if businessApplicationId=MP." }, "merchantCategoryCode": { "type": "string", "description": "Conditional. Merchant Category Code. This attribute will only be returned if businessApplicationId=MP, CO" }, "pointOfInitiationMethod": { "type": "string", "description": "Conditional. In this two-digit field, the first character indicates the method by which the data is presented by the merchant. The second character indicates whether the data is static or dynamic. Static data refers to a situation wherein same data is presented for every transaction unlike a dynamic data wherein the information is specific to a transaction.
1st Character:
“1” = QR
“2” = BLE
“3” = NFC
“4”-“9” = Reserved for future use

2nd Character:
“1” = Static
“2” = Dynamic
“3”-“9” = Reserved for future use

Example: “11” indicates QR static code, “12” indicates QR dynamic code
This attribute will only be returned if businessApplicationId=MP, CO" }, "transactionCurrencyCode": { "type": "string", "description": "Conditional. This is the transaction currency code that a merchant can accept for payment. This attribute will only be returned if businessApplicationId=MP, CO. As defined by ISO 4217." }, "convenienceFeePercentage": { "type": "string", "description": "Conditional. The percentage convenience fee, specified as numeric value from “00.01” (for 00.01%) to “99.99” (for 99.99%). Originators are required to derive the convenience fee amount and shall pass it in Field 28 of ISO or transactionFeeAmt of API message, in the Visa specifications. This attribute will only be returned if businessApplicationId=MP." }, "tipConvenienceFeeIndicator": { "type": "string", "description": "Conditional. Tip or Convenience Fee Indicator. This attribute will only be returned if businessApplicationId=MP." }, "recipientPrimaryAccountNumber": { "type": "string", "description": "Depending on the businessApplicationId of the request, this attribute can contain the consumer card number, mVisa merchant ID (16-digit) or mVisa agent ID (16-digit)." } } }, "UpdateAliasRequest-2": { "required": [ "guid" ], "type": "object", "properties": { "city": { "type": "string", "description": "Consumer's city belonging to the payment instrument" }, "guid": { "type": "string", "description": "This attribute is uniquely used by an Issuer to identify the payment instrument belonging to a consumer cardholder.
An Issuer may pass their existing unique identifier of a cardholder's payment instrument in their system to Visa Alias Directory Service as a guid.

For multiple aliases linked to the same payment instrument (e.g., PAN), the same guid should be used. For example:
guid abcd12345678z01, alias 85291112222
guid abcd12345678z01, alias 85288881111

One alias can also be linked to more than one account. For example, one phone can be linked to three different cards with one of these cards selected as the default card to receive money. It is recommended that the Issuer use systematic naming to generate a guid for easy maintenance. Below is an example of one mobile number linking to three different PANs:
alias 85291112222, guid abcd12345678z01 for PAN1 (default)
alias 85291112222, guid abcd12345678z02 for PAN2
alias 85291112222, guid abcd12345678z03 for PAN3" }, "alias": { "type": "string", "description": "This attribute contains the alias data, e.g. phone number, email address, etc.
If phone number is used for alias, this should be provided in accordance with ITU-T E.164 (2010) number structure. Below are some examples of phone numbers with different country codes:
CountryCountry CodeExamples
United States11650xxxxxxx
Ukraine38038067xxxxxxx
Belarus37537529xxxxxxx
Kazakhstan77701xxxxxxx
United Kingdom444478xxxxxxxx
Singapore65659xxxxxxx
Hong Kong8528529xxxxxxx
Kenya254254701xxxxxx

If IBAN (International Bank Account Number) is used for alias, this should be provided in accordance with ISO 13616:2007. Below is an example of IBAN:
CountryExample
IrelandIE29AIBK93115212345678
where
Country Code: IE
Check digits: 29
Bank Identifier: AIBK
Branch Identifier: 931152
Account Number:12345678
" }, "country": { "type": "string", "description": "Consumer's country code belonging to the payment instrument as defined by ISO 3166. ISO 3166 alpha-2 is recommended to be used if alias may be used for QR." }, "newGuid": { "type": "string", "description": "New unique identifier generated by the issuer if the issuer would like to change the existing guid to a new value." }, "address1": { "type": "string", "description": "Address line 1 belonging to the payment instrument" }, "address2": { "type": "string", "description": "Address line 2 belonging to the payment instrument" }, "cardType": { "type": "string", "description": "Conditional. Card type description. Reference to Field 62.23—Product ID of available card products. e.g. Visa Classic, Visa Platinum.
This field is required if recipientPrimaryAccountNumber is present in request" }, "aliasType": { "type": "string", "description": "Conditional. aliasType is required if alias is present in the request.
“01” – Phone number
“02” – Email address
“03” – National ID
“04” – IBAN (International Bank Account Number)" }, "isDefault": { "type": "string", "description": "Conditional. This attribute is to accept either 'true' or 'false'. If set as 'true', this consumer's card number will be set as the default card to receive money.
" }, "expiryDate": { "type": "string", "description": "Conditional.Consumer's card expiration date. Format: YYYY-MM.
Note. This attribute is only applicable to selected markets, e.g., Ukraine, Moldova, Georgia, Armenia, Uzbekistan, Azerbaijan, Kyrgyzstan, Tajikistan, Belarus, and Kazakhstan." }, "issuerName": { "type": "string", "description": "Conditional. This is the name of the Issuer of the consumer's card.
This field is required if recipientPrimaryAccountNumber is present in request" }, "postalCode": { "type": "string", "description": "Consumer’s postal code belonging to the payment instrument" }, "paymentType": { "type": "string", "description": "This attribute to accept paymentType as “PAN”" }, "contactEmail": { "type": "string", "description": "Consumer’s contact email for all communications" }, "originalAlias": { "type": "string", "description": "Conditional. This attribute contains the original alias data, e.g. phone number, email address, etc. The data format should follow same as that of the attribute 'alias'.
Note. This attribute is mandatory to all the markets except for United Republic of Tanzania, Zimbabwe, Ghana, Kenya, Mauritius, Nigeria, Senegal, Côte d'Ivoire." }, "consentDateTime": { "type": "string", "description": "Date & time when consumer has provided their consent to issuer about the use of their personal personal data for VAD service. Format: YYYY-MM-DD hh:nn:ss. Local date and time should be converted to Coordinated Universal Time (UTC) before submitting this value in API request." }, "originalAliasType": { "type": "string", "description": "Conditional.
“01” – Phone number
“02” – email address
“03” – National ID
“04” – IBAN (International Bank Account Number).
Note. This attribute is mandatory to to all the markets except for United Republic of Tanzania, Zimbabwe, Ghana, Kenya, Mauritius, Nigeria, Senegal, Côte d'Ivoire." }, "recipientLastName": { "type": "string", "description": "Consumer’s last name. Issuers in Ukraine, Belarus, and Kazakhstan must use only the first letter of a customer’s last name followed by a dot symbol to create or modify an alias record. For example, the alias record for customer John Smith should be created or modified by the Issuer with first and last name fields as 'John S.'" }, "contactPhoneNumber": { "type": "string", "description": "Consumer’s contact phone number for all communications" }, "recipientFirstName": { "type": "string", "description": "Consumer’s first name" }, "recipientMiddleName": { "type": "string", "description": "Consumer’s middle name" }, "recipientLastNameLocal": { "type": "string", "description": "Consumer’s last name in local language" }, "recipientFirstNameLocal": { "type": "string", "description": "Consumer’s first name in local language" }, "recipientMiddleNameLocal": { "type": "string", "description": "Consumer’s middle name in local language" }, "recipientPrimaryAccountNumber": { "type": "string", "description": "Consumer's card number" } }, "description": "Request payload for updating an alias of a consumer. Issuer can delete an optional field by sending an empty string in the attribute in the request

Note. This API only allows issuer to update data field(s) of one mapping of an alias to an account one at a time. To update data field(s) of
  • the mappings of multiple aliases linked to the same PAN; and/or
  • the mappings of one alias linked to multiple accounts
issuer is required to submit multiple API requests." }, "CashOutPushPaymentResponse": { "required": [ "actionCode", "responseCode", "retrievalReferenceNumber", "transactionIdentifier", "transmissionDateTime" ], "type": "object", "properties": { "actionCode": { "type": "string", "description": "Contains a code that defines the response to a request.
Refer to actionCode" }, "approvalCode": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Conditional. Contains the authorization code provided by the participant when a transaction is approved." }, "cardAcceptor": { "$ref": "#/components/schemas/CashOutCardAcceptorResponse" }, "responseCode": { "maxLength": 1, "minLength": 1, "type": "string", "description": "It is added by VisaNet and contains the response source/reason code that identifies the source of the field actionCode response decision." }, "statusIdentifier": { "type": "string", "description": "Required when API response times out." }, "originalActionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "The action code of the original transaction request
Refer to actionCode
Note: This field is only present, when the request is identified as a duplicate." }, "transmissionDateTime": { "type": "string", "description": "The value in response must match the value in the request.", "format": "date-time" }, "transactionIdentifier": { "maxLength": 15, "minLength": 15, "type": "string", "description": "It is added by VisaNet. It contains a right-justified, VisaNet generated Transaction Identifier (TID) that is unique for each request. The identifier links original messages to subsequent messages, such as those for exception item processing and clearing record." }, "retrievalReferenceNumber": { "maxLength": 12, "minLength": 12, "type": "string", "description": "Numeric only. Key data element for matching a message to others within a given transaction set. Value will be the same as what has been provided in the request." } } }, "UpdateAliasRequest-1": { "required": [ "guid" ], "type": "object", "properties": { "city": { "type": "string", "description": "Consumer's City" }, "guid": { "type": "string", "description": "This attribute is uniquely used by Issuer to identify their customer (i.e. consumer cardholder).
Issuer may pass their existing unique identifier of a cardholder of their system to VAD as a guid.

For multiple aliases linked to the same PAN, same guid should be used except changing the field alias in the request payload. Below is an example:
guid abcd12345678z01, alias 85291112222
guid abcd12345678z01, alias 85288881111.

For selected countries, one alias can be linked to more than one account, e.g. one mobile can be linked to three different cards with a default card to receive money. It is recommended that issuer to use systematic naming to generate guid for easy maintenance. Below is an example of one mobile number linking to three different PANs:
alias 85291112222, guid abcd12345678z01 for PAN1 (default)
alias 85291112222, guid abcd12345678z02 for PAN2
alias 85291112222, guid abcd12345678z03 for PAN3, etc." }, "alias": { "type": "string", "description": "This attribute contains the alias data, e.g. phone number, email address, etc.
If phone number is used for alias, this should be provided in accordance with ITU-T E.164 (2010) number structure. Below are some examples of phone numbers with different country codes:
CountryCountry CodeExamples
United States11650xxxxxxx
United Kingdom444478xxxxxxxx
Singapore65659xxxxxxx
Hong Kong8528529xxxxxxx
Kenya254254701xxxxxx

If IBAN (International Bank Account Number) is used for alias, this should be provided in accordance with ISO 13616:2007. Below is an example of IBAN:
CountryExample
IrelandIE29AIBK93115212345678
where
Country Code: IE
Check digits: 29
Bank Identifier: AIBK
Branch Identifier: 931152
Account Number:12345678
" }, "country": { "type": "string", "description": "Country code of the consumer as defined by ISO 3166. ISO 3166 alpha-2 is recommended to be used if alias may be used for QR." }, "newGuid": { "type": "string", "description": "New unique identifier generated by issuer for a consumer if issuer would like to change the existing guid to a new value." }, "address1": { "type": "string", "description": "Address line 1." }, "address2": { "type": "string", "description": "Address line 2." }, "cardType": { "type": "string", "description": "Conditional. Card type description. Reference to Field 62.23—Product ID of available card products. e.g. Visa Classic, Visa Platinum.
This field is required if recipientPrimaryAccountNumber is present in request" }, "aliasType": { "type": "string", "description": "“01” – Phone number
“02” – Email address
“03” – National ID
“04” – IBAN (International Bank Account Number)" }, "isDefault": { "type": "string", "description": "Conditional. This attribute is to accept either 'true' or 'false'. If set as 'true', this consumer's card number will be set as the default card to receive money.
Note. This attribute is only applicable to selected markets that allow to have one alias linked to multiple accounts." }, "expiryDate": { "type": "string", "description": "Consumer's card expiration date. Format: YYYY-MM.
Note. This attribute is only applicable to selected markets." }, "issuerName": { "type": "string", "description": "Conditional. This is the issuer name of recipient’s card.
This field is required if recipientPrimaryAccountNumber is present in request" }, "postalCode": { "type": "string", "description": "Consumer’s postal code" }, "paymentType": { "type": "string", "description": "This attribute to accept paymentType as “PAN”" }, "contactEmail": { "type": "string", "description": "Consumer’s contact email for all communications." }, "originalAlias": { "type": "string", "description": "Conditional. This attribute contains the original alias data, e.g. phone number, email address, etc. The data format should follow same as that of the attribute 'alias'.
Note. This attribute is mandatory to selected markets that allow to have one alias linked to multiple accounts." }, "consentDateTime": { "type": "string", "description": "Date & time when consumer has provided their consent to issuer about the use of their personal personal data for VAD service. Format: YYYY-MM-DD hh:nn:ss. Local date and time should be converted to Coordinated Universal Time (UTC) before submitting this value in API request." }, "originalAliasType": { "type": "string", "description": "Conditional.
“01” – Phone number
“02” – email address
“03” – National ID
“04” – IBAN (International Bank Account Number).
Note. This attribute is mandatory to selected markets that allow to have one alias linked to multiple accounts." }, "recipientLastName": { "type": "string", "description": "Last name of the consumer." }, "contactPhoneNumber": { "type": "string", "description": "Consumer’s contact phone number for all communications." }, "recipientFirstName": { "type": "string", "description": "Consumer’s first name." }, "recipientMiddleName": { "type": "string", "description": "Consumer’s middle name." }, "recipientLastNameLocal": { "type": "string", "description": "Consumer’s last name in local language." }, "recipientFirstNameLocal": { "type": "string", "description": "Consumer’s first name in local language." }, "recipientMiddleNameLocal": { "type": "string", "description": "Consumer’s middle name in local language." }, "recipientPrimaryAccountNumber": { "type": "string", "description": "Consumer's card number." } }, "description": "Request payload for updating an alias of a consumer.

Note. This API only allows issuer to update data field(s) of one mapping of an alias to an account one at a time. To update data field(s) of
  • the mappings of multiple aliases linked to the same PAN; and/or
  • the mappings of one alias linked to multiple accounts
issuer is required to submit multiple API requests." }, "AliasInquirySummary": { "required": [ "aliasesFound", "aliasesNotFound", "aliasesTotal" ], "type": "object", "properties": { "aliasesFound": { "type": "integer", "description": "Number of Aliases found" }, "aliasesTotal": { "type": "integer", "description": "Number of Aliases in request" }, "aliasesNotFound": { "type": "integer", "description": "Number of Aliases not found" } } }, "AliasResolveResponse-2": { "required": [ "country", "recipientName", "recipientPrimaryAccountNumber" ], "type": "object", "properties": { "city": { "type": "string", "description": "City of the recipient. Recipient can be a consumer, merchant or agent." }, "country": { "type": "string", "description": "Country code of the recipient. As defined by ISO 3166." }, "address1": { "type": "string", "description": "Address of the recipient (line 1)" }, "address2": { "type": "string", "description": "Address of the recipient continued (line 2)" }, "cardType": { "type": "string", "description": "Conditional. Card type description. Reference to Field 62.23 — Product ID of available card products. e.g. Visa Platinum. Only applicable if businessApplicationId = “PP” or “CI”" }, "expiryDate": { "type": "string", "description": "Conditional. Card expiration date.
Note: This attribute is only applicable to selective markets. Please contact Visa's representative for details." }, "issuerName": { "type": "string", "description": "Conditional. This is the issuer name of recipient’s card. Only applicable if businessApplicationId = “PP” or “CI”" }, "postalCode": { "type": "string", "description": "Postal Code of the recipient. Recipient can be a consumer, merchant or agent." }, "recipientName": { "type": "string", "description": "Depending on the businessApplicationId of the request, this attribute can contain the consumer name, merchant name or agent name. Regarding consumer name, this is composed of consumer’s first, middle and last name" }, "accountLookUpInfo": { "type": "object", "properties": { "visaNetworkInfo": { "type": "array", "items": { "$ref": "#/components/schemas/PaymentAccountAttributesInquiry-1" } } } }, "recipientNameLocal": { "type": "string", "description": "If available, this is composed of consumer’s first, middle and last name in local language." }, "convenienceFeeAmount": { "type": "string", "description": "Conditional. The convenience fee of a fixed amount. The format of the amount is the same as defined in tag 54. Convenience amount as provided by merchant shall be passed in Field 28 of ISO or transactionFeeAmt of API message, in the Visa specifications. This attribute will only be returned if businessApplicationId=MP." }, "merchantCategoryCode": { "type": "string", "description": "Conditional. Merchant Category Code. This attribute will only be returned if businessApplicationId=MP, CO" }, "pointOfInitiationMethod": { "type": "string", "description": "Conditional. In this two-digit field, the first character indicates the method by which the data is presented by the merchant. The second character indicates whether the data is static or dynamic. Static data refers to a situation wherein same data is presented for every transaction unlike a dynamic data wherein the information is specific to a transaction.
1st Character:
“1” = QR
“2” = BLE
“3” = NFC
“4”-“9” = Reserved for future use

2nd Character:
“1” = Static
“2” = Dynamic
“3”-“9” = Reserved for future use

Example: “11” indicates QR static code, “12” indicates QR dynamic code
This attribute will only be returned if businessApplicationId=MP, CO" }, "transactionCurrencyCode": { "type": "string", "description": "Conditional. This is the transaction currency code that a merchant can accept for payment. This attribute will only be returned if businessApplicationId=MP, CO. As defined by ISO 4217." }, "convenienceFeePercentage": { "type": "string", "description": "Conditional. The percentage convenience fee, specified as numeric value from “00.01” (for 00.01%) to “99.99” (for 99.99%). Originators are required to derive the convenience fee amount and shall pass it in Field 28 of ISO or transactionFeeAmt of API message, in the Visa specifications. This attribute will only be returned if businessApplicationId=MP." }, "tipConvenienceFeeIndicator": { "type": "string", "description": "Conditional. Tip or Convenience Fee Indicator. This attribute will only be returned if businessApplicationId=MP." }, "recipientPrimaryAccountNumber": { "type": "string", "description": "Depending on the businessApplicationId of the request, this attribute can contain the consumer card number, mVisa merchant ID (16-digit) or mVisa agent ID (16-digit)." } } }, "OriginalDataElements": { "required": [ "acquiringBin", "systemsTraceAuditNumber", "transmissionDateTime" ], "type": "object", "properties": { "acquiringBin": { "type": "integer", "description": "This field must match with the BIN previously sent in the original refund transaction." }, "approvalCode": { "maxLength": 6, "minLength": 6, "type": "string", "description": "This field, if present, must contain the approvalCode from the original refund transaction." }, "transmissionDateTime": { "type": "string", "description": "This field must contain the transmissionDateTime from the original refund transaction." }, "systemsTraceAuditNumber": { "type": "integer", "description": "This field must contain with the systemsTraceAuditNumber previously sent in the original refund transaction." } } }, "aliases": { "required": [ "alias", "aliasType", "isDefault" ], "type": "object", "properties": { "alias": { "type": "string", "description": "Conditional. This attribute contains the alias data, e.g. phone number, email address, etc.
Note. This attribute is mandatory to selected markets that allow to have one alias linked to multiple accounts." }, "aliasType": { "type": "string", "description": "Conditional.
“01” – Phone number
“02” – Email address
“03” – National ID
“04” – IBAN (International Bank Account Number).
Note. This attribute is mandatory to selected markets that allow to have one alias linked to multiple accounts." }, "isDefault": { "type": "string", "description": "Conditional. This attributes contains whether or not this is the default account to receive money.
Note. This attribute is mandatory to selected markets that allow to have one alias linked to multiple accounts." } } }, "PurchaseIdentifier": { "type": "object", "properties": { "type": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Populate 0" }, "referenceNumber": { "maxLength": 25, "type": "string", "description": "Populate this field with the Additional Data - Value 1 as defined in merchant data specification with reference to EMVCo QR specification (Merchant-Presented Mode).
Below is an example of Additional Data Field Template '62' having a value of '62150103XYZ05049999'
IDDescriptonValueComments
'62'-'01'Bill NumberXYZAdditional Data - Value 1
'62'-'05'Reference Label9999Additional Data - Value 2
" } } }, "_links": { "type": "object", "properties": { "last": { "type": "string", "description": "This attribute is the url to retrieve the content of last page of the report." }, "next": { "type": "string", "description": "This attribute is the url to retrieve the content of previous page of the report if available." }, "self": { "type": "string", "description": "This attribute is the url to retrieve the content of current page of the report." }, "first": { "type": "string", "description": "This attribute is the url to retrieve the content of first page of the report." }, "previous": { "type": "string", "description": "This attribute is the url to retrieve the content of previous page of the report if available." } }, "description": "This contains the navigation url links of the report, i.e. 'self', 'first', 'next'(if applicable),'previous'(if applicable),'last'(if applicable)." }, "CashOutCardAcceptorAddressResponse": { "required": [ "city", "country" ], "type": "object", "properties": { "city": { "maxLength": 13, "minLength": 1, "type": "string", "description": "Recipient may replace this field with the city name of merchant. Visa settlement reports would contain the value provided by recipient." }, "country": { "maxLength": 3, "minLength": 2, "type": "string", "description": "Conditional. Recipient may replace this field with the country code of the merchant, if the country code of recipient is different from originator. Visa settlement reports would contain the value provided by recipient." } } }, "CreateAliasRequest-1": { "required": [ "alias", "aliasType", "cardType", "consentDateTime", "country", "guid", "issuerName", "recipientFirstName", "recipientLastName", "recipientPrimaryAccountNumber" ], "type": "object", "properties": { "city": { "type": "string", "description": "Consumer’s city" }, "guid": { "type": "string", "description": "This attribute is uniquely used by Issuer to identify their customer (i.e. consumer cardholder).
Issuer may pass their existing unique identifier of a cardholder of their system to VAD as a guid.

For multiple aliases linked to the same PAN, same guid should be used except changing the field alias in the request payload. Below is an example:
guid abcd12345678z01, alias 85291112222
guid abcd12345678z01, alias 85288881111.

For selected countries, one alias can be linked to more than one account, e.g. one mobile can be linked to three different cards with a default card to receive money. It is recommended that issuer to use systematic naming to generate guid for easy maintenance. Below is an example of one mobile number linking to three different PANs:
alias 85291112222, guid abcd12345678z01 for PAN1 (default)
alias 85291112222, guid abcd12345678z02 for PAN2
alias 85291112222, guid abcd12345678z03 for PAN3, etc." }, "alias": { "type": "string", "description": "This attribute contains the alias data, e.g. phone number, email address, etc.
If phone number is used for alias, this should be provided in accordance with ITU-T E.164 (2010) number structure. Below are some examples of phone numbers with different country codes:
CountryCountry CodeExamples
United States11650xxxxxxx
United Kingdom444478xxxxxxxx
Singapore65659xxxxxxx
Hong Kong8528529xxxxxxx
Kenya254254701xxxxxx

If IBAN (International Bank Account Number) is used for alias, this should be provided in accordance with ISO 13616:2007. Below is an example of IBAN:

CountryExample
IrelandIE29AIBK93115212345678
where
Country Code: IE
Check digits: 29
Bank Identifier: AIBK
Branch Identifier: 931152
Account Number:12345678
" }, "country": { "type": "string", "description": "Consumer’s country code as defined by ISO 3166, ISO 3166 alpha-2 is recommended to be used if alias may be used for QR." }, "address1": { "type": "string", "description": "Address line 1." }, "address2": { "type": "string", "description": "Address line 2." }, "cardType": { "type": "string", "description": "Card type description. Reference to Field 62.23—Product ID of available card products. e.g. Visa Platinum" }, "aliasType": { "type": "string", "description": "“01” – Phone number
“02” – Email address
“03” – National ID
“04” – IBAN (International Bank Account Number)" }, "isDefault": { "type": "string", "description": "Conditional. This attribute is to accept either 'true' or 'false'. If set as 'true', this consumer's card number will be set as the default card to receive money.
Note. This attribute is mandatory to selected markets that allow to have one alias linked to multiple accounts." }, "expiryDate": { "type": "string", "description": "Conditional. Consumer's card expiration date. Format: YYYY-MM.
Note. This attribute is only applicable to selected markets." }, "issuerName": { "type": "string", "description": "This is the Issuer name of recipient’s card" }, "postalCode": { "type": "string", "description": "Postal/Zip code of the consumer." }, "paymentType": { "type": "string", "description": "Only accept value 'PAN'." }, "accountEmail": { "type": "string", "description": "Conditional. This field should only be used for selected markets that opt to use Visa web portal for alias registration. This is a consumer email address for communications and matching purposes. If the account email does not match with existing alias mappings, the existing alias mappings will be disabled prior to creating the new alias mapping." }, "contactEmail": { "type": "string", "description": "Consumer’s contact email for communications." }, "consentDateTime": { "type": "string", "description": "Date & time when consumer has provided their consent to Issuer about the use of their personal data for VAD service. Format: YYYY-MM-DD hh:mm:ss. Local date and time should be converted to Coordinated Universal Time (UTC) before submitting this value in API request." }, "recipientLastName": { "type": "string", "description": "Consumer’s last name." }, "contactPhoneNumber": { "type": "string", "description": "Consumer’s contact phone number for communications" }, "recipientFirstName": { "type": "string", "description": "Consumer’s first name." }, "recipientMiddleName": { "type": "string", "description": "Consumer’s middle name." }, "recipientLastNameLocal": { "type": "string", "description": "Consumer’s last name in local language." }, "recipientFirstNameLocal": { "type": "string", "description": "Consumer’s first name in local language." }, "recipientMiddleNameLocal": { "type": "string", "description": "Consumer’s middle name in local language." }, "recipientPrimaryAccountNumber": { "type": "string", "description": "Consumer's card number." } }, "description": "Request payload data for creating an alias." }, "GetReportResponse": { "required": [ "_links", "content" ], "type": "object", "properties": { "_links": { "$ref": "#/components/schemas/_links" }, "content": { "$ref": "#/components/schemas/content" } }, "description": "Response data when a merchant or agent alias is successfully resolved." }, "MultiPullFundsTransactionPostResponse": { "required": [ "statusIdentifier" ], "type": "object", "properties": { "networkId": { "type": "integer", "description": "This contains a code that identifies the network on which the transaction was processed.

Refer to Network ID

Note:
This field is returned only if it is anything other than networkId value 2.

Supported only in US for domestic transactions.", "x-variant": "| positive, Length: totaldigits 2" }, "memberComments": { "maxLength": 254, "minLength": 1, "type": "string", "description": "This field can be optionally used to send and receive comments by service providers. Issuers can optionally include new text in this field in the response. If the issuer does not include this field, Visa will inject the value from the request in the response and send it back to the service provider." }, "statusIdentifier": { "type": "string", "x-variant": "| required when call times out" }, "merchantVerificationValue": { "type": "string", "description": "The concatenated Merchant Verification Value of Visa assigned and Acquirer assigned value is returned.", "x-variant": "| Length: 10, hexbinary format" } } }, "DeleteMerchantAliasRequest": { "required": [ "aliasId", "merchantId" ], "type": "object", "properties": { "aliasId": { "type": "string", "description": "This attribute is uniquely used by acquirer to identify their merchant or agent." }, "merchantId": { "type": "string", "description": "A 16 digit-number as per Mobile Push Payment Program Implementation Guide to receive payment by merchant or agent." }, "isAgentAlias": { "type": "string", "description": "Optional and applicable for agent alias use only. If set as 'Y', agent alias to be created." } }, "description": "Request payload data for deleting an merchant or agent alias." }, "ErrorResponseV2": { "type": "object", "properties": { "code": { "type": "string", "description": "Error code of the unexpected error." }, "reason": { "type": "string", "description": "Reason of the unexpected error." }, "message": { "type": "string", "description": "Error description of the unexpected error." } }, "description": "Error response data." }, "GenerateReportResponse": { "type": "object", "properties": { "reportLocation": { "type": "string", "description": "A URL link that contains a report ID and a page ID. Use GetReport API to navigate and download the report." } }, "description": "Response if a report generation request is successfully processed." }, "CashOutPushPaymentPayload": { "required": [ "acquirerCountryCode", "acquiringBin", "amount", "businessApplicationId", "cardAcceptor", "localTransactionDateTime", "merchantCategoryCode", "recipientPrimaryAccountNumber", "retrievalReferenceNumber", "senderAccountNumber", "senderName", "systemsTraceAuditNumber", "transactionCurrencyCode" ], "type": "object", "properties": { "amount": { "maxLength": 12, "type": "string", "description": "Transaction amount in merchant currency. " }, "senderName": { "maxLength": 30, "minLength": 1, "type": "string", "description": "Please use consumer name to populate this field. If consumer name is greater than 30 characters, use first 30 characteres. The name must be populated using the Roman, i.e. English character set." }, "acquiringBin": { "maxLength": 11, "minLength": 6, "type": "string", "description": "BIN number identifies the originator of cash-out transaction." }, "cardAcceptor": { "$ref": "#/components/schemas/CashOutCardAcceptor" }, "senderReference": { "maxLength": 16, "type": "string", "description": "A reference number unique to the merchant. Field can be left blank." }, "acquirerCountryCode": { "type": "string", "description": "Use a 3-digit numeric country code for the country where the Visa Direct solution is registered. This must match the information provided during program enrollment. Refer to [ISO Codes](/request_response_codes#iso_country_codes)." }, "senderAccountNumber": { "maxLength": 34, "type": "string", "description": "Populate with consumer PAN. If the consumer PAN is not populated or is not valid or contains extra spaces, VisaNet will reject the transaction with reject code 494 (Field or data missing or invalid)" }, "merchantCategoryCode": { "maxLength": 4, "minLength": 4, "type": "string", "description": "Numeric only. Originators should populate 6012. If this field is not populated by the originator, it will automatically be set to the MCC value indicated during the API onboarding process. Recipient should populate the MCC of the merchant in the response message." }, "businessApplicationId": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Use CO (cash-out). This field is populated with business application identifier for the transaction. Refer to [businessApplicationId](/request_response_codes#businessApplicationId) codes" }, "systemsTraceAuditNumber": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Numeric only. It is a key data element used to match a response to its request or to match a message to others for a given transaction. The value assigned to the original request should appear in all subsequent messages for that transaction" }, "transactionCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The code in this field must always reflect the currency associated to the amount in field Amount. Use a 3-digit numeric currency code for currency. Refer to [ISO Codes](/request_response_codes#currency_codes)." }, "localTransactionDateTime": { "type": "string", "description": "The date and time the transaction takes place, expressed in the local date and time of the originator.", "format": "date-time" }, "retrievalReferenceNumber": { "maxLength": 12, "minLength": 12, "type": "string", "description": "Numeric only. Key data element for matching a message to others within a given transaction set. The same number appears in all related messages: response, advice, reversal, chargeback, chargeback reversal, or representment. It is recommended that the client populate ydddhhnnnnnn value in this field." }, "recipientPrimaryAccountNumber": { "maxLength": 19, "minLength": 13, "type": "string", "description": "Consumer PAN. 16-digit PAN as provided by the consumer to merchant." } } }, "QueryTransactionResponse": { "required": [ "acquiringBin", "actionCode", "approvalCode", "responseCode", "retrievalReferenceNumber", "statusCode", "systemsTraceAuditNumber", "transactionDate", "transactionIdentifier", "transactionTime", "transactionType" ], "type": "object", "properties": { "amount": { "maxLength": 12, "type": "string", "description": "This is the transaction amount expressed in U.S. Dollars. Derived internally.
Note: This field will not be present when requestType is 02." }, "cardType": { "maxLength": 20, "type": "string", "description": "Product type of the card on which the transaction is performed.
Valid Values include*
Credit
Debit
Prepaid.
Note: This field will not be present when requestType is 02." }, "networkId": { "maxLength": 4, "minLength": 4, "type": "string", "description": "Network ID on which the transaction was performed.
Takes the format of 000x where x is a number.
Valid Values include*
0002 - Visa/PLUS
0016 - Maestro
0003 - Interlink
0008,0010,0011,0012,0015 - Star" }, "actionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "The results of the transaction request
Refer to actionCode
Note: The VisaNet Response Code for the transaction" }, "reasonCode": { "maxLength": 60, "type": "string", "description": "The reason code description contains the reason explaining:
  • An acquirer-generated advice, reversal, cancellation, adjustment, chargeback (validation request or advice).
  • A chargeback reversal, representment (validation request or advice).
  • etc.
    Note: This field will not be present when requestType is 02." }, "statusCode": { "maxLength": 20, "minLength": 1, "type": "string", "description": "Specifies status of the transaction processing.
    Valid values are
    • COMPLETED - Transaction was processed by Visa
    • IN_PROGRESS - Transaction is in progress, being processed by Visa
    • FAILED - Transaction was received and rejected by Visa
    • PENDING - Transaction is pending for processing by Visa
    • CANCELLED - Transaction was cancelled as requested by the originating acquirer
    " }, "acquiringBin": { "type": "integer", "description": "The Bank Identification Number (BIN) under which the Visa Direct solution is registered. This must match the information provided during enrollment." }, "approvalCode": { "maxLength": 6, "minLength": 6, "type": "string", "description": "The authorization code from the issuer. A code provided by the issuer (or VIP STIP) when a transaction is approved, or a no reason to decline code is provided." }, "cardAcceptor": { "$ref": "#/components/schemas/CardAcceptor-2" }, "responseCode": { "maxLength": 1, "minLength": 1, "type": "string", "description": "The source for the response; typically, either the recipient issuer or a Visa system.
    Refer to responseCode
    Note: The VisaNet Response Source for the transaction. When the requestType is 02, this field may not be present in all responses." }, "feeProgramDesc": { "maxLength": 16, "type": "string", "description": "Short text description of the Acquirer IRF (Interchange Reimbursement Fee) indicator. (Interchange fees are paid by issuers and acquirers to each other for transactions entered into interchange and their reversals).
    Note: This field will not be present when requestType is 02." }, "processingDate": { "type": "string", "description": "The date on which VisaNet created the log (record).
    Note: This field will not be present when requestType is 02.", "format": "DD-MM-YYYY" }, "settlementDate": { "type": "string", "description": "This field contains the settlement date for the transaction processed by VisaNet.
    Note: This field will not be present when requestType is 02.", "format": "DD-MM-YYYY" }, "settlementTime": { "type": "string", "description": "This field contains the settlement time for the transaction processed by VisaNet.
    Note: The exact time of settlement may vary and is indicative only.", "format": "HH24:MM:SS" }, "reasonCodeValue": { "maxLength": 4, "minLength": 4, "type": "string", "description": "While reasonCode property explains the reason in details, reasonCodeValue property is a four digit number that corelates to reasonCode.
    Valid Values include*
    0000 - NOT APPLICABLE
    0083 - FRAUD; CARD ABSENT ENVIRONMENT.
    Note: This field will not be present when requestType is 02." }, "transactionDate": { "type": "string", "description": "The transaction date in GMT time at which the transaction was received and processed by VisaNet.", "format": "DD-MM-YYYY" }, "transactionTime": { "type": "string", "description": "The time the transaction was submitted to VisaNet.", "format": "HH24:MM:SS" }, "transactionType": { "maxLength": 30, "minLength": 2, "type": "string", "description": "Identifies the type of transaction originally sent
    Valid Values include*:
    CRED VOUCHER
    CRED REVERSAL
    CRED CHGBK
    CRED CHGBK REVERSAL
    SALES DRAFT
    SALES CHGBK
    SALES REVERSAL
    CASH DISBURSEMT
    CASH CHGBK.
    Note: This field will not be present when requestType is 02." }, "rejectReasonCode": { "type": "integer", "description": "This field contains reject reason code if the the transaction was rejected by VisaNet.
    A positive number not greater than 9999." }, "rejectReasonText": { "maxLength": 256, "type": "string", "description": "This field contains reject reason text if the transaction was rejected by VisaNet." }, "originalActionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "The action code of the original transaction request
    Refer to actionCode
    Note: This field is only present, when the request is identified as a duplicate." }, "accountNumberMasked": { "maxLength": 19, "minLength": 13, "type": "string", "description": "Contains the masked PAN number. Populated from the primary account number (PAN) contained in the original authorization request." }, "feeProgramIndicator": { "maxLength": 3, "minLength": 3, "type": "string", "description": "This field contains an interchange reimbursement fee program indicator (FPI), which is used in assessing the fee amount applied to financial transactions that were originally sent." }, "transactionStateCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Code explaining the state of the transaction.
    Note: This field will not be present when requestType is 02." }, "businessApplicationId": { "maxLength": 3, "minLength": 2, "type": "string", "description": "Business Application ID indicates to the type of Transaction that has taken place.
    Valid Values include*
    • AA - Account to Account
    • BB - Business to Business
    • BI - Money Transfer (bank-initiated)
    • CP - Card Bill Payment

    For more information visit Visa Developer Platform Documentation " }, "transactionIdentifier": { "maxLength": 15, "type": "string", "description": "The VisaNet reference number for the transaction. This is the same transactionIdentifier previously received in the response for PullFunds, PushFunds or ReverseFunds transaction API calls." }, "currencyConversionRate": { "maxLength": 16, "type": "string", "description": "Currency conversion rate taken place at Acquirer's end.
    Note: This field will not be present when requestType is 02." }, "systemsTraceAuditNumber": { "maxLength": 6, "minLength": 6, "type": "string", "description": "A number assigned by the message initiator that uniquely identifies a transaction. This is the same as systemsTraceAuditNumber previously sent in the request for the PullFunds, PushFunds or ReverseFunds transaction API calls." }, "transactionCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "3-character numeric currency code of the transaction." }, "retrievalReferenceNumber": { "maxLength": 12, "minLength": 12, "type": "string", "description": "A value used to tie together service calls related to a single financial transaction. This is the same as retrievalReferenceNumber previously sent in the request for PullFunds, PushFunds or ReverseFunds transaction API calls." }, "amountInTransactionCurrency": { "maxLength": 12, "type": "string", "description": "This is the transaction amount in original transaction currency." }, "productIdentifierPlatformCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Product Identifier Platform Code.
    Valid Values include*
    BZ - Business
    CN - Consumer
    CO - Commercial
    GV - Government.
    Note: This field will not be present when requestType is 02." } } }, "CardAcceptormrr": { "type": "object", "properties": { "name": { "maxLength": 25, "minLength": 1, "type": "string", "description": "This must be the same value as in the original response." }, "idCode": { "maxLength": 15, "minLength": 1, "type": "string", "description": "This field must match with the Id Code previously sent in the original refund transaction." }, "address": { "$ref": "#/components/schemas/CardAcceptorAddressmrr" }, "terminalId": { "maxLength": 8, "minLength": 1, "type": "string", "description": "Conditional. Originators can drop this field only when the acquiring BIN is mVisa enabled." } }, "description": "This must be the same value as in the original response." }, "ReceiveOctRequest": { "required": [ "businessApplicationId", "encRecipientPAN", "localTransactionDate", "localTransactionTime", "merchantCategoryCode", "originatorBIN", "originatorCountryCode", "retrievalReferenceNumber", "systemTraceAuditNumber", "transactionAmount", "transactionCurrencyCode", "transmissionDateTime", "visaTransactionId" ], "type": "object", "properties": { "refId": { "maxLength": 28, "type": "string", "description": "This field is sent if it is reflected in the merchant information display. It will otherwise be sent as NULL if it is not populated." }, "senderData": { "required": [ "encSenderName", "encSenderPAN" ], "type": "object", "properties": { "senderCity": { "maxLength": 25, "type": "string", "description": "Contains the city of the entity funding the transaction." }, "senderState": { "maxLength": 2, "type": "string", "description": "Contains the geographical state or province of the entity funding the transaction." }, "encSenderPAN": { "maxLength": 500, "type": "string", "description": "This field contains the sender account number.

    The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be Numeric(16-19) after decyption." }, "encSenderName": { "maxLength": 500, "type": "string", "description": "Contains consumer name. If consumer name is greater than 30 characters, then only first 30 characters will be expected.

    The field is sent in encrypted format which the recipient must decrypt using the instructions provided." }, "senderAddress": { "maxLength": 35, "type": "string", "description": "Contains the address of the entity funding the transaction" }, "senderCountry": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Contains the country of the entity funding the transaction. Format: 3-digit ISO country code." }, "senderPostalCode": { "maxLength": 10, "minLength": 5, "type": "string", "description": "Contains the Postal Code of the entity funding the transaction." }, "encSenderLastName": { "maxLength": 500, "type": "string", "description": "This field contains sender's Last name.

    The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be String(1-35) after decryption." }, "encSenderFirstName": { "maxLength": 500, "type": "string", "description": "This field contains sender's first name.

    The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be String(1-35) after decryption." }, "encSenderMiddleName": { "maxLength": 500, "type": "string", "description": "This field contains sender's middle name.

    The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be String(1-35) after decryption." }, "encSenderDateOfBirth": { "maxLength": 500, "type": "string", "description": "This subfield contains the sender date of birth." }, "senderIdentificationList": { "type": "array", "description": "Identification list of sender. We have a current limitation that sender ID and recipient ID information are mutually exclusive. If both sender ID and recipient ID are sent in the same request, only sender ID related information will be sent to the issuer. \nAdditionally, only 1 instance of ID per sender or recipient is currently supported. If more than one instance is provided, only the first instance will be forwarded to the issuer.", "items": { "type": "object", "properties": { "idType": { "maxLength": 4, "minLength": 1, "type": "string", "description": "This field will contain the type of sender identification. The valid values are: \n CUID - Customer identification - unspecified \n NTID - National identification\n PASN - Passport number\n DRLN - Driver license\n TXIN - Tax identification \n CPNY - Company registration number\n PRXY - Proxy identification \n SSNB - Social security number \n ARNB - Alien registration number \n LAWE - Law enforcement identification \n MILI - Military identification \n TRVL - Travel identification - non-passport \n EMAL - Email\n PHON - Phone number", "x-variant": "| enumeration" }, "encIdNumber": { "maxLength": 500, "type": "string", "description": "This field will contain an acquirer-populated value associated with the Identification Type in field idType. Note that this field is encrypted. The decrypted value will have a max length of 35 characters." }, "idOwnerType": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field denotes whether the Tax ID is a business or individual's Tax ID when idType contains the value of TXIN (Tax identification).\nThe valid values are : \nB (Business) \nI (Individual)" }, "idIssueCountry": { "maxLength": 3, "minLength": 3, "type": "string", "description": "This tag will contain the 3-digit ISO country code of the ID issuing country." } } } } } }, "accountType": { "maxLength": 2, "type": "string", "description": "A 2-digit code identifying the account type affected by this transaction or from which an account transfer is made." }, "cardAcceptor": { "required": [ "address", "idCode", "name", "terminalId" ], "type": "object", "properties": { "name": { "type": "string", "description": "The sender name.", "x-variant": "| Length: 1 - 25" }, "idCode": { "type": "string", "description": "Contains an alphanumeric code that identifies the card acceptor for defining the point of service terminal in local and interchange environments. An acquirer-assigned code identifying the card acceptor for the transaction. Depending on the acquirer and merchant billing and reporting requirements, the code can represent a merchant, a merchant location, or a merchant location terminal.", "x-variant": "| Length: 1 - 15" }, "address": { "required": [ "city", "country" ], "type": "object", "properties": { "city": { "type": "string", "description": "The name of the city where the customer transaction occurs.", "x-variant": "| Length: 13" }, "state": { "type": "string", "description": "This subfield is omitted when not applicable and no ZIP code is present.", "x-variant": "| Length: 2" }, "county": { "type": "string", "description": "This subfield is omitted when not applicable and no ZIP code is present.

    The subfield is present when:
    It may contain a county code when applicable and a ZIP or postal code is present.
    It contains zeros when not applicable and a ZIP or postal code is present.
    For a U.S. card acceptor, it contains a 3-digit numeric county code as defined in FIPS PUB 6.3, 1979 (Federal Information Processing Standards Publication—Counties and County Equivalents of the States of the United States).
    This subfield does not apply to Canadian transactions. It must be zero-filled by Canadian card acceptors that are providing a postal code", "x-variant": "| Length: 2" }, "country": { "type": "string", "description": "The 2-character alpha code for the country where the customer transaction occurs.", "x-variant": "| Length: 2" }, "postalCode": { "type": "string", "description": "This subfield is omitted if not applicable.", "x-variant": "| Length: 14" } } }, "terminalId": { "type": "string", "description": "Contains a code that identifies a terminal at the card acceptor location, by itself or in conjunction with Card Acceptor Identification Code, when the value is not unique to a terminal.", "x-variant": "| Length: 1 - 8" }, "legalBusinessName": { "maxLength": 25, "minLength": 1, "type": "string", "description": "Acceptor’s legal business name associated with the card acceptor identification code for money transfer OCTs. This field is conditionally required for all Money Transfer OCTs" }, "paymentFacilitator": { "type": "object", "properties": { "id": { "maxLength": 11, "minLength": 1, "type": "string", "description": "Marketplace ID or Payment Facilitator's ID. This field is conditionally required when a payment facilitator is involved." }, "name": { "maxLength": 25, "minLength": 1, "type": "string", "description": "Payment facilitator name in OCTs. This field is conditionally required when a payment facilitator is involved." }, "subMerchantId": { "maxLength": 15, "minLength": 1, "type": "string", "description": "Sub-Merchant ID containing the sponsored merchant ID. This field is conditionally required when a payment facilitator is involved." } } } } }, "sourceAmount": { "maxLength": 12, "minLength": 1, "type": "string", "description": "This field identifies the transaction amount entered in the sender's currency code prior to FX conversion by the originating entity. This field is applicable for India only." }, "originatorBIN": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Identifies the originator of the merchant payment transaction." }, "recipientData": { "type": "object", "properties": { "recipientCity": { "maxLength": 25, "type": "string", "description": "This field contains recipient's city." }, "recipientState": { "maxLength": 3, "type": "string", "description": "This field contains recipient's address state." }, "encRecipientName": { "maxLength": 500, "type": "string", "description": "This field contains recipient's name" }, "recipientCountry": { "maxLength": 10, "type": "string", "description": "This field contains recipient's country." }, "recipientPostalCode": { "maxLength": 16, "type": "string", "description": "This field contains recipient's address postal code." }, "encRecipientLastName": { "maxLength": 500, "type": "string", "description": "This field contains recipient's Last name.

    The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be String(1-35) after decryption." }, "encRecipientFirstName": { "maxLength": 500, "type": "string", "description": "This field contains recipient's first name.

    The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be String(1-35) after decryption." }, "encRecipientMiddleName": { "maxLength": 500, "type": "string", "description": "This field contains recipient's middle name.

    The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be String(1-35) after decryption." }, "encRecipientStreetName": { "maxLength": 600, "type": "string", "description": "This field contains recipient's street name.

    The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be String(1-99) after decryption." }, "encRecipientAddressLine1": { "maxLength": 600, "type": "string", "description": "This field contains recipient's 1st line of address.

    The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be String(1-99) after decryption." }, "encRecipientAddressLine2": { "maxLength": 600, "type": "string", "description": "This field contains recipient's 2nd line of address.

    The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be String(1-99) after decryption." }, "encRecipientBuildingNumber": { "maxLength": 600, "type": "string", "description": "This field contains recipient's building number.

    The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be String(1-16) after decryption." }, "recipientIdentificationList": { "type": "array", "description": "Identification list of reciepint. We have a current limitation that sender ID and recipient ID information are mutually exclusive. If both sender ID and recipient ID are sent in the same request, only sender ID related information will be sent to the issuer. \nAdditionally, only 1 instance of ID per sender or recipient is currently supported. If more than one instance is provided, only the first instance will be forwarded to the issuer.", "items": { "type": "object", "properties": { "idType": { "maxLength": 4, "minLength": 1, "type": "string", "description": "This field will contain the type of reciepint identification. The valid values are: \n CUID - Customer identification - unspecified \n NTID - National identification\n PASN - Passport number\n DRLN - Driver license\n TXIN - Tax identification \n CPNY - Company registration number\n PRXY - Proxy identification \n SSNB - Social security number \n ARNB - Alien registration number \n LAWE - Law enforcement identification \n MILI - Military identification \n TRVL - Travel identification - non-passport \n EMAL - Email\n PHON - Phone number", "x-variant": "| enumeration" }, "encIdNumber": { "maxLength": 500, "type": "string", "description": "This field will contain an acquirer-populated value associated with the Identification Type in field idType. Note that this field is encrypted. The decrypted value will have a max length of 35 characters." }, "idOwnerType": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field denotes whether the Tax ID is a business or individual's Tax ID when idType contains the value of TXIN (Tax identification).\nThe valid values are : \nB (Business) \nI (Individual)" }, "idIssueCountry": { "maxLength": 3, "minLength": 3, "type": "string", "description": "This tag will contain the 3-digit ISO country code of the ID issuing country." } } } }, "recipientSubDivisionMinorCode": { "maxLength": 16, "type": "string", "description": "This field contains recipient's address subdivision minor code." } } }, "sourceOfFunds": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Indicates the method used by the sender to fund an enhanced OCT.

    The tag is required in all domestic and cross-border enhanced money transfer OCTs destined to U.S. recipient issuers.
    Values are:
    01 = Visa credit
    02 = Visa debit
    03 = Visa prepaid
    04 = Cash
    05 = Debit/deposit access accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATM cards)
    06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)" }, "amountSurcharge": { "type": "integer", "description": "In certain case the merchant display information could contain convenience fee applicable to the transaction.

    Originators are required to populate convenience fee amount in this field, if presented by merchant.

    This field will be sent as NULL if it is not populated." }, "encRecipientPAN": { "maxLength": 500, "type": "string", "description": "16-digit PAN created from the Visa Direct merchant ID as captured by the consumer from the merchant information display. The field is sent in encrypted format which the recipient must decrypt using the instructions provided. The field data type will be Numeric(16-19) after decryption." }, "purposeOfPayment": { "maxLength": 12, "minLength": 1, "type": "string", "description": "Purpose of payment is provided for certain markets to clearly identify the purpose of the payment based on the standard values defined for respective markets." }, "settlementAmount": { "maxLength": 12, "minLength": 1, "type": "string", "description": "This field contains the transaction amount converted to settlement currency." }, "sourceAmountSign": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field will contain the value of C (Positive balance). This field is applicable for India only." }, "sourceAmountType": { "maxLength": 2, "minLength": 2, "type": "string", "description": "This field will contain a value of 45 (Amount, pre-currency conversion). When present in an OCT message, this is the original amount sent by the sender prior to currency conversion. This field is applicable for India only." }, "messageReasonCode": { "type": "integer", "description": "Contains codes that combined with some other fields such as the BAI (Business Application Id) identify some unique use cases. For Sales Tax rebates this field should be populated with the value 5120 (Value-added tax/Sales Tax) along with the businessApplicationId field set to the value 'FD' which indicates this push funds transfer is being conducted in order to facilitate a sales tax refund." }, "panExpirationDate": { "maxLength": 4, "minLength": 4, "type": "string", "description": "The year and the month after which the card expires. The date is in yymm numeric format, where yy = year (00-99) and mm = month (01-12)." }, "sourceAccountType": { "maxLength": 2, "minLength": 2, "type": "string", "description": "This field will contain the value of 00 (Not applicable or not specified). This field is applicable for India only." }, "transactionAmount": { "maxLength": 12, "type": "string", "description": "Transaction amount in merchant currency." }, "visaTransactionId": { "maxLength": 15, "minLength": 15, "type": "string", "description": "It is added by VisaNet

    It contains a right-justified, VisaNet generated Transaction Identifier (TID) that is unique for each request. The identifier links original messages to subsequent messages, such as those for exception item processing and clearing record PCR/BIN Flag for receiving this field must be turned on for this." }, "pointOfServiceData": { "required": [ "panEntryMode", "posConditionCode" ], "type": "object", "properties": { "panEntryMode": { "type": "integer", "description": "A 2-digit code that identifies the method used to enter the cardholder account number and card expiration date. This code specifies whether the entire magnetic stripe is included in an authorization or financial request.", "x-variant": "| positive, Length: totaldigits 2" }, "motoECIIndicator": { "maxLength": 2, "type": "string", "description": "This 2-digit code identifies the level of security used in an electronic commerce transaction over an open network (for example, the Internet) or the type of mail or telephone order.

    Acquirers supply indicator values, which V.I.P. forwards in requests and advices to issuers that have successfully tested to receive them. The subfield is dropped if issuers have not successfully completed testing or choose not to receive it.", "x-variant": "| Length: 2" }, "posConditionCode": { "type": "integer", "description": "Contains a code identifying transaction conditions at the point of sale or point of service. For messages that follow an original request, this code identifies the type of processing being done.", "x-variant": "| positive,Length: totalDigits 2" }, "specialConditionIndicatorMerchant": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Cryptocurrency indicator with the value of “7” can be used to identify the purchase of cryptocurrency, thereby providing greater visibility to the issuers." } } }, "purchaseIdentifier": { "type": "object", "properties": { "type": { "maxLength": 1, "type": "string" }, "referenceNumber": { "maxLength": 25, "type": "string" } }, "description": "This is the invoice number or some other reference for billing purposes.

    E.G. For Airtime top up, this should contain the MSISDN that is being topped up.

    This field will be sent as NULL if it is not populated." }, "settlementConvRate": { "maxLength": 11, "minLength": 1, "type": "string", "description": "This field contains the rate used by VisaNet to convert the transaction amount to settlement amount." }, "settlementCurrency": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The 3-digit ISO-4217 code in this field reflects the currency associated to the settlementAmount field." }, "sourceCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The 3-digit ISO-4217 code in this field reflects the currency associated to the sourceAmount field. This field is applicable for India only." }, "feeProgramIndicator": { "maxLength": 3, "minLength": 3, "type": "string", "description": "This field contains an interchange reimbursement fee program indicator (FPI), which is used in assessing the fee amount applied to:
    U.S. financial transactions.
    Canada financial transactions.
    Regional AP or domestic AP financial and non-financial transactions.
    Domestic CEMEA financial and non-financial transactions.
    Interregional transactions." }, "localTransactionDate": { "maxLength": 4, "minLength": 4, "type": "string", "description": "It contains the month and day on which the transaction was originated. The date is in mmdd format.", "format": "mmdd" }, "localTransactionTime": { "maxLength": 6, "minLength": 6, "type": "string", "description": "The time the transaction takes place, expressed in the local time of the originator. The time is in hhmmss format.", "format": "hhmmss" }, "merchantCategoryCode": { "maxLength": 4, "minLength": 4, "type": "string", "description": "Contains a code describing the merchant's type of business product or service, also known as the merchant category code (MCC). These codes are based on the Merchant Classification Code Guideline available from the Bank Card Division of the ABA.Codes are listed in the Visa Core Rules and Visa Product and Service Rules, as amended by additions and changes published in VisaNet Business Enhancements and in Technical Letters for clients." }, "transmissionDateTime": { "maxLength": 10, "minLength": 10, "type": "string", "description": "Format: MMDDhhmmss.", "format": "MMDDhhmmss" }, "businessApplicationId": { "maxLength": 2, "type": "string", "description": "Business Application Identifier." }, "originatorCountryCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "A 3-digit ISO-4217 code that identifies the country of the originating BIN." }, "senderReferenceNumber": { "maxLength": 16, "type": "string", "description": "Contains a transaction reference number that is provided by the originator or acquirer and can be used to uniquely identify the entity funding the transaction." }, "systemTraceAuditNumber": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Numeric. It is a key data element used to match a response to its request or to match a message to others for a given transaction." }, "velocityLimitIndicator": { "type": "integer", "description": "This field contains the velocity limit related information that Acquirer can use in making the authorization decision:
    1 = 1 day count or amount exceeded
    2 = 7 day count or amount exceeded
    3 = 30 day count or amount exceeded
    The field is populated with priority of 1, 2 and then 3.
    This field is sent if recipient has opted for VisaNet to forward them the OCT when a velocity limit has been exceeded.
    This field will be sent as NULL if it is not populated." }, "additionalTokenRespInfo": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field when present in the API request identifies if the transaction is eligible for token services. Valid token service values are: 1 (Token program).

    This field will not be sent in the request if the transaction is ineligible for token services." }, "cardholderBillingAmount": { "maxLength": 12, "minLength": 1, "type": "string", "description": "This field contains the transaction amount converted to the currency used to bill the cardholder's account." }, "transactionCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The 3-digit ISO-4217 code in this field reflects the currency associated to the transactionAmount field." }, "nationalReimbursementFee": { "type": "integer", "description": "Contains the member-calculated interchange reimbursement fee (IRF) for countries using this capability.

    This numeric value must be expressed in the local currency specified by the currency code in field nationalReimbursementCurrency.

    No decimal point appears in this field. The decimal place is assumed based on the currency." }, "pointOfServiceCapability": { "required": [ "pinEntryCapability", "posTerminalEntryCapability", "posTerminalType" ], "type": "object", "properties": { "posTerminalType": { "maxLength": 1, "type": "string", "description": "This 1-digit code identifies the basic POS electronic terminal category." }, "pinEntryCapability": { "maxLength": 1, "type": "string", "description": "A 1-digit code that identifies the capability of terminal to capture PINs. This code does not necessarily mean that a PIN was entered or is included in this message." }, "posTerminalEntryCapability": { "maxLength": 1, "type": "string", "description": "This 1-digit code identifies the capability of the terminal to electronically read account numbers (and expiration dates) from cards." } } }, "retrievalReferenceNumber": { "maxLength": 12, "minLength": 12, "type": "string", "description": "It is a key data element for matching a message to others within a given transaction set. The same number appears in all related messages: response, advice, reversal, chargeback, chargeback reversal, or representment. The format is recommended to be ydddhhnnnnnn" }, "cardholderBillingConvRate": { "maxLength": 11, "minLength": 1, "type": "string", "description": "This field contains the rate used by VisaNet to convert the transaction amount to cardholder billing amount." }, "cardholderBillingCurrency": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The 3-digit ISO-4217 code in this field reflects the currency associated to the cardholderBillingAmount field." }, "merchantVerificationValue": { "maxLength": 10, "type": "string", "description": "Contains the Merchant Verification Value (MVV) used to identify merchants that participate in a variety of programs. The MVV is unique to the merchant. Visa assigns the first six positions and assists the acquirer in assigning the last four. Acquirers and issuers must have successfully completed testing to receive this field. The MVV is not necessarily part of CPS." }, "nationalReimbursementCurrency": { "type": "integer", "description": "A code that identifies the currency of the amount in field transactionAmount.

    The 3-digit country code must be a numeric ISO country code" }, "cpsAuthorizationCharacteristicsIndicator": { "maxLength": 1, "type": "string", "description": "A code used by the acquirer to request CPS qualification. If applicable, V.I.P. changes the code to reflect the results of its CPS evaluation." } } }, "GetAliasResponse": { "required": [ "cardType", "country", "guid", "issuerName", "recipientFirstName", "recipientLastName", "recipientPrimaryAccountNumber" ], "type": "object", "properties": { "city": { "type": "string", "description": "Consumer’s city" }, "guid": { "type": "string", "description": "This attribute is uniquely used by Issuer to identify their customer (i.e. consumer cardholder).
    Issuer may pass their existing unique identifier of a cardholder of their system to VAD as a guid.

    For multiple aliases linked to the same PAN, same guid should be used except changing the field alias in the request payload. Below is an example:
    guid abcd12345678z01, alias 85291112222
    guid abcd12345678z01, alias 85288881111.

    For selected countries, one alias can be linked to more than one account, e.g. one mobile can be linked to three different cards with a default card to receive money. It is recommended that issuer to use systematic naming to generate guid for easy maintenance. Below is an example of one mobile number linking to three different PANs:
    alias 85291112222, guid abcd12345678z01 for PAN1 (default)
    alias 85291112222, guid abcd12345678z02 for PAN2
    alias 85291112222, guid abcd12345678z03 for PAN3, etc." }, "alias": { "type": "string", "description": "Conditional. This field will not be returned if the object 'aliases' presents.
    This attribute contains the alias data, e.g. phone number, email address, etc.
    If phone number is used for alias, this should be provided in accordance with ITU-T E.164 (2010) number structure. Below are some examples of phone numbers with different country codes:
    CountryCountry CodeExamples
    United States11650xxxxxxx
    Russia77495xxxxxxx
    United Kingdom444478xxxxxxxx
    Singapore65659xxxxxxx
    Hong Kong8528529xxxxxxx
    Kenya254254701xxxxxx

    If IBAN (International Bank Account Number) is used for alias, this should be provided in accordance with ISO 13616:2007. Below is an example of IBAN:
    CountryExample
    IrelandIE29AIBK93115212345678
    where
    Country Code: IE
    Check digits: 29
    Bank Identifier: AIBK
    Branch Identifier: 931152
    Account Number:12345678
    " }, "status": { "type": "string", "description": "The status of an alias. For consumer alias, this value can be 'INACTIVE', 'ACTIVE', or 'DISABLED'. For merchant/agent alias, this value can be 'ACTIVE' or 'DISABLED'.
    Note: This attribute is only applicable to selective markets. Please contact Visa's representative for details." }, "aliases": { "$ref": "#/components/schemas/aliases" }, "country": { "type": "string", "description": "Consumer’s country code as defined by ISO 3166." }, "address1": { "type": "string", "description": "Address line 1." }, "address2": { "type": "string", "description": "Address line 2." }, "cardType": { "type": "string", "description": "Card type description. Reference to Field 62.23—Product ID of available card products. e.g. Visa Classic, Visa Platinum" }, "aliasType": { "type": "string", "description": "Conditional. This field will not be returned if the object 'aliases' presents.
    “01” – Phone number
    “02” – Email address
    “03” – National ID
    “04” – IBAN (International Bank Account Number)" }, "expiryDate": { "type": "string", "description": "Conditional. Card expiration date.
    Note: This attribute is only applicable to selective markets. Please contact Visa's representative for details." }, "issuerName": { "type": "string", "description": "This is the Issuer name of recipient’s card" }, "postalCode": { "type": "string", "description": "Consumer’s postal code" }, "contactEmail": { "type": "string", "description": "Consumer’s contact email for all communications." }, "consentDateTime": { "type": "string", "description": "Date & time when consumer has provided their consent to Issuer about the use of their personal personal data for VAD service. Format: YYYY-MM-DD hh:nn:ss.
    It is in Coordinated Universal Time (UTC)." }, "recipientLastName": { "type": "string", "description": "Last name of the consumer." }, "contactPhoneNumber": { "type": "string", "description": "Consumer’s contact phone number for all communications." }, "recipientFirstName": { "type": "string", "description": "Consumer’s first name." }, "recipientMiddleName": { "type": "string", "description": "Consumer’s middle name." }, "statusChangeDateTime": { "type": "string", "description": "The date and time when the status of an alias is changed. It is in Coordinated Universal Time (UTC).
    Note: This attribute is only applicable to selective markets. Please contact Visa's representative for details." }, "recipientLastNameLocal": { "type": "string", "description": "Consumer’s last name in local language." }, "recipientFirstNameLocal": { "type": "string", "description": "Consumer’s first name in local language." }, "recipientMiddleNameLocal": { "type": "string", "description": "Consumer’s middle name in local language." }, "recipientPrimaryAccountNumber": { "type": "string", "description": "Consumer’s card number" } }, "description": "Response data when a consumer alias is successfully resolved." }, "CashInCardAcceptorAddress": { "required": [ "city", "country" ], "type": "object", "properties": { "city": { "maxLength": 13, "minLength": 1, "type": "string", "description": "Include merchant city name." }, "country": { "maxLength": 3, "minLength": 2, "type": "string", "description": "Must include the 2-character alpha country code of the originator." } } }, "MultiPushFundsTransactionPostResponse": { "required": [ "statusIdentifier" ], "type": "object", "properties": { "networkId": { "type": "integer", "description": "This contains a code that identifies the network on which the transaction was processed.

    Refer to Network ID

    Note:
    This field is returned only if it is anything other than networkId value 2.

    Supported only in US for domestic transactions.", "x-variant": "| positive, Length: totaldigits 2" }, "statusIdentifier": { "type": "string", "x-variant": "| required when call times out" }, "merchantVerificationValue": { "type": "string", "description": "The concatenated Merchant Verification Value of Visa assigned and Acquirer assigned value is returned.", "x-variant": "| Length: 10, hexbinary format" } } }, "AliasResponse": { "type": "object", "properties": { "guid": { "type": "string", "description": "GUID of the consumer of issuer is returned if alias is created/updated/deleted successfully." } }, "description": "Response if a recipient is successfully created,updated or deleted." }, "GetAliasResponse-2": { "required": [ "cardType", "country", "guid", "issuerName", "recipientFirstName", "recipientLastName", "recipientPrimaryAccountNumber" ], "type": "object", "properties": { "city": { "type": "string", "description": "Consumer’s city" }, "guid": { "type": "string", "description": "This attribute is uniquely used by Issuer to identify their customer (i.e. consumer cardholder).
    Issuer may pass their existing unique identifier of a cardholder of their system to VAD as a guid.

    For multiple aliases linked to the same PAN, same guid should be used except changing the field alias in the request payload. Below is an example:
    guid abcd12345678z01, alias 85291112222
    guid abcd12345678z01, alias 85288881111.

    For selected countries, one alias can be linked to more than one account, e.g. one mobile can be linked to three different cards with a default card to receive money. It is recommended that issuer to use systematic naming to generate guid for easy maintenance. Below is an example of one mobile number linking to three different PANs:
    alias 85291112222, guid abcd12345678z01 for PAN1 (default)
    alias 85291112222, guid abcd12345678z02 for PAN2
    alias 85291112222, guid abcd12345678z03 for PAN3, etc." }, "alias": { "type": "string", "description": "Conditional. This field will not be returned if the object 'aliases' presents.
    This attribute contains the alias data, e.g. phone number, email address, etc.
    If phone number is used for alias, this should be provided in accordance with ITU-T E.164 (2010) number structure. Below are some examples of phone numbers with different country codes:
    CountryCountry CodeExamples
    United States11650xxxxxxx
    United Kingdom444478xxxxxxxx
    Singapore65659xxxxxxx
    Hong Kong8528529xxxxxxx
    Kenya254254701xxxxxx

    If IBAN (International Bank Account Number) is used for alias, this should be provided in accordance with ISO 13616:2007. Below is an example of IBAN:
    CountryExample
    IrelandIE29AIBK93115212345678
    where
    Country Code: IE
    Check digits: 29
    Bank Identifier: AIBK
    Branch Identifier: 931152
    Account Number:12345678
    " }, "status": { "type": "string", "description": "The status of an alias. For consumer alias, this value can be 'INACTIVE', 'ACTIVE', or 'DISABLED'. For merchant/agent alias, this value can be 'ACTIVE' or 'DISABLED'.
    Note: This attribute is only applicable to selective markets. Please contact Visa's representative for details." }, "aliases": { "$ref": "#/components/schemas/aliases-2" }, "country": { "type": "string", "description": "Consumer’s country code as defined by ISO 3166." }, "address1": { "type": "string", "description": "Address line 1." }, "address2": { "type": "string", "description": "Address line 2." }, "cardType": { "type": "string", "description": "Card type description. Reference to Field 62.23—Product ID of available card products. e.g. Visa Classic, Visa Platinum" }, "aliasType": { "type": "string", "description": "Conditional. This field will not be returned if the object 'aliases' presents.
    “01” – Phone number
    “02” – Email address
    “03” – National ID
    “04” – IBAN (International Bank Account Number)" }, "expiryDate": { "type": "string", "description": "Conditional. Card expiration date.
    Note: This attribute is only applicable to selective markets. Please contact Visa's representative for details." }, "issuerName": { "type": "string", "description": "This is the Issuer name of recipient’s card" }, "postalCode": { "type": "string", "description": "Consumer’s postal code" }, "contactEmail": { "type": "string", "description": "Consumer’s contact email for all communications." }, "consentDateTime": { "type": "string", "description": "Date & time when consumer has provided their consent to Issuer about the use of their personal personal data for VAD service. Format: YYYY-MM-DD hh:nn:ss.
    It is in Coordinated Universal Time (UTC)." }, "recipientLastName": { "type": "string", "description": "Last name of the consumer." }, "contactPhoneNumber": { "type": "string", "description": "Consumer’s contact phone number for all communications." }, "recipientFirstName": { "type": "string", "description": "Consumer’s first name." }, "recipientMiddleName": { "type": "string", "description": "Consumer’s middle name." }, "statusChangeDateTime": { "type": "string", "description": "The date and time when the status of an alias is changed. It is in Coordinated Universal Time (UTC).
    Note: This attribute is only applicable to selective markets. Please contact Visa's representative for details." }, "recipientLastNameLocal": { "type": "string", "description": "Consumer’s last name in local language." }, "recipientFirstNameLocal": { "type": "string", "description": "Consumer’s first name in local language." }, "recipientMiddleNameLocal": { "type": "string", "description": "Consumer’s middle name in local language." }, "recipientPrimaryAccountNumber": { "type": "string", "description": "Consumer’s card number" } }, "description": "Response data when a consumer alias is successfully resolved." }, "AliasResolveResponse": { "required": [ "country", "recipientName", "recipientPrimaryAccountNumber" ], "type": "object", "properties": { "url": { "type": "string", "description": "Optional. An URL of a landing page that contains participating issuers will be returned to originator if an alias cannot be found in Visa Alias Directory and HTTP status code = 404. Originator can notify unregistered recipient with this URL so that he/she can select preferred issuer for alias registration.
    Note:This attribute is only applicable to selective markets, originator will receive this URL instead of error JSON response for processing if HTTP status code = 404. Contact Visa's representative for details." }, "city": { "type": "string", "description": "City of the recipient. Recipient can be a consumer, merchant or agent." }, "country": { "type": "string", "description": "Country code of the recipient. As defined by ISO 3166." }, "cardType": { "type": "string", "description": "Conditional. Card type description. Reference to Field 62.23 — Product ID of available card products. e.g. Visa Platinum. Only applicable if businessApplicationId = “PP” or “CI”" }, "expiryDate": { "type": "string", "description": "Conditional. Card expiration date.
    Note: This attribute is only applicable to selective markets. Please contact Visa's representative for details." }, "issuerName": { "type": "string", "description": "Conditional. This is the issuer name of recipient’s card. Only applicable if businessApplicationId = “PP” or “CI”" }, "postalCode": { "type": "string", "description": "Postal Code of the recipient. Recipient can be a consumer, merchant or agent." }, "recipientName": { "type": "string", "description": "Depending on the businessApplicationId of the request, this attribute can contain the consumer name, merchant name or agent name. Regarding consumer name, this is composed of consumer’s first, middle and last name" }, "accountLookUpInfo": { "$ref": "#/components/schemas/PaymentAccountAttributesInquiry" }, "recipientNameLocal": { "type": "string", "description": "This attribute contains the consumer name in the local language, if one is defined in the consumer's profile" }, "convenienceFeeAmount": { "type": "string", "description": "Conditional. The convenience fee of a fixed amount. The format of the amount is the same as defined in tag 54. Convenience amount as provided by merchant shall be passed in Field 28 of ISO or transactionFeeAmt of API message, in the Visa specifications. This attribute will only be returned if businessApplicationId=MP." }, "merchantCategoryCode": { "type": "string", "description": "Conditional. Merchant Category Code. This attribute will only be returned if businessApplicationId=MP, CO" }, "pointOfInitiationMethod": { "type": "string", "description": "Conditional. In this two-digit field, the first character indicates the method by which the data is presented by the merchant. The second character indicates whether the data is static or dynamic. Static data refers to a situation wherein same data is presented for every transaction unlike a dynamic data wherein the information is specific to a transaction.
    1st Character:
    “1” = QR
    “2” = BLE
    “3” = NFC
    “4”-“9” = Reserved for future use

    2nd Character:
    “1” = Static
    “2” = Dynamic
    “3”-“9” = Reserved for future use

    Example: “11” indicates QR static code, “12” indicates QR dynamic code
    This attribute will only be returned if businessApplicationId=MP, CO" }, "transactionCurrencyCode": { "type": "string", "description": "Conditional. This is the transaction currency code that a merchant can accept for payment. This attribute will only be returned if businessApplicationId=MP, CO. As defined by ISO 4217." }, "convenienceFeePercentage": { "type": "string", "description": "Conditional. The percentage convenience fee, specified as numeric value from “00.01” (for 00.01%) to “99.99” (for 99.99%). Originators are required to derive the convenience fee amount and shall pass it in Field 28 of ISO or transactionFeeAmt of API message, in the Visa specifications. This attribute will only be returned if businessApplicationId=MP." }, "tipConvenienceFeeIndicator": { "type": "string", "description": "Conditional. Tip or Convenience Fee Indicator. This attribute will only be returned if businessApplicationId=MP." }, "recipientPrimaryAccountNumber": { "type": "string", "description": "Depending on the businessApplicationId of the request, this attribute can contain the consumer card number, mVisa merchant ID (16-digit) or mVisa agent ID (16-digit)." } } }, "GetAliasResponse-3": { "required": [ "cardType", "country", "guid", "issuerName", "recipientFirstName", "recipientLastName", "recipientPrimaryAccountNumber" ], "type": "object", "properties": { "city": { "type": "string", "description": "Consumer’s city" }, "guid": { "type": "string", "description": "This attribute is uniquely used by Issuer to identify their customer (i.e. consumer cardholder).
    Issuer may pass their existing unique identifier of a cardholder of their system to VAD as a guid.

    For multiple aliases linked to the same PAN, same guid should be used except changing the field alias in the request payload. Below is an example:
    guid abcd12345678z01, alias 85291112222
    guid abcd12345678z01, alias 85288881111.

    For selected countries, one alias can be linked to more than one account, e.g. one mobile can be linked to three different cards with a default card to receive money. It is recommended that issuer to use systematic naming to generate guid for easy maintenance. Below is an example of one mobile number linking to three different PANs:
    alias 85291112222, guid abcd12345678z01 for PAN1 (default)
    alias 85291112222, guid abcd12345678z02 for PAN2
    alias 85291112222, guid abcd12345678z03 for PAN3, etc." }, "alias": { "type": "string", "description": "Conditional. This field will not be returned if the object 'aliases' presents.
    This attribute contains the alias data, e.g. phone number, email address, etc.
    If phone number is used for alias, this should be provided in accordance with ITU-T E.164 (2010) number structure. Below are some examples of phone numbers with different country codes:
    CountryCountry CodeExamples
    United States11650xxxxxxx
    United Kingdom444478xxxxxxxx
    Singapore65659xxxxxxx
    Hong Kong8528529xxxxxxx
    Kenya254254701xxxxxx

    If IBAN (International Bank Account Number) is used for alias, this should be provided in accordance with ISO 13616:2007. Below is an example of IBAN:
    CountryExample
    IrelandIE29AIBK93115212345678
    where
    Country Code: IE
    Check digits: 29
    Bank Identifier: AIBK
    Branch Identifier: 931152
    Account Number:12345678
    " }, "status": { "type": "string", "description": "The status of an alias. For consumer alias, this value can be 'INACTIVE', 'ACTIVE', or 'DISABLED'. For merchant/agent alias, this value can be 'ACTIVE' or 'DISABLED'.
    Note: This attribute is only applicable to selective markets. Please contact Visa's representative for details." }, "aliases": { "$ref": "#/components/schemas/aliases" }, "country": { "type": "string", "description": "Consumer’s country code as defined by ISO 3166." }, "address1": { "type": "string", "description": "Address line 1." }, "address2": { "type": "string", "description": "Address line 2." }, "cardType": { "type": "string", "description": "Card type description. Reference to Field 62.23—Product ID of available card products. e.g. Visa Classic, Visa Platinum" }, "aliasType": { "type": "string", "description": "Conditional. This field will not be returned if the object 'aliases' presents.
    “01” – Phone number
    “02” – Email address
    “03” – National ID
    “04” – IBAN (International Bank Account Number)" }, "expiryDate": { "type": "string", "description": "Conditional. Card expiration date.
    Note: This attribute is only applicable to selective markets. Please contact Visa's representative for details." }, "issuerName": { "type": "string", "description": "This is the Issuer name of recipient’s card" }, "postalCode": { "type": "string", "description": "Consumer’s postal code" }, "contactEmail": { "type": "string", "description": "Consumer’s contact email for all communications." }, "consentDateTime": { "type": "string", "description": "Date & time when consumer has provided their consent to Issuer about the use of their personal personal data for VAD service. Format: YYYY-MM-DD hh:nn:ss.
    It is in Coordinated Universal Time (UTC)." }, "recipientLastName": { "type": "string", "description": "Last name of the consumer." }, "contactPhoneNumber": { "type": "string", "description": "Consumer’s contact phone number for all communications." }, "recipientFirstName": { "type": "string", "description": "Consumer’s first name." }, "recipientMiddleName": { "type": "string", "description": "Consumer’s middle name." }, "statusChangeDateTime": { "type": "string", "description": "The date and time when the status of an alias is changed. It is in Coordinated Universal Time (UTC).
    Note: This attribute is only applicable to selective markets. Please contact Visa's representative for details." }, "recipientLastNameLocal": { "type": "string", "description": "Consumer’s last name in local language." }, "recipientFirstNameLocal": { "type": "string", "description": "Consumer’s first name in local language." }, "recipientMiddleNameLocal": { "type": "string", "description": "Consumer’s middle name in local language." }, "recipientPrimaryAccountNumber": { "type": "string", "description": "Consumer’s card number" } }, "description": "Response data when a consumer alias is successfully resolved." }, "AliasResolveRequest": { "required": [ "alias", "businessApplicationId" ], "type": "object", "properties": { "alias": { "type": "string", "description": "This attribute is used to retrieve recipient's Primary Account Number (PAN) of the card holder which can then be used in subsequent services such as Visa Direct.
    This attribute can contain information of a mobile phone number, email address, IBAN, merchant ID, etc.
    If phone number is used for alias, this should be provided in accordance with ITU-T E.164 (2010) number structure. Below are some examples of phone numbers with different country codes:
    CountryCountry CodeExamples
    United States11650xxxxxxx
    Russia77495xxxxxxx
    United Kingdom444478xxxxxxxx
    Singapore65659xxxxxxx
    Hong Kong8528529xxxxxxx
    Kenya254254701xxxxxx

    If IBAN (International Bank Account Number) is used for alias, this should be provided in accordance with ISO 13616:2007. Below is an example of IBAN:
    CountryExample
    IrelandIE29AIBK93115212345678
    where
    Country Code: IE
    Check digits: 29
    Bank Identifier: AIBK
    Branch Identifier: 931152
    Account Number:12345678
    " }, "accountLookUp": { "type": "string", "description": "Retrieve the attributes that determine the key characteristics of a recipient payment account before initiating a funds transfer by providing the Primary Account Number (PAN).
    If such attributes are required, set the value as 'Y'. Default is set as 'N'" }, "inviteSMSParameters": { "type": "object", "properties": { "amount": { "type": "string", "description": "The transaction amount to be sent by sender to the recipient. Format: digits with or without decimal point, e.g. 100 or 123.45. If not provided, system will use generic word (e.g. 'money transfer') for the notification message.", "example": "100" }, "language": { "type": "string", "description": "Language for the notification message if originator prefers to override the default language to be used for an originator. This should be provided in accordance with ISO 639-2 standard, e.g. 'en' for sending an English notification message to a receiver in a market such as Russia where Russian is set as the default language to be used for originators from Russia.", "example": "en" }, "senderName": { "type": "string", "description": "Name of the sender who initiates the transaction. If not provided, system will use default word (e.g. 'Someone') for the notification message.", "example": "John" } }, "description": "Optional parameters to allow originator provide sender information to Visa for constructing notification message to be sent via SMS or other means to invite receiver registering their alias in the Alias Directory if the alias mapping cannot be found (i.e. HTTP Error 404 in RESOLVE API response). Note: This is only available in selected markets, please contact Visa's representative for details." }, "businessApplicationId": { "type": "string", "description": "Used to identify program’s business application type for VisaNet transaction processing. It can be PP for Personal payment, MP for Merchant Payment, CO for Cash Out, CI for Cash In", "enum": [ "PP", "MP", "CO", "CI" ] } }, "description": "Alias Resolve Request Payload" }, "AdjustFundsTransactionPostPayload": { "required": [ "acquirerCountryCode", "acquiringBin", "amount", "businessApplicationId", "cardAcceptor", "localTransactionDateTime", "merchantCategoryCode", "messageReasonCode", "pointOfServiceData", "retrievalReferenceNumber", "senderCurrencyCode", "senderPrimaryAccountNumber", "systemsTraceAuditNumber", "transactionIdentifier", "transactionTypeCode" ], "type": "object", "properties": { "amount": { "type": "number", "description": "The amount of the transaction, inclusive of all fees assessed for the transaction, including currency conversion fees.
    Minimum Value: 0
    Maximum value: 999999999.999
    Allowed fractional digits: 3", "format": "double" }, "surcharge": { "type": "string", "description": "When present, this field contains the sender's surcharge as assessed by the originator. Values in this field must be in the same currency and format as defined in the amount field.", "format": "double" }, "acquiringBin": { "type": "number", "description": "The Bank Identification Number (BIN) under which your Visa Direct is registered. This must match the information provided during enrollment." }, "cardAcceptor": { "required": [ "address", "idCode", "name", "terminalId" ], "type": "object", "properties": { "name": { "maxLength": 25, "minLength": 1, "type": "string", "description": "card acceptor name as it is sent in the original PullFundsTransactions." }, "idCode": { "maxLength": 15, "minLength": 1, "type": "string", "description": "A unique identifier for the card acceptor (Visa Direct merchant)." }, "address": { "required": [ "country" ], "type": "object", "properties": { "state": { "maxLength": 2, "type": "string", "description": "Should match the state information submitted in the original PullFundsTransactions" }, "county": { "maxLength": 3, "type": "string", "description": "Should match the county information submitted in the original PullFundsTransactions" }, "country": { "maxLength": 3, "minLength": 1, "type": "string", "description": "Should match the country information submitted in the original PullFundsTransactions" }, "zipCode": { "maxLength": 9, "minLength": 5, "type": "string", "description": "Should match the zip code information submitted in the original PullFundsTransactions" } } }, "terminalId": { "maxLength": 8, "minLength": 1, "type": "string", "description": "The identifier for the terminal at a card acceptor location. If sending transactions from a card not present environment, use the same value for all transactions." } } }, "cardProductCode": { "maxLength": 2, "minLength": 1, "type": "string", "description": "Used to identify the specific card product for the issuer." }, "senderReference": { "maxLength": 16, "type": "string", "description": "If the transaction is a money transfer, pre-paid load, or credit card bill pay, and if the sender intends to fund the transaction with a non-financial instrument (for example, cash), a reference number unique to the sender is required.

    If the transaction is a funds disbursement, the field is required.

    This field is required if senderAccountNumber is not sent.", "x-variant": "| only alphabets (a-z, A-Z) and/or numbers (0-9) allowed" }, "customerReference": { "type": "string", "description": "This is an alphanumeric value that carries the value that identifies the customer, the value may be a reference number or code or generic number. This field needs to be populated for Argentina domestic (Debit) transactions when businessApplicationId has PS.", "x-variant": "| Length:17" }, "merchantReference": { "maxLength": 35, "type": "string", "description": "This is an alphanumeric value that carries the merchant’s unique identification number issued by the government or an authorized national entity. This field to be populated for Argentina domestic (Credit) transaction when businessApplicationId has PS.", "x-variant": "| only alphabets (a-z, A-Z) and/or numbers (0-9) allowed" }, "messageReasonCode": { "type": "number", "description": "Message Reason Code: 2140 for AFT and 2150 for OCT. To identify advice type for issuers.
    Message Reason Code: 5120 for OCT Debit Adjustments to reverse Sales Tax Rebates (Value-added tax) along with businessApplicationId field set to the value 'FD'. " }, "pointOfServiceData": { "required": [ "panEntryMode", "posConditionCode" ], "type": "object", "properties": { "panEntryMode": { "type": "number", "description": "A 2-digit code that identifies the method used to enter the cardholder account number and card expiration date. This code specifies whether the entire magnetic stripe is included in an authorization or financial request. Note: Single digit value should pass directly without adding a 0 in front. Otherwise please use string data type." }, "posConditionCode": { "type": "number", "description": "Contains a code identifying transaction conditions at the point-of-sale or point of service. For adjustment transaction, this field should set to 00 or 0." }, "specialConditionIndicatorMerchant": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Cryptocurrency indicator with the value of “7” can be used to identify the purchase of cryptocurrency, thereby providing greater visibility to the issuers." } } }, "senderCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Use a 3-character alpha or numeric currency code for currency of the sender. This code identifies the currency of the transaction amount sent in the amount field." }, "acquirerCountryCode": { "type": "number", "description": "Use a 3-digit numeric country code for the country of the BIN under which your Visa Direct program is registered." }, "transactionTypeCode": { "type": "number", "description": "A 2-digit code identifying the transaction type. It must be 02 (Adjustment—Debit) or 22 (Adjustment—Credit).
    Note: For JSON format request, 02 is not legal for integer data type, please use 2 instead or pass “02” as a string. (AFT Debit adjustment is not available.)" }, "merchantCategoryCode": { "type": "number", "description": "Contains a code describing the merchant's type of business product or service, also known as the merchant category code (MCC). These codes are based on the Merchant Classification Code Guideline available from the Bank Card Division of the ABA. Clients should send the same merchantCategoryCode that was submitted in the PullFundsTransactions" }, "senderCardExpiryDate": { "type": "string", "description": "
    Recommended Format: YYYY-MM
    The expiration date for the sender's Visa account number in senderPrimaryAccountNumber." }, "businessApplicationId": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Identifies the Visa Direct use case required for processing. This must match the value provided in the request of PullFundsTransactions." }, "transactionIdentifier": { "type": "number", "description": "Clients shall send the Visa transaction identifier returned in the response of PullFundsTransactions. Note: This value for the purpose of credit adjustment must be same as the original request." }, "digitalWalletProviderId": { "maxLength": 11, "minLength": 1, "type": "string", "description": "Used to identify the digital wallet provider. V.I.P. does not edit the field; it also does not send it to the issuer processor nor does it return this field in the response. " }, "systemsTraceAuditNumber": { "type": "number", "description": "This field contains a number assigned by the merchant, service provider or acquirer that uniquely identifies a cardholder transaction and all message types (also known as system transactions) that comprise it per individual program rules. A unique value should be used for each API invocation. Note: This value for the purpose of credit adjustment must be different from the original request." }, "localTransactionDateTime": { "type": "string", "description": "This field contains the local date and time when the Adjustment transaction is submitted.
    Format: YYYY-MM-DDThh:mm:ss
    Example: 2020-05-21T13:30:00", "format": "date-time" }, "retrievalReferenceNumber": { "type": "number", "description": "This field contains a number that is used with other data elements as a key to identify and track all messages related to a given cardholder transaction; that is, to a given transaction set. Recommended format: ydddhhnnnnnn. The first four digits must be a valid yddd date in the Julian date format, where the first digit = 0-9 (last digit of current year) and the next three digits = 001-366 (number of the day in the year), hh can be the two digit hour in a 24 hour clock (00-23) during which the transaction is performed, nnnnnn can be the systemsTraceAuditNumber or any 6 digit number. A unique value should be used for each API invocation. Note: This value for the purpose of credit adjustment must be different from the original request." }, "argentinaReimbursementFee": { "type": "number", "description": "Optional, when present, this field contains the Argentina member supplied reimbursement fee.
    Note:
    If a currency has one decimal place, the last digit of this field must be zero.
    If a currency has no decimal place, the last two digits of this field must be zero.", "format": "double", "x-variant": "| Length: totalDigits 10, fractionDigits 2 (minimum value is 0, maximum value is 99999999.99)" }, "mexicoNationalServiceData": { "required": [ "reimbursementFee", "reimbursementFeeTax" ], "type": "object", "properties": { "irfType": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field contains one of the following values:
    0 - Unknown/default
    1 - Fixed
    2 - Ad valorem (%)
    3 - Composite (fixed amount and ad valorem)" }, "accountType": { "maxLength": 2, "minLength": 2, "type": "string", "description": "This field contains one of the following values:
    CO - Commercial products
    CR - Credit
    DB - Debit
    PL - Private label
    PP - Prepaid" }, "irfCategoryCode": { "maxLength": 2, "minLength": 1, "type": "string", "description": "This field optionally contains any value from 00 to 99." }, "merchantFiscalId": { "maxLength": 13, "type": "string", "description": "This field contains RFC for the merchant. This is an alphanumeric field. The RFC format can be AAAANNNNNNAAA, where A is alphanumeric value and N is a numeric value." }, "reimbursementFee": { "type": "number", "description": "This field contains the Client-Calculated Interchange Reimbursement Fee in the same currency as the transaction. It must not contain zeros.", "format": "double" }, "reimbursementFeeTax": { "type": "number", "description": "This field contains the VAT calculated for the IRF applicable to the transaction. It must not contain zeros.", "format": "double" } }, "description": "Settlement Service Data object for Mexico required if transaction indicates Mexico national settlement." }, "senderPrimaryAccountNumber": { "maxLength": 19, "minLength": 13, "type": "string", "description": "This field contains a number identifying the customer account which could be a PAN or a token." }, "settlementServiceIndicator": { "type": "number", "description": "This flag enables the originator to request for a particular settlement service to be used for settling the transaction.

    Valid values are:
    0 - International Settlement
    9 - VIP to decide
    8 - National Settlement

    Note: The default value is 9. This field is only relevant for specific countries where the acquirer has to select 8 in order to settle in the national net settlement service. " }, "colombiaNationalServiceData": { "required": [ "countryCodeNationalService", "nationalNetReimbursementFeeBaseAmount" ], "type": "object", "properties": { "addValueTaxAmount": { "type": "number", "description": "This is the national government tax for added value of good or service.", "format": "double" }, "addValueTaxReturn": { "type": "number", "description": "This is base value of the IVA (Sales tax). Optional. This field indicates base value of the IVA ( Sales tax which is part of the benefit of the tax legislations for the 2% sale tax return to the cardholder.", "format": "double" }, "taxAmountConsumption": { "type": "number", "description": "This is the national consumption tax amount.", "format": "double" }, "nationalNetMiscAmount": { "type": "number", "description": "This is an amount field that contains an airport charge, cashback or a tip.", "format": "double" }, "emvTransactionIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Contains one of the below valid values:
    0 - Does not apply to EMV
    1 - EMV transaction
    2 - Fallback transaction" }, "costTransactionIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Contains one of the below valid values:
    0 - Not a cost inquiry amount
    1 - Cost inquiry transaction" }, "nationalChargebackReason": { "type": "number", "description": "Contains a domestic chargeback reason code." }, "nationalReimbursementFee": { "type": "number", "description": "Numeric entry indicating a fee for a National Settlement transaction. It must be zeros unless the transaction is a National Settlement transaction for a country using this capability. Two decimal positions are implied.
    Minimum Value: 0
    Maximum value: 999999999.999
    Allowed fractional digits: 3", "format": "double" }, "nationalNetMiscAmountType": { "maxLength": 1, "minLength": 1, "type": "string", "description": "It identifies the type of the miscellaneous amount – i.e. whether it is one of:
    A - Airport charge
    C - Cashback
    T - Tip

    Must be one of the above valid values if nationalNetMiscAmount > 0.

    Must be skipped if nationalNetMiscAmount = 0." }, "countryCodeNationalService": { "type": "number", "description": "The acquirer’s country code. Must be 170 for Colombia." }, "nationalNetReimbursementFeeBaseAmount": { "type": "number", "description": "The client supplied interchange reimbursement amount expressed in the transaction currency. This must be less than the transaction amount.", "format": "double" } }, "description": "Settlement Service Data object for Colombia required if transaction indicates Colombia national settlement." }, "rewardProgramIdentificationCode": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Used to identify the reward program." }, "dynamicCurrencyConversionIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Used to indicate if the merchant or the ATM acquirer has performed Dynamic Currency Conversion (DCC)." }, "senderIdentificationNumberBusiness": { "type": "string", "description": "Conditional.

    This is an alphanumeric value that carries the merchant’s value-added tax (VAT) registration number or single business reference number (SBRN) for the business issued to by the government or an authorized national entity, then this field needs to be populated for Argentina domestic (Credit) transaction when businessApplicationId has PS.", "x-variant": "| maxLength: 20" }, "senderIdentificationNumberIndividual": { "type": "string", "description": "This is an alphanumeric value that contains the customer’s VAT registration number for the individual tax identification.
    This field is to be populated if the recipient is an Individual (e.g. P2P payments). This field needs to be populated for Argentina domestic (Debit) transactions when businessApplicationId has PS.", "x-variant": "| maxLength: 13" }, "cpsAuthorizationCharacteristicsIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Conditional
    Request for CPS authorization. If present, a valid value is required. Spaces or special characters are not allowed. Possible values are : Y (Transaction requests participation).

    Note:Supported only in US for CPS (Custom Payment Service). This field is required for the transaction to qualify for CPS qualified Interchange rates and to avoid Transaction Integrity Fee. Please reach out to your Visa representative for details." } } }, "MerchantCardAcceptorAddress": { "required": [ "city", "country" ], "type": "object", "properties": { "city": { "maxLength": 13, "minLength": 1, "type": "string", "description": "Originator can populate this field with value captured from merchant information display. If manual entered transaction then populate default value of 'mVisa payment'." }, "country": { "maxLength": 3, "minLength": 2, "type": "string", "description": "Originator can include the 2-character alpha country code of the merchant captured from the merchant information display" } } }, "PushFundsTransactionGetResponse": { "required": [ "actionCode", "responseCode", "transactionIdentifier", "transmissionDateTime" ], "type": "object", "properties": { "actionCode": { "type": "string", "description": "The results of the transaction request

    Refer to action code
    Note: : The VisaNet Response Code for the transaction", "x-variant": "| Length: 2" }, "last4ofPAN": { "type": "integer", "description": "This field contains the last four digits of the cardholder primary account number (PAN)" }, "approvalCode": { "type": "string", "description": "The authorization code from the issuer.", "x-variant": "| Length: 6" }, "responseCode": { "type": "string", "description": "The source for the response; typically, either the recipient issuer or a Visa system.

    Refer to response code
    Note: : The VisaNet Response Source for the transaction", "x-variant": "| Length: 1" }, "prepaidBalance": { "type": "string", "description": "Min Inclusive: -999999999.999
    Max Inclusive: 999999999.999
    Applicable only for Top Up Transactions", "x-variant": "| Max Length: 3" }, "deferredOCTData": { "required": [ "requestType" ], "type": "object", "properties": { "requestType": { "maxLength": 2, "minLength": 2, "type": "string", "description": "00 : (Not a deferred OCT). This value indicates that the request is not a deferred OCT. Visa will send this value to the recipient issuer in the request. This acts as the default value if not provided in the request.

    01 : (Originator hold). This value indicates that the originating acquirer has held the OCT for a period of time before sending to Visa and is requesting for Visa to treat the transaction as a deferred OCT. Visa will send this value to the recipient issuer in the request.
    Note: The value of 01 is reserved for originating acquirers that meet certain conditions. Contact your regional client support representative for more information.

    02 : (Visa deferred OCT hold, default interval).This value indicates that the originating acquirer is requesting Visa to apply the default holding period of 48 hours upon receipt and process the request as a deferred OCT. Visa will send this value to the recipient issuer in the request." }, "deferredDateTime": { "maxLength": 12, "minLength": 12, "type": "string", "description": "If exist, identifies when the transaction will be processed by Visa. Format of this value will be in CCYYMMDDHHMM.

    CC - Current Century
    YY - Year
    MM - Month
    DD - date
    HH - Hour
    MM - Minute" } }, "description": "Requesting Visa to process the request as a deferred OCT transaction." }, "statusIdentifier": { "type": "string", "description": "required when call times out" }, "originalActionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "The action code of the original transaction request
    Refer to actionCode
    Note: This field is only present, when the request is identified as a duplicate." }, "feeProgramIndicator": { "type": "string", "x-variant": "| alpha numeric,Length:3" }, "transmissionDateTime": { "type": "string", "description": "Example: 2016-01-15T07:03:52.000Z", "format": "date-time", "x-variant": "| YYYY-MM-DDThh:mm:ss" }, "transactionIdentifier": { "type": "integer", "description": "The VisaNet reference number for the transaction

    Note:
    transactionIdentifier is a Visa generated field that client recieves in the response message.
    Note: As an exception Visa allows clients to use the transactionIdentifier received in the AFT response into the subsequent OCT message - this is to simplify matching the pull and push transaction pair and reconciliation.", "format": "int64", "x-variant": "| positive(when call does not timeout), Length: 15" }, "prepaidBalanceCurrency": { "type": "string", "description": "Applicable only for Top Up Transactions", "x-variant": "| Length:3" }, "vauRTAuthReplacementData": { "type": "object", "properties": { "vauFlag": { "type": "string", "description": "Possible values are : Y (replacement occurred). N (No replacements)", "x-variant": "| Length: 1" }, "vauAccntStatus": { "type": "string", "description": "Indicates C (closed account) or Q (contact cardholder)", "x-variant": "| Length: 1" }, "replacementCardID": { "type": "string", "description": "The replacement pan, if it exists", "x-variant": "| Length: 19" }, "vauErrorReasonCode": { "type": "string", "description": "Conditional. If present, describes the reason the VAU failed", "x-variant": "| Length: 6" }, "replaceDateExpiration": { "type": "string", "description": "Replacement pan expiration date, if it exists. This is returned even if the expiration date was not passed in the request.", "x-variant": "| YYYY-MM" } } } } }, "GetMerchantAliasResponse": { "required": [ "aliasId", "city", "country", "merchantCategoryCode", "merchantId", "payloadFormatIndicator", "recipientName", "transactionCurrencyCode" ], "type": "object", "properties": { "city": { "type": "string", "description": "Merchant or agent city." }, "email": { "type": "string", "description": "Merchant or agent email address." }, "phone": { "type": "string", "description": "Merchant or agent phone number." }, "aliasId": { "type": "string", "description": "This attribute is uniquely used by Acquirer to identify their merchant or agent ." }, "country": { "type": "string", "description": "Merchant or agent country code as defined by ISO 3166. ISO 3166 alpha-2 is recommended to be used if alias may be used for QR." }, "aliasType": { "type": "string", "description": "01 – Phone number
    02 – Email address
    03 – USSD Payment ID
    04 – BID (Bank Identification Number)
    05 – National ID
    06 – Custom
    Null – Should start with visa assigned USSD Payment ID" }, "merchantId": { "type": "string", "description": "A 16 digit-number as per Mobile Push Payment Program Implementation Guide to receive payment by merchant or agent." }, "postalCode": { "type": "string", "description": "Merchant or agent postal code." }, "recipientName": { "type": "string", "description": "Merchant or agent name." }, "convenienceFeeAmount": { "type": "string", "description": "The convenience fee of a fixed amount. Applicable only for merchant alias." }, "merchantCategoryCode": { "type": "string", "description": "Merchant Category Code. Numeric only." }, "payloadFormatIndicator": { "type": "string", "description": "Defines the format of the merchant data payload. Payload Format Indicator must be set to '01' as per EMVCo Merchant Presented QR specifications." }, "pointOfInitiationMethod": { "type": "string", "description": "In this two-digit field, the first character indicates the method by which the data is presented by the merchant. The second character indicates whether the data is static or dynamic. Static data refers to a situation wherein same data is presented for every transaction unlike a dynamic data wherein the information is specific to a transaction.
    1st character
    '1' = QR
    '2' = BLE
    '3' = NFC
    '4' - '9' = Reserved for Future Use
    2nd character
    '1' = Static
    '2' = Dynamic
    '3' - '9' = Reserved for Future Use.
    Example: '11' indicates QR static code, '12' indicates QR dynamic code." }, "transactionCurrencyCode": { "type": "string", "description": "As defined by ISO 4217. This is the transaction currency code that a merchant can accept for payment. 3-digit numeric presentation of the currency is recommended to be used if alias may be used for QR." }, "convenienceFeePercentage": { "type": "string", "description": "Applicable only for merchant alias. The percentage convenience fee, specified as numeric value from “00.01” (for 00.01%) to “99.99” (for 99.99%)." }, "tipConvenienceFeeIndicator": { "type": "string", "description": "Tip or Convenience Fee Indicator. This shall contains a value of '01', '02' or '03' as per EMVCo Merchant Presented QR specifications. Applicable only for merchant alias." } }, "description": "Response data when a merchant or agent alias is successfully resolved." }, "CardAcceptor-1": { "required": [ "idCode", "name" ], "type": "object", "properties": { "name": { "maxLength": 25, "minLength": 1, "type": "string", "description": "Originator must populate this field with value captured from merchant information display. If manual entered transaction then populate default value of 'mVisa merchant'." }, "idCode": { "maxLength": 15, "minLength": 1, "type": "string", "description": "Originator can populate the field with any system generated reference number internal to originating client." }, "address": { "$ref": "#/components/schemas/CardAcceptorAddress" }, "terminalId": { "maxLength": 8, "minLength": 1, "type": "string", "description": "The identifier for the terminal at a card acceptor location. If sending transactions from a card not present environment, use the same value for all transactions." } } }, "CardAcceptorAddressmr": { "type": "object", "properties": { "city": { "maxLength": 13, "minLength": 1, "type": "string", "description": "Originator must populate this field with the city name of the Merchant." }, "state": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Use a 2-character abbreviated states code or territory code as the state value. Make sure to give a valid state code for given country." }, "county": { "maxLength": 3, "minLength": 3, "type": "string", "description": "This is to be populated with the county of the Merchant." }, "country": { "maxLength": 3, "minLength": 2, "type": "string", "description": "Originator must populate this field with the country code of the Merchant. Refer to [ISO Codes](https://developer.visa.com/guides/request_response_codes#isoCodes)." }, "zipCode": { "maxLength": 9, "minLength": 5, "type": "string", "description": "Zip/Postal code of the merchant." } } }, "MerchantPushPaymentResponse": { "required": [ "actionCode", "responseCode", "retrievalReferenceNumber", "statusIdentifier", "transactionIdentifier", "transmissionDateTime" ], "type": "object", "properties": { "actionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Contains a code that defines the response to a request.
    Refer to actionCode" }, "approvalCode": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Conditional. Contains the authorization code provided by the recipient when a transaction is approved. Visa recommends that recipients maintain uniqueness of this code for a given merchant PAN, however Visa would not maintain any checks for uniqueness." }, "cardAcceptor": { "$ref": "#/components/schemas/MerchantCardAcceptor" }, "responseCode": { "maxLength": 1, "minLength": 1, "type": "string", "description": "It is added by VisaNet and contains the response source/reason code that identifies the source of the actionCode response decision." }, "settlementFlags": { "required": [ "settlementResponsibilityFlag" ], "type": "object", "properties": { "givUpdatedFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "settlementServiceFlag": { "type": "string", "description": "Possible values are:
    0 - International Settlement
    9 - VIP to decide
    8 - National Settlement
    ", "x-variant": "| Length: 1, hexbinary format" }, "givPreviouslyUpdatedFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "settlementResponsibilityFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" } } }, "statusIdentifier": { "type": "string", "description": "Required when API response times out." }, "customerReference": { "type": "string", "description": "This is an alphanumeric value that carries the value that identifies the customer, the value may be a reference number or code or generic number. This field to be populated for Argentina domestic transaction.", "x-variant": "| Length:17" }, "memberSuppliedIRF": { "maxLength": 13, "minLength": 13, "type": "string", "description": "Optional field which contains interchange fee provided by recipient and its only relevant for LAC regional markets. List of Countries supported:
    1. Costa Rica
    2. Dominican Republican
    3. Venezuela
    4. Guatemala" }, "originalActionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "The action code of the original transaction request
    Refer to actionCode
    Note: This field is only present, when the request is identified as a duplicate." }, "purchaseIdentifier": { "$ref": "#/components/schemas/PurchaseIdentifier" }, "feeProgramIndicator": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Optional field which may be populated by recipient where applicable." }, "merchantCategoryCode": { "maxLength": 4, "minLength": 4, "type": "string", "description": "Numeric only. Recipient should populate the MCC of the merchant in the response message." }, "transmissionDateTime": { "type": "string", "description": "The value in response must match the value in the request.", "format": "date-time" }, "transactionIdentifier": { "maxLength": 15, "minLength": 15, "type": "string", "description": "It is added by VisaNet. It contains a right-justified, VisaNet generated Transaction Identifier (TID) that is unique for each request. The identifier links original messages to subsequent messages, such as those for exception item processing and clearing record." }, "reimbursementAttribute": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field contains a code that identifies the applicable interchange reimbursement fee for the transaction. Please contact your Regional Visa Client Support Services Representative to identify the value that you should be using." }, "retrievalReferenceNumber": { "maxLength": 12, "minLength": 12, "type": "string", "description": "Numeric only. Key data element for matching a message to others within a given transaction set. Value will be the same as what has been provided in the request." }, "argentinaReimbursementFee": { "type": "number", "description": "Optional, this field contains the Argentina member supplied reimbursement fee. If present, populate 0", "format": "double", "x-variant": "| Length: totalDigits 10, fractionDigits 2 (minimum value is 0, maximum value is 99999999.99)" }, "merchantVerificationValue": { "maxLength": 10, "minLength": 10, "type": "string", "description": "Recipient are expected to populate the Merchant Verification Value used to identify merchants that participate in a variety of programs in this field The valid values are 0-9 and A-F. These values are hexadecimal." }, "senderIdentificationNumberIndividual": { "type": "string", "description": "This is an alphanumeric value that contains the customer’s VAT registration number for the individual tax identification, then this field to be populated for Argentina domestic transaction.", "x-variant": "| maxLength: 13" } } }, "MultiReverseFundsTransactionPostResponse": { "required": [ "statusIdentifier" ], "type": "object", "properties": { "networkId": { "type": "integer", "description": "This contains a code that identifies the network on which the transaction was processed.

    Refer to Network ID

    Note:
    This field is returned only if it is anything other than networkId value 2.

    Supported only in US for domestic transactions.", "x-variant": "| positive, Length: totaldigits 2" }, "memberComments": { "maxLength": 254, "minLength": 1, "type": "string", "description": "This field can be optionally used to send and receive comments by service providers. Issuers can optionally include new text in this field in the response. If the issuer does not include this field, Visa will inject the value from the request in the response and send it back to the service provider." }, "statusIdentifier": { "type": "string", "x-variant": "| required when call times out" }, "merchantVerificationValue": { "type": "string", "description": "The concatenated Merchant Verification Value of Visa assigned and Acquirer assigned value is returned.", "x-variant": "| Length: 10, hexbinary format" } } }, "UpdateAliasRequest": { "required": [ "guid" ], "type": "object", "properties": { "city": { "type": "string", "description": "Consumer's City" }, "guid": { "type": "string", "description": "This attribute is uniquely used by Issuer to identify their customer (i.e. consumer cardholder).
    Issuer may pass their existing unique identifier of a cardholder of their system to VAD as a guid.

    For multiple aliases linked to the same PAN, same guid should be used except changing the field alias in the request payload. Below is an example:
    guid abcd12345678z01, alias 85291112222
    guid abcd12345678z01, alias 85288881111.

    For selected countries, one alias can be linked to more than one account, e.g. one mobile can be linked to three different cards with a default card to receive money. It is recommended that issuer to use systematic naming to generate guid for easy maintenance. Below is an example of one mobile number linking to three different PANs:
    alias 85291112222, guid abcd12345678z01 for PAN1 (default)
    alias 85291112222, guid abcd12345678z02 for PAN2
    alias 85291112222, guid abcd12345678z03 for PAN3, etc." }, "alias": { "type": "string", "description": "This attribute contains the alias data, e.g. phone number, email address, etc.
    If phone number is used for alias, this should be provided in accordance with ITU-T E.164 (2010) number structure. Below are some examples of phone numbers with different country codes:
    CountryCountry CodeExamples
    United States11650xxxxxxx
    Russia77495xxxxxxx
    United Kingdom444478xxxxxxxx
    Singapore65659xxxxxxx
    Hong Kong8528529xxxxxxx
    Kenya254254701xxxxxx

    If IBAN (International Bank Account Number) is used for alias, this should be provided in accordance with ISO 13616:2007. Below is an example of IBAN:
    CountryExample
    IrelandIE29AIBK93115212345678
    where
    Country Code: IE
    Check digits: 29
    Bank Identifier: AIBK
    Branch Identifier: 931152
    Account Number:12345678
    " }, "country": { "type": "string", "description": "Country code of the consumer as defined by ISO 3166. ISO 3166 alpha-2 is recommended to be used if alias may be used for QR." }, "newGuid": { "type": "string", "description": "New unique identifier generated by issuer for a consumer if issuer would like to change the existing guid to a new value." }, "address1": { "type": "string", "description": "Address line 1." }, "address2": { "type": "string", "description": "Address line 2." }, "cardType": { "type": "string", "description": "Conditional. Card type description. Reference to Field 62.23—Product ID of available card products. e.g. Visa Classic, Visa Platinum.
    This field is required if recipientPrimaryAccountNumber is present in request" }, "aliasType": { "type": "string", "description": "“01” – Phone number
    “02” – Email address
    “03” – National ID
    “04” – IBAN (International Bank Account Number)" }, "isDefault": { "type": "string", "description": "Conditional. This attribute is to accept either 'true' or 'false'. If set as 'true', this consumer's card number will be set as the default card to receive money.
    Note. This attribute is only applicable to selected markets that allow to have one alias linked to multiple accounts." }, "expiryDate": { "type": "string", "description": "Consumer's card expiration date. Format: YYYY-MM.
    Note. This attribute is only applicable to selected markets." }, "issuerName": { "type": "string", "description": "Conditional. This is the issuer name of recipient’s card.
    This field is required if recipientPrimaryAccountNumber is present in request" }, "postalCode": { "type": "string", "description": "Consumer’s postal code" }, "paymentType": { "type": "string", "description": "This attribute to accept paymentType as “PAN”" }, "contactEmail": { "type": "string", "description": "Consumer’s contact email for all communications." }, "originalAlias": { "type": "string", "description": "Conditional. This attribute contains the original alias data, e.g. phone number, email address, etc. The data format should follow same as that of the attribute 'alias'.
    Note. This attribute is mandatory to selected markets that allow to have one alias linked to multiple accounts." }, "consentDateTime": { "type": "string", "description": "Date & time when consumer has provided their consent to issuer about the use of their personal personal data for VAD service. Format: YYYY-MM-DD hh:nn:ss. Local date and time should be converted to Coordinated Universal Time (UTC) before submitting this value in API request." }, "originalAliasType": { "type": "string", "description": "Conditional.
    “01” – Phone number
    “02” – email address
    “03” – National ID
    “04” – IBAN (International Bank Account Number).
    Note. This attribute is mandatory to selected markets that allow to have one alias linked to multiple accounts." }, "recipientLastName": { "type": "string", "description": "Last name of the consumer." }, "contactPhoneNumber": { "type": "string", "description": "Consumer’s contact phone number for all communications." }, "recipientFirstName": { "type": "string", "description": "Consumer’s first name." }, "recipientMiddleName": { "type": "string", "description": "Consumer’s middle name." }, "recipientLastNameLocal": { "type": "string", "description": "Consumer’s last name in local language." }, "recipientFirstNameLocal": { "type": "string", "description": "Consumer’s first name in local language." }, "recipientMiddleNameLocal": { "type": "string", "description": "Consumer’s middle name in local language." }, "recipientPrimaryAccountNumber": { "type": "string", "description": "Consumer's card number." } }, "description": "Request payload for updating an alias of a consumer.

    Note. This API only allows issuer to update data field(s) of one mapping of an alias to an account one at a time. To update data field(s) of
    • the mappings of multiple aliases linked to the same PAN; and/or
    • the mappings of one alias linked to multiple accounts
    issuer is required to submit multiple API requests." }, "CancelDeferredPushFundsTransactionPostPayload": { "required": [ "acquiringBin", "retrievalReferenceNumber", "systemsTraceAuditNumber" ], "type": "object", "properties": { "acquiringBin": { "type": "number", "description": "The Bank Identification Number (BIN) under which the Visa Direct solution is registered. This must match the information provided during enrollment." }, "transactionIdentifier": { "maximum": 15, "minimum": 15, "type": "number", "description": "The VisaNet reference number for the transaction. This is the same transactionIdentifier previously sent in the request for the original deferred OCT request. It is recommended to send transactionIdentifier while requesting cancellation.", "format": "int64" }, "systemsTraceAuditNumber": { "type": "number", "description": "A number assigned by the message initiator that uniquely identifies a transaction. This is the same as systemsTraceAuditNumber previously sent in the request for the original deferred OCT request." }, "retrievalReferenceNumber": { "type": "number", "description": "A value used to tie together service calls related to a single financial transaction. This is the same as retrievalReferenceNumber previously sent in the request for the original deferred OCT request." } } }, "content": { "type": "object", "properties": { "guid": { "type": "string", "description": "Conditional. Only applicable for consumer alias report. This attribute is uniquely used by issuer to identify their cardholders (i.e. consumer)." }, "status": { "type": "string", "description": "The status of an alias.
    For consumer alias, this value can be 'ACTIVE', 'DISABLED' or 'INACTIVE'.
    For merchant/agent alias, this value can be 'ACTIVE' or 'DISABLED'." }, "aliasId": { "type": "string", "description": "Conditional. Only applicable for merchant/agent alias report. This attribute is used by acquirer to uniquely identify their merchant or agent." }, "isDefault": { "type": "string", "description": "This attributes identifies whether or not this is the default payment instrument for receiving money. If multiple aliases are associated with this payment instrument, this attribute will show 'True' if the payment instrument is the default for at least one of the aliases. Otherwise, this attribute will show 'False' if this payment instrument is not the default for any aliases." }, "merchantId": { "type": "string", "description": "A 16 digit-number as per Mobile Push Payment Program Implementation Guide to receive payment by merchant or agent." }, "statusChangeDateTime": { "type": "string", "description": "The date and time when the status of an alias is changed. It is in Coordinated Universal Time (UTC)." } }, "description": "Depending on the selected type of alias reports, this contains a list of consumer, merchant or agent alias records." }, "AliasResponse-1": { "type": "object", "properties": { "guid": { "type": "string", "description": "This attribute represents the unique id for a payment instrument belonging to a consumer cardholder." } }, "description": "Response if a recipient is successfully updated." }, "MultiReverseFundsTransactionRequests": { "required": [ "amount", "cardAcceptor", "localTransactionDateTime", "originalDataElements", "retrievalReferenceNumber", "senderCurrencyCode", "senderPrimaryAccountNumber", "systemsTraceAuditNumber", "transactionIdentifier" ], "type": "object", "properties": { "amount": { "type": "number", "description": "The total amount to be sent to the recipient", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3" }, "networkId": { "type": "integer", "description": "This contains a code that specifies the network to be used for transmission of the message and determines the program rules that apply to the transaction.

    Refer to Network ID

    Note:
    For ReverseFundsTransactions(AFTR) and MultiReverseFundsTransactions (MULTIAFTR) originators must populate the networkId returned in the original PullFundsTransactions(AFT) and MultiPullFundsTransactions (MULTIAFT) response.
    Supported only in US for domestic transactions.", "x-variant": "| positive, Length: totaldigits 2" }, "surcharge": { "type": "string", "description": "When present, this field contains the sender's surcharge as assessed by the originator. Values in this field must be in the same currency and format as defined in the amount field.", "format": "double", "x-variant": "| Length: totalDigits12, fractionDigits 3 (minimum value is 0)" }, "cardAcceptor": { "required": [ "address", "idCode", "name", "terminalId" ], "type": "object", "properties": { "name": { "type": "string", "description": "This field should contain the name of the originator or the money transfer operator.", "x-variant": "| Length: 1 - 25" }, "idCode": { "type": "string", "description": "An identifier for the card acceptor (Visa Direct Originator). This value should be unique for each originator for whom you are sending transactions.", "x-variant": "| Length: 1 - 15" }, "address": { "required": [ "country" ], "type": "object", "properties": { "state": { "type": "string", "description": "Use a 2-character abbreviated states code or territory code as the state value.", "x-variant": "| Length: 2" }, "county": { "type": "string", "x-variant": "| Length: 3" }, "country": { "type": "string", "description": "This field must contain the 3-character alpha country code for the country of the originator or money transfer operator.

    Refer to ISO Codes", "x-variant": "| Length: 3" }, "zipCode": { "type": "string", "x-variant": "| Length: 5 - 9" } } }, "terminalId": { "type": "string", "description": "The identifier for the terminal at a card acceptor location. If sending transactions from a card not present environment, use the same value for all transactions.", "x-variant": "| Length: 1 - 8" } } }, "memberComments": { "maxLength": 254, "minLength": 1, "type": "string", "description": "This field can be optionally used to send and receive comments by service providers. Issuers can optionally include new text in this field in the response. If the issuer does not include this field, Visa will inject the value from the request in the response and send it back to the service provider." }, "senderReference": { "maxLength": 16, "type": "string", "description": "If the transaction is a money transfer, pre-paid load, or credit card bill pay, and if the sender intends to fund the transaction with a non-financial instrument (for example, cash), a reference number unique to the sender is required.

    If the transaction is a funds disbursement, the field is required.

    This field is required if senderAccountNumber is not sent.", "x-variant": "| only alphabets (a-z, A-Z) and/or numbers (0-9) allowed" }, "sharingGroupCode": { "type": "string", "description": "This field is optionally used by Push Payments Gateway participants (merchants and acquirers) to specify the network access priority.

    Refer to Sharing Group Code

    Note:
    Supported only in US for domestic transactions involving Push Payments Gateway Service.", "x-variant": "| Length: 30" }, "merchantReference": { "maxLength": 35, "type": "string", "description": "This is an alphanumeric value that carries the merchant’s unique identification number issued by the government or an authorized national entity. This field to be populated for Argentina domestic transaction when businessApplicationId has PS.", "x-variant": "| only alphabets (a-z, A-Z) and/or numbers (0-9) allowed" }, "pointOfServiceData": { "type": "object", "properties": { "panEntryMode": { "type": "integer", "description": "For a CardPresent scenario, this field is required.", "x-variant": "| positive, Length: totalDigits 2" }, "motoECIIndicator": { "type": "string", "description": "Note:
    If posConditionCode is 59, motoECIIndicator must be between 5-8. Default is set to 5 if not provided. If posConditionCode is 0, motoECIIndicator will not be sent.", "x-variant": "| Length: 1" }, "posConditionCode": { "type": "integer", "description": "For a CardPresent scenario, this field is required.", "x-variant": "| positive, Length: totalDigits 2" } } }, "senderCurrencyCode": { "type": "string", "description": "Use a 3-character alpha currency code for currency of the sender.

    Refer to ISO Codes", "x-variant": "| Length: 3" }, "feeProgramIndicator": { "type": "string", "description": "If present, a valid value is required. Spaces or special characters are not allowed.", "x-variant": "| alpha numeric, Length:3" }, "originalDataElements": { "type": "object", "properties": { "acquiringBin": { "type": "integer", "description": "This field must contain the Bank Identification Number (BIN) from the original AFT.", "x-variant": "| positive, Length: 6 - 11" }, "approvalCode": { "type": "string", "description": "This field, if present, must contain the approvalCode from the original AFT.", "x-variant": "| Length: 6" }, "transmissionDateTime": { "type": "string", "description": "This field must contain the transmissionDateTime from the original AFT
    Example: 2016-01-15T07:03:52", "format": "date-time", "x-variant": "| YYYY-MM-DDThh:mm:ss" }, "systemsTraceAuditNumber": { "type": "integer", "description": "This field must contain the systemsTraceAuditNumber from the original AFT.", "x-variant": "| positive, Length: 6" } } }, "senderCardExpiryDate": { "type": "string", "description": "The expiration date for the sender's Visa account number in senderPrimaryAccountNumber.", "x-variant": "| YYYY-MM" }, "transactionIdentifier": { "type": "integer", "description": "The VisaNet reference number for the transaction. You must use the transactionId from the initial AFT in this field.", "format": "int64", "x-variant": "| positive, Length: 15" }, "merchantPseudoAbaNumber": { "type": "string", "description": "This is a number that uniquely identifies the originator when they sign up to send Push Payment Gateway transactions. On enrollment, an originator will get a single pseudo-value that is assigned by Visa. The other networks will assign their own unique values for the originator.

    Note:
    Supported only in US for domestic transactions involving Push Payments Gateway Service.", "x-variant": "| Length: 9" }, "systemsTraceAuditNumber": { "type": "integer", "description": "A unique value should be used for each API method where this is required. however, when passing the Account Funding Transaction Reversal (AFTR) method, this value must match the systemsTraceAuditNumber previously passed with the AFT method for the current transaction.", "x-variant": "| positive, Length: 6" }, "localTransactionDateTime": { "type": "string", "format": "date-time", "x-variant": "| YYYY-MM-DDThh:mm:ss. The date and time you submit the transaction" }, "nationalReimbursementFee": { "type": "number", "description": "When present, this field contains the IRF fees.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "pointOfServiceCapability": { "type": "object", "properties": { "posTerminalType": { "type": "integer", "description": "Note: Valid values if card is present include 0, 3 and 4. If card is not present, valid value is 5.", "x-variant": "| positive, Length: totalDigits 1" }, "posTerminalEntryCapability": { "maximum": 1, "type": "integer", "description": "Note: Valid values if card is present include 0, 2 and 9. If card is not present, valid value is 1.", "x-variant": "| positive, Length: totalDigits 1" } } }, "retrievalReferenceNumber": { "type": "string", "description": "A value used to tie together service calls related to a single financial transaction. When passing Account Funding Transaction (AFT) and Original Credit Transaction (OCT) methods, this value must differ between the two methods. When passing the Account Funding Transaction Reversal (AFTR) method, this value must match the retrievalReferenceNumber previously passed with the AFT method for this transaction.

    Recommended Format: ydddhhnnnnnn

    The first fours digits must be a valid yddd date in the Julian date format, where the first digit = 0-9 (last digit of current year) and the next three digits = 001-366 (number of the day in the year).

    hh can be the two digit hour in a 24 hour clock (00-23) during which the transaction is performed.

    nnnnnn can be the systemsTraceAuditNumber or any 6 digit number.", "x-variant": "| Recommended Format:ydddhhnnnnnn(numeric characters only), Length: 12" }, "argentinaReimbursementFee": { "type": "number", "description": "Optional, when present, this field contains the Argentina member supplied reimbursement fee.
    Note:
    If a currency has one decimal place, the last digit of this field must be zero.
    If a currency has no decimal place, the last two digits of this field must be zero.", "format": "double", "x-variant": "| Length: totalDigits 10, fractionDigits 2 (minimum value is 0, maximum value is 99999999.99)" }, "merchantVerificationValue": { "required": [ "mvvAcquirerAssigned", "mvvVisaAssigned" ], "type": "object", "properties": { "mvvVisaAssigned": { "type": "string", "description": "Visa assigned MVV value. E.g. 0A45AF", "x-variant": "| Length: 6, hexbinary format" }, "mvvAcquirerAssigned": { "type": "string", "description": "Visa assists the acquirer in assigning the last four. E.g. 98FC", "x-variant": "| Length: 4, hexbinary format" } }, "description": "Merchant Verification Value(MVV) is used to identify merchants that participate in a variety of programs. The MVV is unique to the merchant." }, "senderPrimaryAccountNumber": { "type": "string", "description": "The primary account number of the sender's account.", "x-variant": "| Length: 13 - 19" }, "settlementServiceIndicator": { "type": "integer", "description": "This flag enables the originator to request for a particular settlement service to be used for settling the transaction.

    Valid values are:
    0 - International Settlement
    9 - VIP to decide
    8 - National Settlement

    Note: The default value is 9. This field is only relevant for specific countries where the acquirer has to select 8 in order to settle in the national net settlement service. ", "x-variant": "positive | Length: totalDigits 1" }, "foreignExchangeFeeTransaction": { "type": "number", "description": "When present, this field contains the sender's foreign exchange markup fee (markup above the wholesale or VisaNet exchange rate as assessed by the originator. Values in this field must be in the same currency and format as defined in the amount field.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3" }, "senderIdentificationNumberBusiness": { "type": "string", "description": "Conditional.

    This is an alphanumeric value that carries the merchant’s value-added tax (VAT) registration number or single business reference number (SBRN) for the business issued to by the government or an authorized national entity, then this field needs to be populated for Argentina domestic transactions when businessApplicationId has PS.", "x-variant": "| maxLength: 20" } } }, "AliasResponse-2": { "type": "object", "properties": { "guid": { "type": "string", "description": "This attribute represents the unique id for a payment instrument belonging to a consumer cardholder." } }, "description": "Response if an alias mapping is successfully created." }, "MerchandiseReturnReversalTransactionResponse": { "required": [ "actionCode", "responseCode", "transactionIdentifier", "transmissionDateTime" ], "type": "object", "properties": { "actionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "It contains a code that defines the response to a request.
    Refer to actionCode" }, "approvalCode": { "maxLength": 6, "minLength": 6, "type": "string", "description": "The authorization code from the issuer." }, "responseCode": { "maxLength": 1, "minLength": 1, "type": "string", "description": "The source for the response; typically, either the recipient issuer or a Visa system.Refer to The VisaNet Response Source for the transaction" }, "settlementFlags": { "required": [ "settlementResponsibilityFlag" ], "type": "object", "properties": { "givUpdatedFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "settlementServiceFlag": { "type": "string", "description": "Possible values are:
    0 - International Settlement
    9 - VIP to decide
    8 - National Settlement
    ", "x-variant": "| Length: 1, hexbinary format" }, "givPreviouslyUpdatedFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "settlementResponsibilityFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" } } }, "statusIdentifier": { "type": "string", "description": "required when call times out" }, "feeProgramIndicator": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Optional field which may be populated by recipient where applicable." }, "transmissionDateTime": { "type": "string", "description": "Transmission date and time", "format": "date-time" }, "transactionIdentifier": { "type": "string", "description": "It contains a right-justified, VisaNet generated Transaction Identifier (TID)." }, "additionalTokenRespInfo": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field when present in the API response identifies if the transaction is eligible for token services. Valid token service values are: 1 (Token program).

    This field will not be sent in the response if the transaction is ineligible for token services." }, "merchantVerificationValue": { "maxLength": 10, "type": "string", "description": "The concatenated Merchant Verification Value of Visa assigned and Acquirer assigned value is returned.", "format": "hexbinary" } } }, "AliasInquiryResponse": { "required": [ "summary" ], "type": "object", "properties": { "details": { "$ref": "#/components/schemas/AliasInquiryDetails" }, "summary": { "$ref": "#/components/schemas/AliasInquirySummary" } }, "description": "Alias Inquiry Response Payload" }, "AdjustFundsTransactionPostResponse-1": { "required": [ "actionCode", "dateAndTimeTransmission", "transactionIdentifier" ], "type": "object", "properties": { "actionCode": { "type": "string", "description": "The results of the transaction request

    Refer to actionCode", "x-variant": "| Length: 2" }, "settlementFlags": { "required": [ "settlementResponsibilityFlag" ], "type": "object", "properties": { "givUpdatedFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "senderReference": { "maxLength": 16, "type": "string", "description": "If the transaction is a money transfer, pre-paid load, or credit card bill pay, and if the sender intends to fund the transaction with a non-financial instrument (for example, cash), a reference number unique to the sender is required.

    If the transaction is a funds disbursement, the field is required.

    This field is required if senderAccountNumber is not sent.", "x-variant": "| only alphabets (a-z, A-Z) and/or numbers (0-9) allowed" }, "customerReference": { "type": "string", "description": "This is an alphanumeric value that carries the value that identifies the customer, the value may be a reference number or code or generic number. This field needs to be populated for Argentina domestic (Credit) transactions when businessApplicationId has PS.", "x-variant": "| Length:17" }, "merchantReference": { "maxLength": 35, "type": "string", "description": "This is an alphanumeric value that carries the merchant’s unique identification number issued by the government or an authorized national entity. This field to be populated for Argentina domestic (Debit) transaction when businessApplicationId has PS.", "x-variant": "| only alphabets (a-z, A-Z) and/or numbers (0-9) allowed" }, "settlementServiceFlag": { "type": "string", "description": "Possible values are:
    0 - International Settlement
    9 - VIP to decide
    8 - National Settlement
    ", "x-variant": "| Length: 1, hexbinary format" }, "givPreviouslyUpdatedFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "settlementResponsibilityFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "senderIdentificationNumberBusiness": { "type": "string", "description": "Conditional.

    This is an alphanumeric value that carries the merchant’s value-added tax (VAT) registration number or single business reference number (SBRN) for the business issued to by the government or an authorized national entity, then this field needs to be populated for Argentina domestic (Debit) transaction when businessApplicationId has PS.", "x-variant": "| maxLength: 20" }, "senderIdentificationNumberIndividual": { "type": "string", "description": "This is an alphanumeric value that contains the customer’s VAT registration number for the individual tax identification.
    This field is to be populated if the recipient is an Individual (e.g. P2P payments). This field needs to be populated for Argentina domestic (Credit) transactions when businessApplicationId has PS.", "x-variant": "| maxLength: 13" } } }, "originalActionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "The action code of the original transaction request
    Refer to actionCode
    Note: This field is only present, when the request is identified as a duplicate." }, "transactionIdentifier": { "type": "integer", "description": "Visa transaction identifier .", "format": "int64", "x-variant": "| positive, (when call does not timeout) Length: 15" }, "dateAndTimeTransmission": { "type": "string", "description": "This field contains the year, month, day, and time the transaction was processed by Visa Direct. Example: 2016-01-15T07:03:52.000Z", "format": "date-time", "x-variant": "| YYYY-MM-DDThh:mm:ss" }, "cpsAuthorizationCharacteristicsIndicator": { "type": "string", "description": "ConditionalIndicates whether AFT transaction has qualified for CPS. Possible values are : whatever was sent in the request will be sent back in this response field.
    Note:Supported only in US for CPS (Custom Payment Service). Please reach out to your Visa representative for details.", "x-variant": "| Length:1" } } }, "CardAcceptorAddressmrr": { "type": "object", "properties": { "city": { "maxLength": 13, "minLength": 1, "type": "string", "description": "Originator must populate this field with the city name of the Merchant." }, "state": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Use a 2-character abbreviated states code or territory code as the state value. Make sure to give a valid state code for given country." }, "county": { "maxLength": 3, "minLength": 3, "type": "string", "description": "This is to be populated with the county of the Merchant." }, "country": { "maxLength": 3, "minLength": 2, "type": "string", "description": "Originator must populate this field with the country code of the Merchant. Refer to [ISO Codes](https://developer.visa.com/guides/request_response_codes#isoCodes)." }, "zipCode": { "maxLength": 9, "minLength": 5, "type": "string", "description": "Zip/Postal code of the merchant." } } }, "MerchandiseReturnTransactionResponse-1": { "required": [ "actionCode", "responseCode", "transactionIdentifier", "transmissionDateTime" ], "type": "object", "properties": { "actionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "It contains a code that defines the response to a request.
    Refer to actionCode" }, "approvalCode": { "maxLength": 6, "minLength": 6, "type": "string", "description": "The authorization code from the issuer." }, "cardAcceptor": { "$ref": "#/components/schemas/CardAcceptormr" }, "responseCode": { "maxLength": 1, "minLength": 1, "type": "string", "description": "The source for the response; typically, either the recipient issuer or a Visa system. The VisaNet Response Source for the transaction" }, "settlementFlags": { "required": [ "settlementResponsibilityFlag" ], "type": "object", "properties": { "givUpdatedFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "settlementServiceFlag": { "type": "string", "description": "Possible values are:
    0 - International Settlement
    9 - VIP to decide
    8 - National Settlement
    ", "x-variant": "| Length: 1, hexbinary format" }, "givPreviouslyUpdatedFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "settlementResponsibilityFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" } } }, "statusIdentifier": { "type": "string", "description": "required when call times out" }, "originalActionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "The action code of the original transaction request
    Refer to actionCode
    Note: This field is only present, when the request is identified as a duplicate." }, "feeProgramIndicator": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Optional field which may be populated by recipient where applicable." }, "transmissionDateTime": { "type": "string", "description": "Transmission date and time", "format": "date-time" }, "transactionIdentifier": { "type": "string", "description": "It contains a right-justified, VisaNet generated Transaction Identifier (TID)." }, "retrievalReferenceNumber": { "maxLength": 12, "minLength": 12, "type": "string", "description": "This is a key data element for matching a message to others within a given transaction set." } } }, "PersonToMerchantAdviceRequest": { "maxLength": 28, "minLength": 25, "required": [ "decimalPositionIndicator", "encConsumerName", "encConsumerPAN", "encMerchantPAN", "localTransactionDate", "localTransactionTime", "messageType", "originatorBIN", "originatorCountryCode", "retrievalReferenceNumber", "systemTraceAuditNumber", "transactionAmount", "transactionCurrencyCode", "transmissionDateTime", "visaTransactionId" ], "type": "object", "properties": { "refId": { "maxLength": 28, "type": "string", "description": "Conditional. This field is sent if it is reflected in the merchant information display. It will otherwise be sent as NULL if it is not populated." }, "billId": { "maxLength": 25, "minLength": 25, "type": "string", "description": "Conditional. This is the invoice number or some other reference for billing purposes. This field will be sent as NULL if it is not populated." }, "messageType": { "type": "string", "description": "Possible values based on Message Type Identifier are:
    • 0200 : 'Recipient Timeout'
    • 0220 : 'Advice' (STIP decline advice)
    • 0210 : 'Reject' (VIP reject)
    " }, "billIdFormat": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Conditional. Populate 0 (Primary ID, as defined by mVisa)
    This field will be sent as NULL if it is not populated." }, "responseCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Contains a code (also known as 'Action Code') that defines the response to a request. Refer to actionCode. This field is to be sent as NULL when messageType is 0200 - Recipient Timeout." }, "originatorBIN": { "maxLength": 6, "minLength": 6, "type": "string", "description": "This BIN number identifies the originator of merchant payment transaction." }, "rejectionCode": { "maxLength": 4, "minLength": 4, "type": "string", "description": "Only populated if Advice message type is ‘Reject’. This field contains the VisaNet rejection code." }, "authIdResponse": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Contains the authorization code provided by the recipient when a transaction is approved. Visa recommends that recipient maintains uniqueness of this code for a given merchant PAN, however Visa would not maintain any checks for uniqueness. This field is to be sent as NULL if it is not populated." }, "encConsumerPAN": { "maxLength": 500, "type": "string", "description": "Consumer PAN. This is a 16-digit PAN. The field is sent in encrypted format using the AES GCM (i.e. Advanced Encryption Standard (AES) in Galois/Counter Mode (GCM)) algorithm for JSON Web Encryption (JWE) objects with 256-bit key (i.e. the shared secret between Visa and client for encryption and decryption of payload data). The field data type will be string(16-19) after decryption." }, "encMerchantPAN": { "maxLength": 500, "type": "string", "description": "Merchant PAN. This is a 16-digit PAN. The field is sent in encrypted format using the AES GCM (i.e. Advanced Encryption Standard (AES) in Galois/Counter Mode (GCM)) algorithm for JSON Web Encryption (JWE) objects with 256-bit key (i.e. the shared secret between Visa and client for encryption and decryption of payload data). The field data type will be string(16-19) after decryption." }, "encConsumerName": { "maxLength": 500, "type": "string", "description": "Consumer name. If consumer name is greater than 30 characters, then only first 30 characters will be expected. The field is sent in encrypted format using the AES GCM (i.e. Advanced Encryption Standard (AES) in Galois/Counter Mode (GCM)) algorithm for JSON Web Encryption (JWE) objects with 256-bit key (i.e. the shared secret between Visa and client for encryption and decryption of payload data)." }, "otherPhoneNumber": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Conditional. When present, this field contains the sender's phone number. This field is applicable only for merchant payment transaction. Originator should populate the consumer mobile number if captured on the mobile app for this transaction. Data should not exceed 16 alphanumeric characters." }, "otherEmailAddress": { "maxLength": 99, "minLength": 1, "type": "string", "description": "Conditional. When present, this field contains the sender's email address. This field is applicable only for merchant payment transaction. Originator should populate the consumer email address if captured on the mobile app for this transaction. Data should not exceed 99 alphanumeric characters." }, "transactionAmount": { "maxLength": 12, "type": "string", "description": "Transaction amount in merchant currency. The value in this field includes tip or convenience fees, if applicable." }, "visaTransactionId": { "maxLength": 15, "minLength": 15, "type": "string", "description": "Numeric. It contains a right-justified, VisaNet generated Transaction Identifier (TID) that is unique for each request. The identifier links original messages to subsequent messages, such as those for exception item processing and clearing record." }, "localTransactionDate": { "maxLength": 4, "minLength": 4, "type": "string", "description": "It contains the local month and day on which the transaction was originated. The date is in mmdd format." }, "localTransactionTime": { "maxLength": 6, "minLength": 6, "type": "string", "description": "The time the transaction takes place, expressed in the local time of the originator. The time is in hhmmss format." }, "transactionFeeAmount": { "maxLength": 8, "type": "string", "description": "Conditional. In certain case the merchant display information could contain convenience fee applicable to the transaction. Originators are required to populate convenience fee amount in this field, if presented by merchant. This field will be sent as NULL if it is not populated." }, "transmissionDateTime": { "maxLength": 10, "minLength": 10, "type": "string", "description": "The date and time the request was submitted to Visa. Format: MMDDhhmmss." }, "originatorCountryCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "A 3-digit ISO-4217 code that identifies the country of the originating BIN.
    Refer to ISO codes." }, "systemTraceAuditNumber": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Numeric. It is a key data element used to match a response to its request or to match a message to others for a given transaction." }, "velocityLimitIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Conditional. This field contains the velocity limit related information that Acquirer can use in making the authorization decision:
    • 1 = 1-day count or amount exceeded.
    • 2 = 7-day count or amount exceeded.
    • 3 = 30-day count or amount exceeded.
    The field is populated with priority of 1, 2 and then 3.
    This field is sent if recipient has opted for VisaNet to forward them the OCT when a velocity limit has been exceeded.
    This field will be sent as NULL if it is not populated." }, "transactionCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The 3-digit ISO-4217 code in this field reflects the currency associated to the transactionAmount field." }, "decimalPositionIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Indicates the number of decimal positions following the amount field. This field is to be sent as NULL if it is not populated." }, "retrievalReferenceNumber": { "maxLength": 12, "minLength": 12, "type": "string", "description": "Numeric. It is a key data element for matching a message to others within a given transaction set. The same number appears in all related messages: response, advice, reversal, chargeback, chargeback reversal, or representment. The format is recommended to be ydddhhnnnnnn." } }, "description": "Request body for Receive Person-to-Merchant Advice API" }, "ReverseFundsTransactionGetResponse": { "required": [ "actionCode", "responseCode", "transactionIdentifier", "transmissionDateTime" ], "type": "object", "properties": { "actionCode": { "type": "string", "description": "The results of the transaction request

    Refer to actionCode
    Note: : The VisaNet Response Code for the transaction", "x-variant": "| Length: 2" }, "last4ofPAN": { "type": "integer", "description": "This field contains the last four digits of the cardholder primary account number (PAN)" }, "approvalCode": { "type": "string", "description": "The authorization code from the issuer.", "x-variant": "| Length: 6" }, "responseCode": { "type": "string", "description": "The source for the response; typically, either the recipient issuer or a Visa system.

    Refer to responseCode
    Note: : The VisaNet Response Source for the transaction", "x-variant": "| Length: 1" }, "memberComments": { "maxLength": 254, "minLength": 1, "type": "string", "description": "This field can be optionally used to send and receive comments by service providers. Issuers can optionally include new text in this field in the response. If the issuer does not include this field, Visa will inject the value from the request in the response and send it back to the service provider." }, "statusIdentifier": { "type": "string", "x-variant": "| required when call times out" }, "customerReference": { "type": "string", "description": "This is an alphanumeric value that carries the value that identifies the customer, the value may be a reference number or code or generic number. This field to be populated for Argentina domestic transactions when businessApplicationId has PS.", "x-variant": "| Length:17" }, "feeProgramIndicator": { "type": "object", "properties": {}, "x-variant": "| Length:3" }, "transmissionDateTime": { "type": "string", "description": "Example: 2016-01-15T07:03:52:000Z", "format": "date-time", "x-variant": "| YYYY-MM-DDThh:mm:ss" }, "transactionIdentifier": { "type": "integer", "description": "The VisaNet reference number for the transaction

    Note:
    transactionIdentifier is a Visa generated field that client recieves in the response message.
    Note: As an exception Visa allows clients to use the transactionIdentifier received in the AFT response into the subsequent OCT message - this is to simplify matching the pull and push transaction pair and reconciliation.", "format": "int64", "x-variant": "| positive (when call does not timeout), Length: 15" }, "senderIdentificationNumberIndividual": { "type": "string", "description": "This is an alphanumeric value that contains the customer’s VAT registration number for the individual tax identification.
    This field is to be populated if the recipient is an Individual (e.g. P2P payments). This field to be populated for Argentina domestic transactions when businessApplicationId has PS.", "x-variant": "| maxLength: 13" } } }, "AdjustFundsTransactionPostPayload-1": { "required": [ "acquirerCountryCode", "acquiringBin", "amount", "businessApplicationId", "cardAcceptor", "localTransactionDateTime", "merchantCategoryCode", "retrievalReferenceNumber", "senderCurrencyCode", "senderPrimaryAccountNumber", "systemsTraceAuditNumber", "transactionIdentifier" ], "type": "object", "properties": { "amount": { "type": "number", "description": "The amount of the transaction, inclusive of all fees assessed for the transaction, including currency conversion fees.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3" }, "acquiringBin": { "type": "integer", "description": "The Bank Identification Number (BIN) under which your Visa Direct is registered. This must match the information provided during enrollment.", "x-variant": "| positive, Length: 6 - 11" }, "cardAcceptor": { "required": [ "address", "idCode", "name", "terminalId" ], "type": "object", "properties": { "name": { "type": "string", "description": "card acceptor name as it is sent in the original PullFundsTransactions.", "x-variant": "| Length: 1 - 25" }, "idCode": { "type": "string", "description": "A unique identifier for the card acceptor (Visa Direct merchant).", "x-variant": "| Length: 1 - 15" }, "address": { "required": [ "country" ], "type": "object", "properties": { "state": { "type": "string", "description": "Should match the state information submitted in the original PullFundsTransactions", "x-variant": "| Length: 2" }, "county": { "type": "string", "description": "Should match the county information submitted in the original PullFundsTransactions", "x-variant": "| Length: 3" }, "country": { "type": "string", "description": "Should match the country information submitted in the original PullFundsTransactions", "x-variant": "| Length: 3" }, "zipCode": { "type": "string", "description": "Should match the zip code information submitted in the original PullFundsTransactions", "x-variant": "| Length: 5 - 9" } } }, "terminalId": { "type": "string", "description": "The identifier for the terminal at a card acceptor location. If sending transactions from a card not present environment, use the same value for all transactions.", "x-variant": "| Length: 1 - 8" } } }, "senderReference": { "maxLength": 16, "type": "string", "description": "If the transaction is a money transfer, pre-paid load, or credit card bill pay, and if the sender intends to fund the transaction with a non-financial instrument (for example, cash), a reference number unique to the sender is required.

    If the transaction is a funds disbursement, the field is required.

    This field is required if senderAccountNumber is not sent.", "x-variant": "| only alphabets (a-z, A-Z) and/or numbers (0-9) allowed" }, "customerReference": { "type": "string", "description": "This is an alphanumeric value that carries the value that identifies the customer, the value may be a reference number or code or generic number. This field needs to be populated for Argentina domestic (Debit) transactions when businessApplicationId has PS.", "x-variant": "| Length:17" }, "merchantReference": { "maxLength": 35, "type": "string", "description": "This is an alphanumeric value that carries the merchant’s unique identification number issued by the government or an authorized national entity. This field to be populated for Argentina domestic (Credit) transaction when businessApplicationId has PS.", "x-variant": "| only alphabets (a-z, A-Z) and/or numbers (0-9) allowed" }, "senderCurrencyCode": { "type": "string", "description": "Use a 3-character alpha or numeric currency code for currency of the sender. This code identifies the currency of the transaction amount sent in the amount field.", "x-variant": "| Length: 3" }, "acquirerCountryCode": { "type": "integer", "description": "Use a 3-digit numeric country code for the country of the BIN under which your Visa Direct program is registered.", "x-variant": "| Positive, Length: 3" }, "merchantCategoryCode": { "type": "integer", "description": "Contains a code describing the merchant's type of business product or service, also known as the merchant category code (MCC). These codes are based on the Merchant Classification Code Guideline available from the Bank Card Division of the ABA. Clients should send the same merchantCategoryCode that was submitted in the PullFundsTransactions", "x-variant": "| Positive, Length: 4" }, "senderCardExpiryDate": { "type": "string", "description": "The expiration date for the sender's Visa account number in senderPrimaryAccountNumber.", "x-variant": "| YYYY-MM" }, "businessApplicationId": { "type": "string", "description": "Identifies the Visa Direct use case required for processing. This must match the value provided in the request of PullFundsTransactions.", "x-variant": "| Length: 2" }, "transactionIdentifier": { "type": "integer", "description": "Clients should send the Visa transaction identifier returned in the response of PullFundsTransactions.", "format": "int64", "x-variant": "| positive, Length: 15" }, "systemsTraceAuditNumber": { "type": "integer", "description": "This field contains a number assigned by the merchant, service provider or acquirer that uniquely identifies a cardholder transaction and all message types (also known as system transactions) that comprise it per individual program rules. A unique value should be used for each API invocation.", "x-variant": "| positive, Length: 6" }, "localTransactionDateTime": { "type": "string", "description": "This field contains the local date and time when the transaction is submitted by a merchant, service provider or acquirer.", "format": "date-time", "x-variant": "| YYYY-MM-DDThh:mm:ss. This field contains the local month, day, and time on which the cardholder originated the transaction" }, "retrievalReferenceNumber": { "type": "string", "description": "This field contains a number that is used with other data elements as a key to identify and track all messages related to a given cardholder transaction; that is, to a given transaction set. Recommended format: ydddhhnnnnnn. The first four digits must be a valid yddd date in the Julian date format, where the first digit = 0-9 (last digit of current year) and the next three digits = 001-366 (number of the day in the year), hh can be the two digit hour in a 24 hour clock (00-23) during which the transaction is performed, nnnnnn can be the systemsTraceAuditNumber or any 6 digit number. A unique value should be used for each API invocation.", "x-variant": "| Recommended Format:ydddhhnnnnnn(numeric characters only), Length: 12" }, "argentinaReimbursementFee": { "type": "number", "description": "Optional, when present, this field contains the Argentina member supplied reimbursement fee.
    Note:
    If a currency has one decimal place, the last digit of this field must be zero.
    If a currency has no decimal place, the last two digits of this field must be zero.", "format": "double", "x-variant": "| Length: totalDigits 10, fractionDigits 2 (minimum value is 0, maximum value is 99999999.99)" }, "mexicoNationalServiceData": { "required": [ "reimbursementFee", "reimbursementFeeTax" ], "type": "object", "properties": { "irfType": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field contains one of the following values:
    0 - Unknown/default
    1 - Fixed
    2 - Ad valorem (%)
    3 - Composite (fixed amount and ad valorem)" }, "accountType": { "maxLength": 2, "minLength": 2, "type": "string", "description": "This field contains one of the following values:
    CO - Commercial products
    CR - Credit
    DB - Debit
    PL - Private label
    PP - Prepaid" }, "irfCategoryCode": { "maxLength": 2, "minLength": 1, "type": "string", "description": "This field optionally contains any value from 00 to 99." }, "merchantFiscalId": { "maxLength": 13, "type": "string", "description": "This field contains RFC for the merchant. This is an alphanumeric field. The RFC format can be AAAANNNNNNAAA, where A is alphanumeric value and N is a numeric value." }, "reimbursementFee": { "type": "number", "description": "This field contains the Client-Calculated Interchange Reimbursement Fee in the same currency as the transaction. It must not contain zeros.", "format": "double" }, "reimbursementFeeTax": { "type": "number", "description": "This field contains the VAT calculated for the IRF applicable to the transaction. It must not contain zeros.", "format": "double" } }, "description": "Settlement Service Data object for Mexico required if transaction indicates Mexico national settlement." }, "senderPrimaryAccountNumber": { "type": "string", "description": "This field contains a number identifying the customer account which could be a PAN or a token.", "x-variant": "| Length: 13 - 19" }, "settlementServiceIndicator": { "type": "integer", "description": "This flag enables the originator to request for a particular settlement service to be used for settling the transaction.

    Valid values are:
    0 - International Settlement
    9 - VIP to decide
    8 - National Settlement

    Note: The default value is 9. This field is only relevant for specific countries where the acquirer has to select 8 in order to settle in the national net settlement service. ", "x-variant": "positive | Length: totalDigits 1" }, "colombiaNationalServiceData": { "required": [ "countryCodeNationalService", "nationalNetReimbursementFeeBaseAmount" ], "type": "object", "properties": { "addValueTaxAmount": { "type": "number", "description": "This is the national government tax for added value of good or service.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "addValueTaxReturn": { "type": "number", "description": "This is base value of the IVA (Sales tax). Optional. This field indicates base value of the IVA ( Sales tax which is part of the benefit of the tax legislations for the 2% sale tax return to the cardholder.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "taxAmountConsumption": { "type": "number", "description": "This is the national consumption tax amount.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "nationalNetMiscAmount": { "type": "number", "description": "This is an amount field that contains an airport charge, cashback or a tip.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "emvTransactionIndicator": { "maxLength": 1, "type": "string", "description": "Contains one of the below valid values:
    0 - Does not apply to EMV
    1 - EMV transaction
    2 - Fallback transaction", "x-variant": "positive | Length: 1" }, "costTransactionIndicator": { "maxLength": 1, "type": "string", "description": "Contains one of the below valid values:
    0 - Not a cost inquiry amount
    1 - Cost inquiry transaction", "x-variant": "positive | Length: 1" }, "nationalChargebackReason": { "type": "integer", "description": "Contains a domestic chargeback reason code.", "x-variant": "| positive,Length: totalDigits 2" }, "nationalReimbursementFee": { "type": "number", "description": "Numeric entry indicating a fee for a National Settlement transaction. It must be zeros unless the transaction is a National Settlement transaction for a country using this capability. Two decimal positions are implied.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "nationalNetMiscAmountType": { "maxLength": 1, "type": "string", "description": "It identifies the type of the miscellaneous amount – i.e. whether it is one of:
    A - Airport charge
    C - Cashback
    T - Tip

    Must be one of the above valid values if nationalNetMiscAmount > 0.

    Must be skipped if nationalNetMiscAmount = 0.", "x-variant": "| Length: 1" }, "countryCodeNationalService": { "type": "integer", "description": "The acquirer's country code. Must be 170 for Colombia.", "x-variant": "| Length: 3" }, "nationalNetReimbursementFeeBaseAmount": { "type": "number", "description": "The client supplied interchange reimbursement amount expressed in the transaction currency. This must be less than the transaction amount.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" } }, "description": "Settlement Service Data object for Colombia required if transaction indicates Colombia national settlement" }, "senderIdentificationNumberBusiness": { "type": "string", "description": "Conditional.

    This is an alphanumeric value that carries the merchant’s value-added tax (VAT) registration number or single business reference number (SBRN) for the business issued to by the government or an authorized national entity, then this field needs to be populated for Argentina domestic (Credit) transaction when businessApplicationId has PS.", "x-variant": "| maxLength: 20" }, "senderIdentificationNumberIndividual": { "type": "string", "description": "This is an alphanumeric value that contains the customer’s VAT registration number for the individual tax identification.
    This field is to be populated if the recipient is an Individual (e.g. P2P payments). This field needs to be populated for Argentina domestic (Debit) transactions when businessApplicationId has PS.", "x-variant": "| maxLength: 13" }, "cpsAuthorizationCharacteristicsIndicator": { "type": "string", "description": "Conditional
    Request for CPS authorization. If present, a valid value is required. Spaces or special characters are not allowed. Possible values are : Y (Transaction requests participation).

    Note:Supported only in US for CPS (Custom Payment Service). This field is required for the transaction to qualify for CPS qualified Interchange rates and to avoid Transaction Integrity Fee.
    Please reach out to your Visa representative for details.", "x-variant": "| Length:1" } } }, "MultiReverseFundsTransactionGetResponse": { "required": [ "actionCode", "responseCode", "statusIdentifier", "transactionIdentifier", "transmissionDateTime" ], "type": "object", "properties": { "actionCode": { "type": "string", "description": "The results of the transaction request

    Refer to actionCode
    Note: : The VisaNet Response Code for the transaction", "x-variant": "| Length: 2" }, "last4ofPAN": { "type": "integer", "description": "This field contains the last four digits of the cardholder primary account number (PAN)" }, "approvalCode": { "type": "string", "description": "The authorization code from the issuer.", "x-variant": "| Length: 6" }, "responseCode": { "type": "string", "description": "The source for the response; typically, either the recipient issuer or a Visa system.

    Refer to responseCode
    Note: : The VisaNet Response Source for the transaction", "x-variant": "| Length: 1" }, "memberComments": { "maxLength": 254, "minLength": 1, "type": "string", "description": "This field can be optionally used to send and receive comments by service providers. Issuers can optionally include new text in this field in the response. If the issuer does not include this field, Visa will inject the value from the request in the response and send it back to the service provider." }, "settlementFlags": { "required": [ "settlementResponsibilityFlag" ], "type": "object", "properties": { "givUpdatedFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "settlementServiceFlag": { "type": "string", "description": "Possible values are:
    0 - International Settlement
    9 - VIP to decide
    8 - National Settlement
    ", "x-variant": "| Length: 1, hexbinary format" }, "givPreviouslyUpdatedFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "settlementResponsibilityFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" } } }, "statusIdentifier": { "type": "string", "x-variant": "| when call times out" }, "customerReference": { "type": "string", "description": "This is an alphanumeric value that carries the value that identifies the customer, the value may be a reference number or code or generic number. This field to be populated for Argentina domestic transactions when businessApplicationId has PS.", "x-variant": "| Length:17" }, "feeProgramIndicator": { "type": "object", "properties": {}, "x-variant": "| Length:3" }, "transmissionDateTime": { "type": "string", "description": "Example: 2016-01-15T07:03:52:000Z", "format": "date-time", "x-variant": "| YYYY-MM-DDThh:mm:ss" }, "transactionIdentifier": { "type": "integer", "description": "The VisaNet reference number for the transaction

    Note:
    transactionIdentifier is a Visa generated field that client recieves in the response message.
    Note: As an exception Visa allows clients to use the transactionIdentifier received in the AFT response into the subsequent OCT message - this is to simplify matching the pull and push transaction pair and reconciliation.", "format": "int64", "x-variant": "| positive (when call does not timeout), Length: 15" }, "senderIdentificationNumberIndividual": { "type": "string", "description": "This is an alphanumeric value that contains the customer’s VAT registration number for the individual tax identification.
    This field is to be populated if the recipient is an Individual (e.g. P2P payments). This field to be populated for Argentina domestic transactions when businessApplicationId has PS.", "x-variant": "| maxLength: 13" } } }, "DeferredOCTAdviceRequest": { "required": [ "accountNumberMasked", "amount", "amountInTransactionCurrency", "countryCodePrimaryAccountNumber", "dateAndTimeTransmission", "dateReconciliation", "localTransactionDate", "localTransactionTime", "originalActionCode", "retrievalReferenceNumber", "systemsTraceAuditNumber", "transactionIdentifier", "transactionTypeCode" ], "type": "object", "properties": { "amount": { "maxLength": 12, "type": "string", "description": "Amount in transaction currency." }, "networkId": { "maxLength": 4, "type": "string", "description": "Network ID on which the transaction was performed.Takes the format of 000x where x is a number.Valid Values include*
    0002 - Visa/PLUS
    0016 - Maestro
    0003 - Interlink
    0008,0010,0011,0012,0015 - Star" }, "acquringBin": { "maxLength": 11, "minLength": 6, "type": "string", "description": "The Bank Identification Number (BIN) under which the Visa Direct solution is registered." }, "approvalCode": { "maxLength": 6, "type": "string", "description": "It contains the authorization code provided by the Issuer when a transaction is approved, if the approval code ISO field 38 is present in the 0210 response from Issuer, then Visa would populate the same value and send it in the advice." }, "cardAcceptor": { "required": [ "address", "idCode", "name" ], "type": "object", "properties": { "name": { "type": "string", "description": "Card acceptor name that was sent in the original request.", "x-variant": "| Length: 1 - 25" }, "idCode": { "type": "string", "description": "A unique identifier for the card acceptor that was sent in the original request.", "x-variant": "| Length: 1 - 15" }, "address": { "required": [ "city", "country" ], "type": "object", "properties": { "city": { "type": "string", "description": "Card acceptor city that was sent in the original request.", "x-variant": "| Length: 13" }, "state": { "type": "string", "description": "Card acceptor state or province code that was sent in the original request.", "x-variant": "| Length: 2" }, "county": { "type": "string", "description": "Card acceptor county code that was sent in the original request.", "x-variant": "| Length: 2" }, "country": { "type": "string", "description": "Card acceptor country code that was sent in the original request.", "x-variant": "| Length: 2" }, "postalCode": { "type": "string", "description": "Card acceptor postal code that was sent in the original request.", "x-variant": "| Length: 14" } } }, "terminalId": { "type": "string", "description": "The identifier for the terminal at a card acceptor location that was sent in the original request.", "x-variant": "| Length: 1 - 8" } } }, "dateConversion": { "type": "string", "description": "It contains the effective date of the conversion rate used to convert the transaction amount to the settlement amount.", "format": "yyyy-MM-dd" }, "cardProductCode": { "maxLength": 2, "minLength": 1, "type": "string", "description": "Used to identify the specific card product." }, "settlementAmount": { "maxLength": 12, "type": "string", "description": "This field contains the transaction amount converted to settlement currency." }, "messageReasonCode": { "maxLength": 4, "type": "string", "description": "4 digits message reason code to give processing intent:9052 - Confirmation Advice" }, "cardSequenceNumber": { "maxLength": 3, "minLength": 3, "type": "string", "description": "3 digit number assigned to a card when two or more cards are associated with the same PAN." }, "dateReconciliation": { "type": "string", "description": "This contains the date on which the transactions were settled.", "format": "yyyy-MM-dd" }, "originalActionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "The action code of the original transaction request Refer to actionCode
    https://developer.visa.com/request_response_codes#action_code" }, "pointOfServiceData": { "required": [ "panEntryMode", "posConditionCode" ], "type": "object", "properties": { "panEntryMode": { "type": "integer", "description": "A 2-digit code that was sent in the original request.", "x-variant": "| positive, Length: totaldigits 2" }, "motoECIIndicator": { "maxLength": 2, "type": "string", "description": "This 2-digit code identifies the level of security used in an electronic commerce transaction which VisaNet forwards in requests and advices to issuers that have successfully tested to receive them.", "x-variant": "| Length: 2" }, "posConditionCode": { "type": "integer", "description": "Contains a code identifying transaction conditions that was sent in the original request.", "x-variant": "| positive,Length: totalDigits 2" } } }, "settlementConvRate": { "maxLength": 7, "minLength": 7, "type": "string", "description": "This field contains the rate used by VisaNet to convert the transaction amount to settlement amount." }, "settlementCurrency": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The 3-digit ISO-4217 code in this field reflects the currency associated to the settlementAmount field." }, "accountNumberMasked": { "maxLength": 19, "minLength": 13, "type": "string", "description": "Contains the masked PAN number. Populated from the primary account number (PAN) contained in the original authorization request." }, "deferredOCTDateTime": { "maxLength": 12, "minLength": 12, "type": "string", "description": "if exist, identifies when transaction was processed in VisaNet . Format of this value will be in CCYYMMDDHHMM.

    CC - Current Century
    YY - Year
    MM - Month
    DD - date
    HH - Hour
    MM - Minute" }, "feeProgramIndicator": { "maxLength": 3, "minLength": 3, "type": "string", "description": "This field contains an interchange reimbursement fee program indicator (FPI), which is used in assessing the fee amount that was sent in the original request." }, "transactionTypeCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Processing code:
    26 - 'Original Credit'" }, "localTransactionDate": { "maxLength": 4, "minLength": 4, "type": "string", "description": "It contains the month and day on which the transaction was originated by the originator. The date is in mmdd format." }, "localTransactionTime": { "maxLength": 6, "minLength": 6, "type": "string", "description": "The time the transaction takes place, expressed in the local time of the originator. The time is in hhmmss format." }, "merchantCategoryCode": { "maxLength": 4, "minLength": 4, "type": "string", "description": "Contains a code describing the merchant's type of business product or service, also known as the merchant category code (MCC) that was sent in the original request." }, "transactionIdentifier": { "maxLength": 15, "minLength": 15, "type": "string", "description": "The VisaNet reference number for the transaction. This is the same transactionIdentifier previously received in the response for PushFunds transaction API calls.Note: When stan and rrn parameters combination is not used as query parameters, this parameter must be included as a query parameter." }, "deferredOCTRequestType": { "maxLength": 2, "minLength": 2, "type": "string", "description": "This field identifies the deferredOCTData requestType that was sent in the original request." }, "cardholderBillingAmount": { "maxLength": 12, "type": "string", "description": "Amount in card holder billing currency." }, "dateAndTimeTransmission": { "type": "string", "description": "This field contains the date and time the request is submitted to VisaNet.", "format": " yyyy-MM-ddTHH:mm:ss.SSS" }, "systemsTraceAuditNumber": { "maxLength": 6, "minLength": 6, "type": "string", "description": "A number assigned by the message initiator that uniquely identifies a transaction. This is the same as systemsTraceAuditNumber previously sent in the request for the original deferred OCT request." }, "prepaidLoadBalanceAmount": { "maxLength": 12, "minLength": 12, "type": "string", "description": "Min Inclusive: -999999999.999.
    Max Inclusive: 999999999.999.
    Note: Applicable only for Top Up Transactions." }, "retrievalReferenceNumber": { "maxLength": 12, "type": "string", "description": "It is a key data element for matching a message to others within a given transaction set. This is the same as retrievalReferenceNumber previously sent in the request for the original deferred OCT request." }, "cardHolderBillingConvRate": { "maxLength": 7, "minLength": 7, "type": "string", "description": "This field contains the rate used by VisaNet to convert the transaction amount to cardholder billing amount." }, "cardholderBillingCurrency": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The 3-digit ISO-4217 code in this field reflects the currency associated to the cardholderBillingAmount field." }, "amountInTransactionCurrency": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The 3-digit ISO-4217 code in this field reflects the currency associated to the transactionAmount field." }, "prepaidLoadBalanceCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The 3-digit ISO-4217 code in this field reflects the currency associated with prepaidLoadBalance" }, "countryCodePrimaryAccountNumber": { "maxLength": 6, "minLength": 6, "type": "string", "description": "The 3-digit ISO-4217 code in this field reflects the currency associated to the card issuer institution." }, "settlementConvRateDecimalPosition": { "maxLength": 9, "minLength": 1, "type": "string", "description": "This is a multicurrency field. It contains the rate used by Visa to convert the transaction amount to the settlement amount." }, "cardHolderBillingConvRateDecimalPosition": { "maxLength": 9, "minLength": 1, "type": "string", "description": "This is an optional field and if conversionRateReconciliation is present, then rateDecimalPositions needs to be present." } } }, "PaymentAccountAttributesInquiry-1": { "required": [ "billingCurrencyCode", "cardIssuerCountryCode", "fastFundsIndicator", "issuerName", "onlineGambingBlockIndicator", "pushFundsBlockIndicator" ], "type": "object", "properties": { "issuerName": { "maxLength": 240, "type": "string", "description": "Issuer name of the consumer card." }, "cardTypeCode": { "maxLength": 1, "minLength": 1, "type": "string", "description": "The code of account funding source for the card, e.g. Credit, Debit, Prepaid, Charge, Deferred Debit.
    Refer to cardTypeCode" }, "tokenIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field will determine if the payment instrument provided is a Visa token or a PAN. If the tokenIndicator field is “Y”, the payment instrument in the Resolve API response is a Visa token. If the tokenIndicator field is “N”, the payment instrument in the Resolve API response is a PAN." }, "geoRestrictionInd": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field will determine if the recipient issuer can accept transactions from the Originator country. If the value is 'Y', transactions cannot be accepted from the sender country. If the value is 'N', transactions are allowed." }, "fastFundsIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Indicates the funds delivery speed of the PAN submitted in the request. If the value is 'B', 'C', or 'D', funds will be available to the recipient within 30 minutes of successful transfer. If the value is 'N', the funds will be available within 2 business days of successful transfer.
    Refer to fastFundsIndicator" }, "billingCurrencyCode": { "type": "integer", "description": "Use a 3-digit numeric currency code for the card billing currency of the PAN.
    Refer to ISO Codes" }, "cardIssuerCountryCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Refer to ISO Codes" }, "pushFundsBlockIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Indicates whether the PAN submitted in the request can receive Push Funds(OCTs).
    Refer to pushFundsBlockIndicator" }, "onlineGambingBlockIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Indicates whether the PAN submitted in the request can receive Push Funds(OCTs) for gambling-type transactions. If the value is 'Y', then the account cannot receive gambling Push Funds (OCTs). If the value is 'N', the account can receive gambling Push Funds (OCTs)." }, "billingCurrencyCodeMinorDigits": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Identifies the number of decimal positions that should be present in any amounts for the requested card's billing currency." } } }, "DeleteAliasRequest": { "required": [ "alias", "guid" ], "type": "object", "properties": { "guid": { "type": "string", "description": "This attribute is uniquely used by issuer to identify their customer (i.e. consumer cardholder).
    Issuer may pass their existing unique identifier of a cardholder of their system to VAD as a guid." }, "alias": { "type": "string", "description": "This attribute contains the alias data, e.g. phone number, email address, etc.
    If phone number is used for alias, this should be provided in accordance with ITU-T E.164 (2010) number structure. Below are some examples of phone numbers with different country codes:
    CountryCountry CodeExamples
    United States11650xxxxxxx
    Russia77495xxxxxxx
    United Kingdom444478xxxxxxxx
    Singapore65659xxxxxxx
    Hong Kong8528529xxxxxxx
    Kenya254254701xxxxxx

    If IBAN (International Bank Account Number) is used for alias, this should be provided in accordance with ISO 13616:2007. Below is an example of IBAN:

    CountryExample
    IrelandIE29AIBK93115212345678
    where
    Country Code: IE
    Check digits: 29
    Bank Identifier: AIBK
    Branch Identifier: 931152
    Account Number:12345678
    " } }, "description": "Request payload data for deleting an alias.

    Note. This API allows issuer to delete only one mapping of an alias to an account at one time. To delete
    • the mappings of multiple aliases linked to the same PAN; and/or
    • the mappings of one alias linked to multiple accounts
    issuer is required to submit multiple API requests." }, "TransactionDataResponse": { "type": "object", "properties": { "amount": { "type": "number", "description": "This is the transaction amount expressed in U.S. Dollars. Derived internally." }, "reasonCode": { "maxLength": 60, "minLength": 1, "type": "string", "description": "The reason code description is derived from, Field 63.3 of VIP/SMS transactions. Several different kinds of codes may appear in this field, including Fee Collection Reason Codes, Advice Reason Codes, Adjustment Reason Codes, Service Confirmation/Change Notification Reason Codes, Chargeback Reason Codes, etc.
    Valid values include*:
    (*Not a complete list)
    0053 - Chargeback - not as described / defective
    0083 - Fraud - card not present
    2105 - Acquirer advice - Clearing of an authorized transaction
    2121 - VSDC transaction - Offline approval
    2501 - Reversal - Transaction voided by customer" }, "acquiringBin": { "type": "integer", "description": "The Bank Identification Number (BIN) under which your Visa Direct is registered. This must match the information provided during enrollment." }, "approvalCode": { "type": "string", "description": "The authorization code from the issuer. A code provided by the issuer (or VIP STIP) when a transaction is approved, or a \"no reason to decline\" code is provided. Used to tie subsequent messages to the original transaction." }, "feeProgramDesc": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Short text description of the Acquirer IRF (Interchange Reimbursement Fee) indicator. (Interchange fees are paid by issuers and acquirers to each other for transactions entered into interchange and their reversals)." }, "processingDate": { "type": "string", "description": "The date on which VisaNet created the log (record)." }, "cardAcceptorName": { "maxLength": 25, "minLength": 1, "type": "string", "description": "The name of the merchant or ATM (id/location) where the transaction occurred. In VIP this is the first 25 bytes of ISO F43 Card Acceptor Name." }, "transactionState": { "maxLength": 30, "minLength": 1, "type": "string", "description": "The transaction code (TC) description identifies the type of transaction being processed by BASE II.
    Valid Values include*:
    04 - Reclassification Advice
    05 - Original Sales Draft or Representment
    06 - Original Credit Voucher or Representment
    07 - Original Cash Disbursement or Representment
    10 - Clearing Fee Collection
    15 - Sales Draft Chargeback
    25 - Sales Draft Reversal
    40 - Fraud Advice
    *Examples provided to clarify definition. May not be a complete list." }, "cardAcceptorIdCode": { "maxLength": 15, "minLength": 1, "type": "string", "description": "An acquirer-assigned (15 byte) code identifying the card acceptor for the transaction. The code can represent a merchant, a specific merchant location, or a specific merchant terminal." }, "settlementDateTime": { "type": "string", "description": "The date & time of a transaction’s SMS settlement between the acquirer and issuer. Example 2016-05-01:091234" }, "accountNumberMasked": { "maxLength": 39, "minLength": 13, "type": "string", "description": "Contains a masked number identifying an account or customer relationship at a financial institution. Populated from the primary account number (PAN) contained in the original authorization request. The account number is typically 16 digits, but can vary depending on the source. The six digits after the initial 6 digit BIN number of a 16 digit PAN number are replaced by 'xxxxxx' for security reasons. This field is left justified with trailing blanks. (Note: Trailing zeros indicate the Account Number Extension was appended, which is zero-filled if not used. Insignificant trailing zeros are not part of the account number.)" }, "feeProgramIndicator": { "type": "string", "description": "This field contains an interchange reimbursement fee program indicator (FPI), which is used in assessing the fee amount applied to financial transactions." }, "transactionDateTime": { "type": "string", "description": "The date & time the transaction was submitted to VisaNet. Example 2016-04-30:162345" }, "transactionIdentifier": { "type": "string", "description": "An identifier assigned by Visa to help uniquely identify a transaction and to link subsequent transactions, such as a reversal, to an original. The transaction identifier is returned to the acquirer in the authorization response and should be provided in subsequent clearing transactions. The components of the identifier include the transaction date, a sequence number for that date, a system identifier, and the time expressed in relative seconds." }, "systemsTraceAuditNumber": { "type": "integer", "description": "An audit number assigned by the message originator - unique to the originator. Also known as the Interface Trace Number in Base II and the System Trace Audit Number in VIP (ISO F11). The trace number remains unchanged for all messages throughout the life of the transaction. It is a key data element used to match a response to its request or to match a message to others for a given cardholder transaction set." }, "transactionCurrencyCode": { "type": "string", "description": "Set internally during VisaNet processing, the ISO currency code which identifies the transaction currency code." }, "retrievalReferenceNumber": { "type": "string", "description": "A value used to tie together service calls related to a single financial transaction. Contains a number used with other key data elements to identify and track all messages related to a given cardholder transaction (referred to as a transaction set)." } }, "description": "Transaction Data response" }, "CashOutCardAcceptor": { "required": [ "idCode", "name" ], "type": "object", "properties": { "name": { "maxLength": 25, "minLength": 1, "type": "string", "description": "Originator should populate this field with 'mVisa cash-out'." }, "idCode": { "maxLength": 15, "minLength": 1, "type": "string", "description": "Originator can populate the field with any system generated reference number internal to originating client." }, "address": { "$ref": "#/components/schemas/CashOutCardAcceptorAddress" } } }, "CashInPushPaymentPayload": { "required": [ "acquirerCountryCode", "acquiringBin", "amount", "businessApplicationId", "cardAcceptor", "localTransactionDateTime", "merchantCategoryCode", "recipientPrimaryAccountNumber", "retrievalReferenceNumber", "senderName", "systemsTraceAuditNumber", "transactionCurrencyCode" ], "type": "object", "properties": { "amount": { "maxLength": 12, "type": "string", "description": "Transaction amount in merchant currency. Visa's rules do not permit cross border cash deposit transactions." }, "senderName": { "maxLength": 30, "minLength": 1, "type": "string", "description": "Populate the field with merchant�s doing business as name (25 characters only). If the name is greater than 25 characters, use the first 25 characters. The name must be populated using the Roman i.e. English character set." }, "acquiringBin": { "maxLength": 11, "minLength": 6, "type": "string", "description": "BIN number identifies the originator of cash-in transaction." }, "cardAcceptor": { "$ref": "#/components/schemas/CashInCardAcceptor" }, "senderReference": { "maxLength": 16, "type": "string", "description": "A reference number unique to the merchant. Field can be left blank." }, "acquirerCountryCode": { "type": "string", "description": "Use a 3-digit numeric country code for the country where the Visa Direct solution is registered. This must match the information provided during program enrollment. Refer to [ISO Codes](/request_response_codes#iso_country_codes)." }, "senderAccountNumber": { "maxLength": 34, "type": "string", "description": "This is optional field for cash-in transactions." }, "merchantCategoryCode": { "maxLength": 4, "minLength": 4, "type": "string", "description": "Numeric only. Originators should populate 6012. If this field is not populated by the originator, it will automatically be set to the MCC value indicated during the API onboarding process. Recipient should populate the MCC of the merchant in the response message." }, "businessApplicationId": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Use CI (cash-in). This field is populated with business application identifier for the transaction. Refer to [businessApplicationId](/request_response_codes#businessApplicationId) codes" }, "systemsTraceAuditNumber": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Numeric only. It is a key data element used to match a response to its request or to match a message to others for a given transaction. The value assigned to the original request should appear in all subsequent messages for that transaction" }, "transactionCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The code in this field must always reflect the currency associated to the amount in field Amount. Use a 3-digit numeric currency code for transaction currency. Refer to [ISO Codes](/request_response_codes#currency_codes)." }, "localTransactionDateTime": { "type": "string", "description": "The date and time the transaction takes place, expressed in the local date and time of the originator.", "format": "date-time" }, "retrievalReferenceNumber": { "maxLength": 12, "minLength": 12, "type": "string", "description": "Numeric only. Key data element for matching a message to others within a given transaction set. The same number appears in all related messages: response, advice, reversal, chargeback, chargeback reversal, or representment. It is recommended that the client populate ydddhhnnnnnn value in this field." }, "recipientPrimaryAccountNumber": { "maxLength": 19, "minLength": 13, "type": "string", "description": "Consumer PAN. 16-digit PAN as provided by the consumer to merchant." } } }, "MerchandiseReturnReversalTransactionPayload": { "required": [ "acquirerCountryCode", "acquiringBin", "amount", "cardAcceptor", "localTransactionDateTime", "originalDataElements", "recipientPrimaryAccountNumber", "retrievalReferenceNumber", "senderCurrencyCode", "systemsTraceAuditNumber", "transactionIdentifier" ], "type": "object", "properties": { "amount": { "maxLength": 12, "type": "string", "description": "The amount must match the original refund transaction." }, "acquiringBin": { "maxLength": 11, "minLength": 6, "type": "string", "description": "This BIN number identifies the originator of refund transaction. This information must match the BIN provided during enrollment." }, "cardAcceptor": { "$ref": "#/components/schemas/CardAcceptormrr" }, "transactionFeeAmt": { "maxLength": 12, "type": "string", "description": "Prefix ‘D’Originators are required to populate convenience fee amount in this field to be returned, if presented in the original refund message." }, "senderCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The code in this field must always reflect the currency previously sent in the original refund transaction." }, "acquirerCountryCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Use a 3-digit numeric country code for the country. This must match the information provided during program enrollment." }, "feeProgramIndicator": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Originators can leave this field blank." }, "originalDataElements": { "$ref": "#/components/schemas/OriginalDataElements" }, "transactionIdentifier": { "maxLength": 15, "minLength": 15, "type": "string", "description": "Conditional. If originator submits merchant payment transaction using MerchantPushPayments API, they should submit the same value of transactionIdentifier in API request. Otherwise, do not use this field in the API request." }, "systemsTraceAuditNumber": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Numeric only. This value must match with the systemsTraceAuditNumber previously sent in the original refund transaction.", "x-variant": "| positive, Length: 6" }, "localTransactionDateTime": { "type": "string", "description": "This should be +/- 3 days from the current date.

    The date is in yyyy-mm-ddThh:mm:ss format", "format": "date-time" }, "retrievalReferenceNumber": { "maxLength": 12, "minLength": 12, "type": "string", "description": "Numeric only. This value must match the retrievalReferenceNumber previously sent in the original refund transaction." }, "merchantVerificationValue": { "$ref": "#/components/schemas/MerchantVerificationValuemrr" }, "settlementServiceIndicator": { "type": "integer", "description": "This flag enables the originator to request for a particular settlement service to be used for settling the transaction.

    Valid values are:
    0 - International Settlement
    9 - VIP to decide
    8 - National Settlement

    Note: The default value is 9. This field is only relevant for specific countries where the acquirer has to select 8 in order to settle in the national net settlement service. ", "x-variant": "positive | Length: totalDigits 1" }, "recipientPrimaryAccountNumber": { "maxLength": 19, "minLength": 13, "type": "string", "description": "Populate with Consumer PAN used in the refund transaction." } } }, "CardAcceptorAddress": { "required": [ "city", "country" ], "type": "object", "properties": { "city": { "maxLength": 13, "minLength": 1, "type": "string", "description": "Originator must populate this field with value captured from merchant information display. If manual entered transaction then populate default value of 'mVisa payment'." }, "country": { "maxLength": 3, "minLength": 2, "type": "string", "description": "Must include the 2-character alpha country code of the merchant captured from the merchant information display" } } }, "MultiPushFundsTransactionGetResponse": { "required": [ "actionCode", "responseCode", "retrievalReferenceNumber", "statusIdentifier", "transactionIdentifier", "transmissionDateTime" ], "type": "object", "properties": { "actionCode": { "type": "string", "description": "The results of the transaction request

    Refer to Action Code
    Note: : The VisaNet Response Code for the transaction", "x-variant": "Length: 2" }, "last4ofPAN": { "type": "integer", "description": "This field contains the last four digits of the cardholder primary account number (PAN)" }, "approvalCode": { "type": "string", "description": "The authorization code from the issuer.", "x-variant": "Length: 6" }, "responseCode": { "type": "string", "description": "The source for the response; typically, either the recipient issuer or a Visa system.

    Refer to responseCode
    Note: : The VisaNet Response Source for the transaction", "x-variant": "Length: 1" }, "prepaidBalance": { "type": "string", "description": "Min Inclusive: -999999999.999

    Max Inclusive: 999999999.999

    Applicable only for Top Up Transactions", "x-variant": "Max Length: 3" }, "settlementFlags": { "required": [ "settlementResponsibilityFlag" ], "type": "object", "properties": { "givUpdatedFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "settlementServiceFlag": { "type": "string", "description": "Possible values are:
    0 - International Settlement
    9 - VIP to decide
    8 - National Settlement
    ", "x-variant": "| Length: 1, hexbinary format" }, "givPreviouslyUpdatedFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" }, "settlementResponsibilityFlag": { "type": "string", "description": "Possible values are true or false", "x-variant": "| Length: 5, hexbinary format" } } }, "statusIdentifier": { "type": "string", "description": "required when call times out" }, "originalActionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "The action code of the original transaction request
    Refer to actionCode
    Note: This field is only present, when the request is identified as a duplicate." }, "feeProgramIndicator": { "type": "string", "x-variant": "alpha numeric,Length:3" }, "transmissionDateTime": { "type": "string", "description": "Example: 2016-01-15T07:03:52.000Z", "format": "date-time", "x-variant": "| YYYY-MM-DDThh:mm:ss" }, "transactionIdentifier": { "maximum": 15, "minimum": 15, "type": "integer", "description": "The VisaNet reference number for the transaction

    Note:
    transactionIdentifier is a Visa generated field that client recieves in the response message.
    Note: As an exception Visa allows clients to use the transactionIdentifier received in the AFT response into the subsequent OCT message - this is to simplify matching the pull and push transaction pair and reconciliation.", "format": "int64", "x-variant": "positive(when call does not timeout)" }, "prepaidBalanceCurrency": { "type": "object", "properties": {}, "x-variant": "Length: 3" }, "retrievalReferenceNumber": { "type": "string", "description": "A value used to tie together service calls related to a single financial transaction. When passing Account Funding Transaction (AFT) and an Original Credit Transaction (OCT) methods, this value must differ between the two methods. When passing the Account Funding Transaction Reversal (AFTR) method, this value must match the retrievalReferenceNumber previously passed with the AFT method for this transaction.

    Recommended Format : ydddhhnnnnnn

    The first fours digits must be a valid yddd date in the Julian date format, where the first digit = 0-9 (last digit of current year) and the next three digits = 001-366 (number of the day in the year). hh can be the two digit hour in a 24 hour clock (00-23) during which the transaction is performed.

    nnnnnn can be the systemsTraceAuditNumber or any 6 digit number.", "x-variant": "| ydddhhnnnnnn(numeric characters only), Length: 12" } } }, "PullFundsTransactionPostPayload-1": { "required": [ "acquirerCountryCode", "acquiringBin", "amount", "businessApplicationId", "cardAcceptor", "localTransactionDateTime", "merchantCategoryCode", "pointOfServiceData", "retrievalReferenceNumber", "senderCardExpiryDate", "senderCurrencyCode", "senderPrimaryAccountNumber", "systemsTraceAuditNumber" ], "type": "object", "properties": { "cavv": { "maxLength": 40, "minLength": 40, "type": "string", "description": "The Cardholder Authentication Verification Value (CAVV) is a value generated by an Access Control Server (ACS) and signed by the Issuer using account and password information of cardholders registered for the Verified by Visa (also known as Visa Secure) program. This field should be in hexabinary format." }, "tavv": { "maxLength": 40, "minLength": 40, "type": "string", "description": "The Token Authentication Verification Value (TAVV) is a value generated using tokenized PAN by Visa Token Service (VTS) and signed by the Issuer. This field should be in hexabinary format.

    Note: A token should be send (instead of a PAN) in senderPrimaryAccountNumber field while sending a TAVV cryptogram." }, "amount": { "type": "number", "description": "The amount of the transaction, inclusive of all fees you assess for the transaction, including currency conversion fees. If the originator is populating the surcharge or foreignExchangeFeeTransaction field, they must be included in the amount field.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "pinData": { "type": "object", "properties": { "pinDataBlock": { "type": "string", "description": "For a CardPresent with PIN Data scenario, this field is required.", "x-variant": "| Length: 16, hexbinary format" }, "securityRelatedControlInfo": { "type": "object", "properties": { "zoneKeyIndex": { "type": "integer", "description": "Note: For a CardPresent with PIN Data scenario, this field is required.", "x-variant": "|positive Length: totalDigits 2" }, "pinBlockFormatCode": { "type": "integer", "description": "Note: For a CardPresent with PIN Data scenario, this field is required.", "x-variant": "|positive Length: totalDigits 2" } } } } }, "vauFlag": { "type": "string", "description": "If present, a valid value is required. Spaces or special characters are not allowed. Possible values are : Y (will cause VAU to be performed)", "x-variant": "| Length:1" }, "surcharge": { "type": "string", "description": "When present, this field contains the sender's surcharge as assessed by the originator. Values in this field must be in the same currency and format as defined in the amount field.", "format": "double", "x-variant": "| Length: totalDigits12, fractionDigits 3 (minimum value is 0)" }, "senderCity": { "maxLength": 25, "minLength": 1, "type": "string", "description": "When present, this field contains sender's city" }, "senderName": { "maxLength": 30, "minLength": 2, "type": "string", "description": "Conditional.

    If the transaction is a money transfer and cross-border or U.S. domestic, this field must contain the sender's name.

    If the transaction is a funds disbursement and cross-border or U.S. domestic, this field must contain either the name of the merchant or government entity sending the funds disbursement.

    If the transaction is a pre-paid load or credit card bill pay and U.S. domestic, this field must contain the sender's name.

    Recommended Format: Last Name/Family Surname 1 + Space + Last Name/Family Surname 2 (optional) + Space + First Name/Given Name + Space + Middle Initial or Middle name (optional) + space

    Example: Doe John A" }, "accountType": { "type": "string", "description": "This is used to identify the account type of the senderPrimaryAccountNumber in the request. Below are the possible values.

    00-Not applicable
    10-Saving account
    20-Checking account
    30-Credit card account
    40-Universal account

    Default is set to \"00\" if not provided.", "x-variant": "| Length: 2" }, "acquiringBin": { "type": "integer", "description": "The Bank Identification Number (BIN) under which your Visa Direct is registered. This must match the information provided during enrollment.", "x-variant": "| positive, Length: 6 - 11" }, "cardAcceptor": { "required": [ "address", "idCode", "name", "terminalId" ], "type": "object", "properties": { "name": { "maxLength": 25, "minLength": 1, "type": "string", "description": "name of the originator/money transfer operator.", "x-variant": "| Length: 1 - 25" }, "idCode": { "maxLength": 15, "minLength": 1, "type": "string", "description": "An identifier for the card acceptor (Visa Direct Originator). This value should be unique for each originator for whom you are sending transactions.", "x-variant": "| Length: 1 - 15" }, "address": { "required": [ "country" ], "type": "object", "properties": { "state": { "maxLength": 50, "type": "string", "description": "Conditional

    Note:State or province of the money transfer operator/Originator.

    Required if cardAcceptor:address:country is \"US\" or \"CA\".", "x-variant": "| Length: 2" }, "county": { "maxLength": 50, "type": "string", "description": "Conditional

    Note:It contains 3-digit numeric FIPS county code of the money transfer operator/Originator.

    Required if cardAcceptor:address:country is \"US\".", "x-variant": "| Length: 3" }, "country": { "maxLength": 3, "minLength": 1, "type": "string", "description": "This field must contain the 3-character alpha country code for the country of the originator or money transfer operator.

    Refer to ISO Codes", "x-variant": "| Length: 3" }, "zipCode": { "maxLength": 14, "type": "string", "description": "Conditional

    Note:Zip/Postal code of the money transfer operator/Originator.

    Required if cardAcceptor:address:country is \"US\" or \"CA\".", "x-variant": "| Length: 5 - 9" } } }, "terminalId": { "maxLength": 8, "minLength": 1, "type": "string", "description": "The identifier for the terminal at a card acceptor location. If sending transactions from a card not present environment, use the same value for all transactions.", "x-variant": "| Length: 1 - 8" }, "legalBusinessName": { "maxLength": 25, "minLength": 1, "type": "string", "description": "Acceptor’s legal business name associated with the card acceptor identification code for AFT transactions." }, "paymentFacilitator": { "type": "object", "properties": { "id": { "maxLength": 11, "minLength": 1, "type": "string", "description": "Marketplace ID or Payment Facilitator's ID. This field is conditionally required when a payment facilitator is involved." }, "name": { "maxLength": 25, "minLength": 1, "type": "string", "description": "Payment facilitator name in AFTs. This field is conditionally required when a payment facilitator is involved." }, "subMerchantId": { "maxLength": 15, "minLength": 1, "type": "string", "description": "Sub-Merchant ID containing the sponsored merchant ID. This field is conditionally required when a payment facilitator is involved." } } } } }, "cardCvv2Value": { "type": "string", "description": "The cardCvv2Value value provided by the account holder for the senderPrimaryAccountNumber in the request.", "x-variant": " | Length:3-4" }, "recipientCity": { "maxLength": 25, "type": "string", "description": "Conditional

    This field contains the city name of the recipient address.
    Note:
    It is required for cross-border transactions that are originating from or destined to Canada." }, "recipientName": { "maxLength": 30, "minLength": 1, "type": "string", "description": "Conditional.

    Recipient name is required for cross-border enhanced money transfer AFTs." }, "senderAddress": { "maxLength": 35, "minLength": 1, "type": "string", "description": "When present, this field contains sender's Address" }, "memberComments": { "maxLength": 254, "minLength": 1, "type": "string", "description": "This field can be optionally used to send and receive comments by service providers. Issuers can optionally include new text in this field in the response. If the issuer does not include this field, Visa will inject the value from the request in the response and send it back to the service provider." }, "recipientState": { "maxLength": 3, "type": "string", "description": "Required if RecipientCountryCode is either 124(CAN) or 840(USA)" }, "senderLastName": { "maxLength": 35, "type": "string", "description": "This field contains sender's last name" }, "senderFirstName": { "maxLength": 35, "type": "string", "description": "This field contains sender's first name" }, "senderReference": { "maxLength": 16, "type": "string", "description": "If the transaction is a money transfer, pre-paid load, or credit card bill pay, and if the sender intends to fund the transaction with a non-financial instrument (for example, cash), a reference number unique to the sender is required.

    If the transaction is a funds disbursement, the field is required.

    This field is required if senderAccountNumber is not sent.", "x-variant": "| only alphabets (a-z, A-Z) and/or numbers (0-9) allowed" }, "senderStateCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "When present, this field contains sender's state code" }, "purposeOfPayment": { "maxLength": 12, "minLength": 1, "type": "string", "description": "Conditional.

    This is an alphanumeric value.
    Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market." }, "senderMiddleName": { "maxLength": 35, "minLength": 1, "type": "string", "description": "This field contains sender's middle name" }, "senderPostalCode": { "type": "string", "description": "When present, this field contains the sender's postal code" }, "sharingGroupCode": { "type": "string", "description": "This field is optionally used by Push Payments Gateway participants (merchants and acquirers) to specify the network access priority.

    Refer to Sharing Group Code

    Note:
    Supported only in US for domestic transactions involving Push Payments Gateway Service.", "x-variant": "| Length: 30" }, "merchantReference": { "maxLength": 35, "type": "string", "description": "This is an alphanumeric value that carries the merchant’s unique identification number issued by the government or an authorized national entity. This field to be populated for Argentina domestic transaction when businessApplicationId has PS.", "x-variant": "| only alphabets (a-z, A-Z) and/or numbers (0-9) allowed" }, "messageReasonCode": { "type": "integer", "description": "Conditional.

    This field is required to identify whether a transaction is merchant-initiated.
    Note: Message reason code and POS Environment fields are mutually exclusive.

    Refer to Meassage Reason Codes", "x-variant": "| maxLength: 4" }, "recipientLastName": { "maxLength": 35, "type": "string", "description": "When present, this field contains recipient's last name" }, "senderCountryCode": { "maxLength": 3, "minLength": 2, "type": "string", "description": "when present, this field contains sender's country code

    Refer to ISO Codes" }, "sourceOfFundsCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "when present, this field contain a valid sourceOfFundsCode code that matches the funding instrument.

    Refer to sourceOfFundsCode codes" }, "magneticStripeData": { "type": "object", "properties": { "track1Data": { "type": "string", "description": "Conditional (see Note)

    Note: For a cardPresent scenario, magneticStripeData.track1Data (or magneticStripeData.track2Data) must be included.

    Note: These fields are only available in OCT transactions in specific geographies. Please reach out to your Visa representative for details", "x-variant": "| Length: maximum 76" }, "track2Data": { "type": "string", "description": "Note: For a CardPresent scenario, MagneticStripeData.track1Data (or MagneticStripeData.track2Data) must be included.", "x-variant": "| hex binary value is sent as String, Length: maximum 19" } } }, "pointOfServiceData": { "required": [ "motoECIIndicator", "panEntryMode", "posConditionCode" ], "type": "object", "properties": { "panEntryMode": { "type": "integer", "description": "A 2-digit code that identifies the method used to enter the cardholder account number and card expiration date. This code specifies whether the entire magnetic stripe is included in an authorization or financial request.

    Refer to PAN Entry Mode Codes", "x-variant": "| positive, Length: totaldigits 2" }, "posEnvironment": { "maxLength": 1, "type": "string", "description": "Conditional

    This field is required to identify whether a transaction is merchant-initiated.

    Refer to POS Environment Codes", "x-variant": "| Length: 1" }, "motoECIIndicator": { "maxLength": 1, "type": "string", "description": "Identifies the level of security used in an electronic commerce transaction over an open network (for example, the Internet) or the type of mail or telephone order. Acquirers supply indicator values, which V.I.P. forwards in requests and advices to issuers that have successfully tested to receive them. The subfield is dropped if issuers have not successfully completed testing or choose not to receive it.

    Refer to Moto ECI Codes", "x-variant": "| Length: 1" }, "posConditionCode": { "type": "integer", "description": "Contains a code identifying transaction conditions at the point of sale or point of service. For messages that follow an original request, this code identifies the type of processing being done.

    Refer to POS Condition Codes", "x-variant": "| positive,Length: totalDigits 2" }, "specialConditionIndicatorMerchant": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Cryptocurrency indicator with the value of “7” can be used to identify the purchase of cryptocurrency, thereby providing greater visibility to the issuers." } }, "description": "Contains a code identifying transaction conditions at the point-of-sale or point of service. For messages that follow an original request, this code identifies the type of processing being done.
    Note: For a CardPresent Transactions, this field is required." }, "recipientFirstName": { "maxLength": 35, "type": "string", "description": "When present, this field contains recipient's first name" }, "riskAssessmentData": { "type": "object", "properties": { "scpExemptionIndicator": { "type": "string", "description": "SCP Indicator. Acceptable values are true/false" }, "traExemptionIndicator": { "type": "string", "description": "TRA Exemption Indicator. Acceptable values are true/false" }, "lowValueExemptionIndicator": { "type": "string", "description": "Low Value Exemption Indicator. Acceptable values are true/false" }, "delegatedAuthenticationIndicator": { "type": "string", "description": "Delegated Authentication Indicator. Acceptable values are true/false" }, "trustedMerchantExemptionIndicator": { "type": "string", "description": "Trusted Merchant Exemption Indicator. Acceptable values are true/false" } } }, "senderCurrencyCode": { "type": "string", "description": "Use a 3-character alpha or numeric currency code for currency of the sender.

    Refer to ISO Codes", "x-variant": "| Length: 3" }, "acquirerCountryCode": { "type": "integer", "description": "Use a 3-digit numeric country code for the country of the BIN under which your Visa Direct solution is registered. This must match the information provided during program enrollment.

    Refer to ISO Codes", "x-variant": "| Length: 3" }, "feeProgramIndicator": { "type": "string", "description": "If present, a valid value is required. Spaces or special characters are not allowed.", "x-variant": "| Length:3" }, "recipientMiddleName": { "maxLength": 35, "minLength": 1, "type": "string", "description": "This field contains recipient's middle name" }, "recipientPostalCode": { "maxLength": 16, "type": "string", "description": "Conditional

    This field contains the postal code of the recipient address.
    Note:
    It is required for cross-border transactions that are originating from or destined to Canada." }, "recipientStreetName": { "maxLength": 99, "type": "string", "description": "Optional.

    This field contains the street name of the recipient address." }, "senderAccountNumber": { "maxLength": 34, "type": "string", "description": "When present, this field contains the sender's account number. This field is mandatory in XB AFTs it will contain the destination account number being funded with the AFT (e.g. IBAN number for loading a bank account, proprietary wallet number for loading a wallet, prepaid PAN number for loading a card, money transfer operator proprietary account number with acquirer for funding a money transfer)." }, "senderMiddleInitial": { "maxLength": 1, "type": "string", "description": "This field contains sender's middle initial" }, "merchantCategoryCode": { "type": "integer", "description": "Note:
    If provided, then the value overrides the one present in onboarding data. If the merchantCategoryCode value is not populated in onboarding data then this field is mandatory.

    If not provided, then the value will default to the values provided during onboarding (when the services are provisioned).", "x-variant": "| Length: total 4 digits" }, "recipientCountryCode": { "maxLength": 3, "minLength": 2, "type": "string", "description": "when present, this field contains recipient's country code

    Refer to ISO Codes" }, "senderAdditionalData": { "type": "object", "properties": { "identificationList": { "type": "array", "description": "Identification list of sender. We have a current limitation that sender ID and recipient ID information are mutually exclusive. If both sender ID and recipient ID are sent in the same request, only sender ID related information will be sent to the issuer. \nAdditionally, only 1 instance of ID per sender or recipient is currently supported. If more than one instance is provided, only the first instance will be forwarded to the issuer.", "items": { "type": "object", "properties": { "idType": { "maxLength": 4, "minLength": 1, "type": "string", "description": "This field will contain the type of sender identification. The valid values are: \n BTHD - Date of birth \n CUID - Customer identification - unspecified \n NTID - National identification\n PASN - Passport number\n DRLN - Driver license\n TXIN - Tax identification \n CPNY - Company registration number\n PRXY - Proxy identification \n SSNB - Social security number \n ARNB - Alien registration number \n LAWE - Law enforcement identification \n MILI - Military identification \n TRVL - Travel identification - non-passport \n EMAL - Email\n PHON - Phone number \nFor a given instance of identificationList[], a minimum of idType and idNumber fields should be provided, else the ID information will not be forwarded to the issuer.", "x-variant": "| enumeration" }, "idNumber": { "maxLength": 35, "minLength": 1, "type": "string", "description": "This field will contain an acquirer-populated value associated with the Identification Type in field idType \nWhen idType contains the value of BTHD (Date of birth), this tag must contain a date of birth in ccyymmdd format where: cc = century, yy = year, mm = month, dd = day \nFor a given instance of identificationList[] , a minimum of idType and idNumber fields should be provided, else the ID information will dropped and not be forwarded to the issuer." }, "idOwnerType": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field denotes whether the Tax ID is a business or individual's Tax ID when idType contains the value of TXIN (Tax identification).\nThe valid values are : \nB (Business) \nI (Individual)" }, "idIssueCountry": { "maxLength": 3, "minLength": 3, "type": "string", "description": "This tag will contain the 3-alpha or 3-digit ISO country code of the ID issuing country." } } } } } }, "senderCardExpiryDate": { "type": "string", "description": "This field contains the expiration date for the sender's Visa account number or token in senderPrimaryAccountNumber
    Format: YYYY-MM
    Example: 2021-10", "format": "date", "x-variant": "| YYYY-MM" }, "businessApplicationId": { "type": "string", "description": "Identifies the programs' business application type for VisaNet transaction processing

    For Money Transfer, AA applies to transactions where the sender and recipient are the same person and PP applies to transactions where the sender and recipient are not the same person.

    Refer to businessApplicationId codes", "x-variant": "| Length: 2" }, "originalTransactionId": { "type": "integer", "description": "Conditional.

    This field is required to identify whether a transaction is merchant-initiated

    Note: Merchants must link the Merchant-Initiated Transaction with the original transaction using the Transaction Identifier that was generated for the original cardholder initiated transaction. However, for standing-instruction MITs (i.e., recurring, installment, and unscheduled COF), acquirers can use the Transaction Identifier generated for the previous transaction in the series to link the subsequent transactions.", "x-variant": "| maxLength: 15" }, "recipientAddressLine1": { "maxLength": 99, "type": "string", "description": "Conditional.

    This field contains the first line of the recipient address.
    Note:
    It is required for cross-border transactions that are originating from or destined to Canada." }, "recipientAddressLine2": { "maxLength": 99, "type": "string", "description": "Optional.

    This field contains the second line of the recipient address." }, "recipientMiddleInitial": { "maxLength": 1, "type": "string", "description": "When present, this field contains recipient's middle initial" }, "visaMerchantIdentifier": { "type": "string", "description": "Visa Merchant Identifier", "x-variant": "| positive,Length: totalDigits 8" }, "addressVerificationData": { "type": "object", "properties": { "street": { "type": "string", "description": "Street address for address verification", "x-variant": "| Length: 20" }, "postalCode": { "type": "string", "description": "Conditional
    Postal Code for address verification. For US, contains 5 or 9 digit ZIP code. This field is required for the transaction to qualify for CPS qualified Interchange rates and to avoid Transaction Integrity Fee.", "x-variant": "| Length: 9" } }, "description": "Conditional
    Address verification is required for an AFT transaction to qualify for CPS. Either send the card’s postal code or full address.

    Note:Supported only in US for CPS (Custom Payment Service). This field is required for the transaction to qualify for CPS qualified Interchange rates and to avoid Transaction Integrity Fee.
    Either the postalCode or full address of the card is required.

    Please reach out to your Visa representative for details." }, "merchantPseudoAbaNumber": { "type": "string", "description": "This is a number that uniquely identifies the originator when they sign up to send Push Payment Gateway transactions. On enrollment, an originator will get a single pseudo-value that is assigned by Visa. The other networks will assign their own unique values for the originator.

    Note:
    Supported only in US for domestic transactions involving Push Payments Gateway Service.", "x-variant": "| Length: 9" }, "recipientAdditionalData": { "type": "object", "properties": { "identificationList": { "type": "array", "description": "Identification list of reciepint. We have a current limitation that sender ID and recipient ID information are mutually exclusive. If both sender ID and recipient ID are sent in the same request, only sender ID related information will be sent to the issuer. \nAdditionally, only 1 instance of ID per sender or recipient is currently supported. If more than one instance is provided, only the first instance will be forwarded to the issuer.", "items": { "type": "object", "properties": { "idType": { "maxLength": 4, "minLength": 1, "type": "string", "description": "This field will contain the type of reciepint identification. The valid values are: \n BTHD - Date of birth \n CUID - Customer identification - unspecified \n NTID - National identification\n PASN - Passport number\n DRLN - Driver license\n TXIN - Tax identification \n CPNY - Company registration number\n PRXY - Proxy identification \n SSNB - Social security number \n ARNB - Alien registration number \n LAWE - Law enforcement identification \n MILI - Military identification \n TRVL - Travel identification - non-passport \n EMAL - Email\n PHON - Phone number \nFor a given instance of identificationList[], a minimum of idType and idNumber fields should be provided, else the ID information will not be forwarded to the issuer.", "x-variant": "| enumeration" }, "idNumber": { "maxLength": 35, "minLength": 1, "type": "string", "description": "This field will contain an acquirer-populated value associated with the Identification Type in field idType. \nWhen idType contains the value of BTHD (Date of birth), this tag must contain a date of birth in ccyymmdd format where: cc = century, yy = year, mm = month, dd = day. \n For a given instance of identificationList[], a minimum of idType and idNumber fields should be provided, else the ID information will be dropped and not forwarded to the issuer." }, "idOwnerType": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field denotes whether the Tax ID is a business or individual's Tax ID when idType contains the value of TXIN (Tax identification).\nThe valid values are : \nB (Business) \nI (Individual)" }, "idIssueCountry": { "maxLength": 3, "minLength": 3, "type": "string", "description": "This tag will contain the 3-alpha or 3-digit ISO country code of the ID issuing country." } } } } } }, "recipientBuildingNumber": { "maxLength": 16, "type": "string", "description": "Optional.

    This field contains the house or building number of the recipient address." }, "systemsTraceAuditNumber": { "type": "integer", "description": "A unique value should be used for each API method. However, when passing the (AFTR) method, this value must match the systemsTraceAuditNumber previously passed with the AFT method for the current transaction.", "x-variant": "| positive, Length: 6" }, "localTransactionDateTime": { "type": "string", "description": "This field contains the local date and time of the transaction takes place originated from merchant, service provider or acquirer.
    Format: YYYY-MM-DDThh:mm:ss
    Example: 2011-12-30T21:32:52", "format": "date-time", "x-variant": "| YYYY-MM-DDThh:mm:ss" }, "nationalReimbursementFee": { "type": "number", "description": "If present, this field should contain the IRF fees.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "pointOfServiceCapability": { "type": "object", "properties": { "posTerminalType": { "type": "integer", "description": "Note:Valid values if card is present include 0, 3 and 4. If card is not present, valid value is 5.", "x-variant": "| positive, totalDigits 1" }, "posTerminalEntryCapability": { "type": "integer", "description": "Note:Valid values if card is present include 0, 2 and 9. If card is not present, valid value is 1.", "x-variant": "| positive, Length: totalDigits 1" } }, "description": "Note: For a CardPresent Transactions, this field is required." }, "retrievalReferenceNumber": { "type": "string", "description": "A value used to tie together service calls related to a single financial transaction. When passing Account Funding Transaction (AFT) and Original Credit Transaction (OCT) methods, this value must differ between the two methods. When passing the Account Funding Transaction Reversal (AFTR) method, this value must match the retrievalReferenceNumber previously passed with the AFT method for this transaction.

    Recommended Format: ydddhhnnnnnn

    The first fours digits must be a valid yddd date in the Julian date format, where the first digit = 0-9 (last digit of current year) and the next three digits = 001-366 (number of the day in the year).

    hh can be the two digit hour in a 24 hour clock (00-23) during which the transaction is performed.

    nnnnnn can be the systemsTraceAuditNumber or any 6 digit number.", "x-variant": "| ydddhhnnnnnn(numeric characters only), Length: 12" }, "argentinaReimbursementFee": { "type": "number", "description": "Optional, when present, this field contains the Argentina member supplied reimbursement fee.
    Note:
    If a currency has one decimal place, the last digit of this field must be zero.
    If a currency has no decimal place, the last two digits of this field must be zero.", "format": "double", "x-variant": "| Length: totalDigits 10, fractionDigits 2 (minimum value is 0, maximum value is 99999999.99)" }, "merchantVerificationValue": { "required": [ "mvvAcquirerAssigned", "mvvVisaAssigned" ], "type": "object", "properties": { "mvvVisaAssigned": { "type": "string", "description": "Visa assigned MVV value. E.g. 0A45AF", "x-variant": "| Length: 6, hexbinary format" }, "mvvAcquirerAssigned": { "type": "string", "description": "Visa assists the acquirer in assigning the last four. E.g. 98FC", "x-variant": "| Length: 4, hexbinary format" } }, "description": "Merchant Verification Value(MVV) is used to identify merchants that participate in a variety of programs. The MVV is unique to the merchant." }, "mexicoNationalServiceData": { "required": [ "reimbursementFee", "reimbursementFeeTax" ], "type": "object", "properties": { "irfType": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field contains one of the following values:
    0 - Unknown/default
    1 - Fixed
    2 - Ad valorem (%)
    3 - Composite (fixed amount and ad valorem)" }, "accountType": { "maxLength": 2, "minLength": 2, "type": "string", "description": "This field contains one of the following values:
    CO - Commercial products
    CR - Credit
    DB - Debit
    PL - Private label
    PP - Prepaid" }, "irfCategoryCode": { "maxLength": 2, "minLength": 1, "type": "string", "description": "This field optionally contains any value from 00 to 99." }, "merchantFiscalId": { "maxLength": 13, "type": "string", "description": "This field contains RFC for the merchant. This is an alphanumeric field. The RFC format can be AAAANNNNNNAAA, where A is alphanumeric value and N is a numeric value." }, "reimbursementFee": { "type": "number", "description": "This field contains the Client-Calculated Interchange Reimbursement Fee in the same currency as the transaction. It must not contain zeros.", "format": "double" }, "reimbursementFeeTax": { "type": "number", "description": "This field contains the VAT calculated for the IRF applicable to the transaction. It must not contain zeros.", "format": "double" } }, "description": "Settlement Service Data object for Mexico required if transaction indicates Mexico national settlement." }, "optionalResponseParameters": { "maxLength": 400, "type": "string", "description": "Originators may choose to specify any or all of the following optional parameters to receive as part of the API response.

    E.g. Originators may specify comma-separated, optional parameters such as optionalResponseParameters (motoECIIndicator), if they want to receive motoECIIndicator in the API response.

    motoECIIndicator: Identifies the level of security used in an electronic commerce transaction over an open network (for example, the Internet) or the type of mail or telephone order. Acquirers supply indicator values, which V.I.P. forwards in requests and advices to issuers that have successfully tested to receive them. The subfield is dropped if issuers have not successfully completed testing or choose not to receive it.

    Refer to Moto ECI Codes

    E.g. optionalResponseParameters (motoECIIndicator)" }, "senderPrimaryAccountNumber": { "maxLength": 19, "minLength": 13, "type": "string", "description": "This is a 16-digit PAN or token of the sender's account." }, "settlementServiceIndicator": { "type": "integer", "description": "This flag enables the originator to request for a particular settlement service to be used for settling the transaction.

    Valid values are:
    0 - International Settlement
    9 - VIP to decide
    8 - National Settlement

    Note: The default value is 9. This field is only relevant for specific countries where the acquirer has to select 8 in order to settle in the national net settlement service. ", "x-variant": "positive | Length: totalDigits 1" }, "colombiaNationalServiceData": { "required": [ "countryCodeNationalService", "nationalNetReimbursementFeeBaseAmount" ], "type": "object", "properties": { "addValueTaxAmount": { "type": "number", "description": "This is the national government tax for added value of good or service.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "addValueTaxReturn": { "type": "number", "description": "This is base value of the IVA (Sales tax). Optional. This field indicates base value of the IVA ( Sales tax which is part of the benefit of the tax legislations for the 2% sale tax return to the cardholder.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "taxAmountConsumption": { "type": "number", "description": "This is the national consumption tax amount.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "nationalNetMiscAmount": { "type": "number", "description": "This is an amount field that contains an airport charge, cashback or a tip.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "emvTransactionIndicator": { "maxLength": 1, "type": "string", "description": "Contains one of the below valid values:
    0 - Does not apply to EMV
    1 - EMV transaction
    2 - Fallback transaction", "x-variant": "positive | Length: 1" }, "costTransactionIndicator": { "maxLength": 1, "type": "string", "description": "Contains one of the below valid values:
    0 - Not a cost inquiry amount
    1 - Cost inquiry transaction", "x-variant": "positive | Length: 1" }, "nationalChargebackReason": { "type": "integer", "description": "Contains a domestic chargeback reason code.", "x-variant": "| positive,Length: totalDigits 2" }, "nationalReimbursementFee": { "type": "number", "description": "Numeric entry indicating a fee for a National Settlement transaction. It must be zeros unless the transaction is a National Settlement transaction for a country using this capability. Two decimal positions are implied.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "nationalNetMiscAmountType": { "maxLength": 1, "type": "string", "description": "It identifies the type of the miscellaneous amount – i.e. whether it is one of:
    A - Airport charge
    C - Cashback
    T - Tip

    Must be one of the above valid values if nationalNetMiscAmount > 0.

    Must be skipped if nationalNetMiscAmount = 0.", "x-variant": "| Length: 1" }, "countryCodeNationalService": { "type": "integer", "description": "The acquirer's country code. Must be 170 for Colombia.", "x-variant": "| Length: 3" }, "nationalNetReimbursementFeeBaseAmount": { "type": "number", "description": "The client supplied interchange reimbursement amount expressed in the transaction currency. This must be less than the transaction amount.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" } }, "description": "Settlement Service Data object for Colombia required if transaction indicates Colombia national settlement" }, "foreignExchangeFeeTransaction": { "type": "number", "description": "When present, this field contains the sender's foreign exchange markup fee (markup above the wholesale or VisaNet exchange rate as assessed by the originator). Values in this field must be in the same currency and format as defined in the amount field.", "format": "double", "x-variant": "| Length: totalDigits 12, fractionDigits 3 (minimum value is 0)" }, "recipientSubDivisionMinorCode": { "maxLength": 16, "type": "string", "description": "Optional.

    This field contains the ISO subdivision minor code (for e.g. a county within a state) of the recipient address." }, "recipientIdentificationNumberBusiness": { "type": "string", "description": "Conditional.

    This is an alphanumeric value that carries the recipient's identification number issued to the recipient by the government or an authorized national entity. This field is to be used if the recipient is a business (e.g. Disbursements)

    If recipientIdentificationNumberIndividual is not populated, then this field needs to be populated mandatorily for Brazil domestic trasactions when businessApplicationId has any of the below values:

    AA
    PP
    TU
    BI
    WT
    FT

    This is an alphanumeric value that carries the merchant’s value-added tax (VAT) registration number or single business reference number (SBRN) for the business issued to by the government or an authorized national entity, then this field needs to be populated for Argentina domestic transaction when businessApplicationId:PS", "x-variant": "| maxLength: 20" }, "recipientIdentificationNumberIndividual": { "type": "string", "description": "Conditional.

    This is an alphanumeric value that carries the recipient's identification number issued to the recipient by the government or an authorized national entity. This field is to be used if the recipient is an Individual (e.g. P2P payments)

    If recipientIdentificationNumberBusiness is not populated, then this field needs to be populated mandatorily for Brazil domestic trasactions when businessApplicationId has any of the below values:

    AA
    PP
    TU
    BI
    WT
    FT
    ", "x-variant": "| maxLength: 13" }, "cpsAuthorizationCharacteristicsIndicator": { "type": "string", "description": "Conditional
    Request for CPS authorization. If present, a valid value is required. Spaces or special characters are not allowed. Possible values are : Y (Transaction requests participation)

    Note: Supported only in US for CPS (Custom Payment Service).

    This field is required for the transaction to qualify for CPS qualified Interchange rates and to avoid the Transaction Integrity Fee.

    Please reach out to your Visa representative for details. ", "x-variant": "| Length:1" } } }, "CreateMerchantAliasRequest": { "required": [ "aliasId", "city", "country", "merchantCategoryCode", "merchantId", "payloadFormatIndicator", "recipientName", "transactionCurrencyCode" ], "type": "object", "properties": { "city": { "type": "string", "description": "Merchant or agent city." }, "aliasId": { "type": "string", "description": "This attribute is used by acquirer to uniquely identify their merchant or agent." }, "country": { "type": "string", "description": "Merchant or agent country code as defined by ISO 3166. ISO 3166 alpha-2 is recommended to be used if alias may be used for QR." }, "aliasType": { "type": "string", "description": "01 – Phone number
    02 – Email address
    03 – USSD Payment ID
    04 – BID (Bank Identification Number)
    05 – National ID
    06 – Custom
    Null – Should start with visa assigned USSD Payment ID" }, "merchantId": { "type": "string", "description": "A 16 digit-number as per Mobile Push Payment Program Implementation Guide to receive payment by merchant or agent." }, "isAgentAlias": { "type": "string", "description": "Optional and applicable for agent alias use only. If set as 'Y', agent alias to be created." }, "recipientName": { "type": "string", "description": "Merchant or agent name." }, "convenienceFeeAmount": { "type": "string", "description": "The convenience fee of a fixed amount. Applicable only for merchant alias." }, "merchantCategoryCode": { "type": "string", "description": "Merchant Category Code. Numeric only." }, "payloadFormatIndicator": { "type": "string", "description": "Defines the format of the merchant data payload. Payload Format Indicator must be set to '01' as per EMVCo Merchant Presented QR specifications." }, "pointOfInitiationMethod": { "type": "string", "description": "In this two-digit field, the first character indicates the method by which the data is presented by the merchant. The second character indicates whether the data is static or dynamic. Static data refers to a situation wherein same data is presented for every transaction unlike a dynamic data wherein the information is specific to a transaction.
    1st character
    '1' = QR
    '2' = BLE
    '3' = NFC
    '4' - '9' = Reserved for Future Use
    2nd character
    '1' = Static
    '2' = Dynamic
    '3' - '9' = Reserved for Future Use.
    Example: '11' indicates QR static code, '12' indicates QR dynamic code." }, "transactionCurrencyCode": { "type": "string", "description": "As defined by ISO 4217. This is the transaction currency code that a merchant can accept for payment. 3-digit numeric presentation of the currency is recommended to be used if alias may be used for QR." }, "convenienceFeePercentage": { "type": "string", "description": "Applicable only for merchant alias. The percentage convenience fee, specified as numeric value from “00.01” (for 00.01%) to “99.99” (for 99.99%)." }, "tipConvenienceFeeIndicator": { "type": "string", "description": "Tip or Convenience Fee Indicator. This shall contains a value of '01', '02' or '03' as per EMVCo Merchant Presented QR specifications. Applicable only for merchant alias." } }, "description": "Request payload data for creating a merchant or agent alias." }, "MerchantAliasResponse": { "type": "object", "properties": { "aliasId": { "type": "string", "description": "Identifier uniquely assigned by Acquirer to a merchant. This identifier of a merchant or agent of acquirer is returned if alias operation in Alias Directory is successful" } }, "description": "Response if a merchant or agent is successfully created,updated or deleted." }, "CashOutRequest": { "required": [ "decimalPositionIndicator", "encAgentPAN", "encConsumerName", "localTransactionDate", "localTransactionTime", "originatorBIN", "originatorCountryCode", "retrievalReferenceNumber", "systemTraceAuditNumber", "transactionAmount", "transactionCurrencyCode", "transmissionDateTime", "visaTransactionId" ], "type": "object", "properties": { "encAgentPAN": { "maxLength": 500, "type": "string", "description": "Agent PAN. 16-digit PAN as created from the mVisa agent ID captured by the consumer from agent information display option. The field is sent in encrypted format using the AES GCM (i.e. Advanced Encryption Standard (AES) in Galois/Counter Mode (GCM)) algorithm for JSON Web Encryption (JWE) objects with 256-bit key (i.e. the shared secret between Visa and client for encryption and decryption of payload data). The field data type will be string(16-19) after decryption." }, "originatorBIN": { "maxLength": 6, "minLength": 6, "type": "string", "description": "This BIN number identifies the originator of Cash-Out payment transaction." }, "encConsumerPAN": { "maxLength": 500, "type": "string", "description": "Consumer PAN. This is a 16-digit PAN. The field is sent in encrypted format using the AES GCM (i.e. Advanced Encryption Standard (AES) in Galois/Counter Mode (GCM)) algorithm for JSON Web Encryption (JWE) objects with 256-bit key (i.e. the shared secret between Visa and client for encryption and decryption of payload data). The field data type will be string(16-19) after decryption." }, "encConsumerName": { "maxLength": 500, "type": "string", "description": "Consumer name. If consumer name is greater than 30 characters, then only first 30 characters will be expected. The field is sent in encrypted format using the AES GCM (i.e. Advanced Encryption Standard (AES) in Galois/Counter Mode (GCM)) algorithm for JSON Web Encryption (JWE) objects with 256-bit key (i.e. the shared secret between Visa and client for encryption and decryption of payload data)." }, "otherPhoneNumber": { "maxLength": 16, "minLength": 1, "type": "string", "description": "Conditional. When present, this field contains the sender's phone number. This field is applicable only for merchant payment transaction. Originator should populate the consumer mobile number if captured on the mobile app for this transaction. Data should not exceed 16 alphanumeric characters." }, "otherEmailAddress": { "maxLength": 99, "minLength": 1, "type": "string", "description": "Conditional. When present, this field contains the sender's email address. This field is applicable only for merchant payment transaction. Originator should populate the consumer email address if captured on the mobile app for this transaction. Data should not exceed 99 alphanumeric characters." }, "transactionAmount": { "maxLength": 12, "type": "string", "description": "Transaction amount in agent on currency. In case the agent currency is not the same as the consumer currency, then originator will perform currency conversion before submitting the transaction." }, "visaTransactionId": { "maxLength": 15, "minLength": 15, "type": "string", "description": "Numeric. It contains a right-justified, VisaNet generated Transaction Identifier (TID) that is unique for each request. The identifier links original messages to subsequent messages, such as those for exception item processing and clearing record." }, "localTransactionDate": { "maxLength": 4, "minLength": 4, "type": "string", "description": "It contains the local month and day on which the transaction was originated. The date is in mmdd format.", "format": "mmdd" }, "localTransactionTime": { "maxLength": 6, "minLength": 6, "type": "string", "description": "The time the transaction takes place, expressed in the local time of the originator. The time is in hhmmss format.", "format": "hhmmss" }, "transmissionDateTime": { "maxLength": 10, "minLength": 10, "type": "string", "description": "The date and time the request was submitted to Visa. Format: MMDDhhmmss.", "format": "MMDDhhmmss" }, "originatorCountryCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "A 3-digit ISO-4217 code that identifies the country of the originating BIN.
    Refer to ISO codes." }, "systemTraceAuditNumber": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Numeric. It is a key data element used to match a response to its request or to match a message to others for a given transaction." }, "velocityLimitIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Conditional. This field contains the velocity limit related information that Acquirer can use in making the authorization decision:
    • 1 = 1-day count or amount exceeded.
    • 2 = 7-day count or amount exceeded.
    • 3 = 30-day count or amount exceeded.
    The field is populated with priority of 1, 2 and then 3.
    This field is sent if recipient has opted for VisaNet to forward them the OCT when a velocity limit has been exceeded.
    This field will be sent as NULL if it is not populated." }, "transactionCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "The 3-digit ISO-4217 code in this field reflects the currency associated to the transactionAmount field." }, "decimalPositionIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Indicates the number of decimal positions following the amount field. This field is to be sent as NULL if it is not populated." }, "retrievalReferenceNumber": { "maxLength": 12, "minLength": 12, "type": "string", "description": "Numeric. It is a key data element for matching a message to others within a given transaction set. The same number appears in all related messages: response, advice, reversal, chargeback, chargeback reversal, or representment. The format is recommended to be ydddhhnnnnnn." } } }, "GetReportResponse-1": { "required": [ "_links", "content" ], "type": "object", "properties": { "_links": { "$ref": "#/components/schemas/_links" }, "content": { "$ref": "#/components/schemas/content-1" } }, "description": "Response data when a merchant or agent alias is successfully resolved." }, "PushFundsTransactionPostPayload-1": { "required": [ "acquirerCountryCode", "acquiringBin", "amount", "businessApplicationId", "cardAcceptor", "localTransactionDateTime", "recipientPrimaryAccountNumber", "retrievalReferenceNumber", "systemsTraceAuditNumber", "transactionCurrencyCode" ], "type": "object", "properties": { "amount": { "type": "number", "description": "The transaction amount to be delivered to the recipient.
    Format:
    Minimum Value: 0
    Maximum value: 999999999.999
    Allowed fractional digits: 3
    Note: If a currency has three decimal places, the last digit of this field must be zero.", "format": "double" }, "vauFlag": { "maxLength": 1, "type": "string", "description": "If present, a valid value is required. Spaces or special characters are not allowed. Possible values are : Y (will cause VAU to be performed)" }, "surcharge": { "type": "string", "description": "When present, this field contains the sender's surcharge as assessed by the originator. Values in this field must be in the same currency and format as defined in the amount field.", "format": "double" }, "senderCity": { "maxLength": 25, "minLength": 1, "type": "string", "description": "Conditional.

    If the transaction is a money transfer and cross-border or U.S. domestic, this field must contain the sender's city.

    If the transaction is a funds disbursement and cross-border or U.S. domestic, this field must contain either the city of the merchant or government entity sending the funds disbursement.

    If the transaction is a pre-paid load or credit card bill pay and U.S. domestic, this field must contain the sender's city." }, "senderName": { "maxLength": 30, "minLength": 2, "type": "string", "description": "Conditional.

    If the transaction is a money transfer and cross-border or U.S. domestic, this field must contain the sender's name.

    If the transaction is a funds disbursement and cross-border or U.S. domestic, this field must contain either the name of the merchant or government entity sending the funds disbursement.

    If the transaction is a pre-paid load or credit card bill pay and U.S. domestic, this field must contain the sender's name.
    Required, if the transaction will be routed to Maestro & STAR networks via Visa Push Payments Gateway Service (PPGS). If this field is sent and transaction is not routed over Maestro & STAR the field is still sent to the other networks as an optional field. PPGS uses senderName if all the following fields are available: senderName, senderFirstName, senderLastName and senderMiddleName

    Recommended Format: Last Name/Family Surname 1 + Space + Last Name/Family Surname 2 (optional) + Space + First Name/Given Name + Space + Middle Initial or Middle name (optional) + space

    Example: Doe John A" }, "accountType": { "maxLength": 2, "minLength": 2, "type": "string", "description": "This is used to identify the account type of the recipientPrimaryAccountNumber in the request. Below are the possible values.

    00-Not applicable
    10-Saving account
    20-Checking account
    30-Credit card account
    40-Universal account

    Default is set to \"00\" if not provided." }, "acquiringBin": { "type": "number", "description": "The Bank Identification Number (BIN) under which the Visa Direct solution is registered. This must match the information provided during enrollment." }, "cardAcceptor": { "required": [ "address", "idCode", "name", "terminalId" ], "type": "object", "properties": { "name": { "maxLength": 25, "minLength": 1, "type": "string", "description": "For P2P payments, must contain the sender name.

    For a funds disbursement, must contain either the name of the merchant or government entity sending the funds disbursement.

    For pre-paid loads, must contain either the name of the load partner providing the reload service or the bank designated service name, if offered over bank channels.

    For credit card bill payment, must contain either the name of the entity providing the credit card bill pay service or the bank designated service name, if offered over bank channels.

    For more details refer to the OCT Global Implementation Guide and VIP technical specifications." }, "idCode": { "maxLength": 15, "minLength": 1, "type": "string", "description": "An identifier for the card acceptor (Visa Direct Originator). This value should be unique for each originator for whom you are sending transactions." }, "address": { "required": [ "country" ], "type": "object", "properties": { "city": { "maxLength": 13, "minLength": 1, "type": "string", "description": "Identifies name of the city where transaction occurs.

    Note: Visa defaults this to \"VISA DIRECT\" if city is not provided.

    Refer to the OCT Global Implementation Guide and VIP technical specification for more details." }, "state": { "maxLength": 50, "type": "string", "description": "Conditional.

    Must be the state or province of the Merchant/Originator. Required if the cardAcceptor:address:country is \"US\" or \"CA\"." }, "county": { "maxLength": 50, "type": "string", "description": "Conditional.

    Must be the county of the Merchant/Originator. Required if cardAcceptor:address:country is \"US\"." }, "country": { "maxLength": 50, "type": "string", "description": "Valid inputs (US example in brackets [])

    ISO country code (2 alpha) [example: \"US\"]

    ISO country code (3 alpha) [example: \"USA\"]

    ISO country code (3 numeric) [example: \"840\"].

    Refer to ISO Codes" }, "zipCode": { "maxLength": 14, "type": "string", "description": "Conditional.

    Zip/Postal code of the money transfer operator/Originator. Required if cardAcceptor:address:country is \"US\" or \"CA\"." } } }, "terminalId": { "maxLength": 8, "minLength": 1, "type": "string", "description": "The identifier for the terminal at a card acceptor location. If sending transactions from a card not present environment, use the same value for all transactions." }, "legalBusinessName": { "maxLength": 25, "minLength": 1, "type": "string", "description": "Acceptor’s legal business name associated with the card acceptor identification code for money transfer OCTs. This field is conditionally required for all Money Transfer OCTs" }, "paymentFacilitator": { "type": "object", "properties": { "id": { "maxLength": 11, "minLength": 1, "type": "string", "description": "Marketplace ID or Payment Facilitator's ID. This field is conditionally required when a payment facilitator is involved." }, "name": { "maxLength": 25, "minLength": 1, "type": "string", "description": "Payment facilitator name in OCTs. This field is conditionally required when a payment facilitator is involved." }, "subMerchantId": { "maxLength": 15, "minLength": 1, "type": "string", "description": "Sub-Merchant ID containing the sponsored merchant ID. This field is conditionally required when a payment facilitator is involved." } } } } }, "sourceAmount": { "type": "number", "description": "Conditional.

    Source Amount is required in certain markets to identify the transaction amount entered in the sender's currency code prior to FX conversion by the originating entity.", "format": "double" }, "recipientCity": { "maxLength": 25, "type": "string", "description": "Conditional

    This field contains the city name of the recipient address.
    Note:
    It is required for cross-border transactions that are originating from or destined to Canada." }, "recipientName": { "maxLength": 30, "minLength": 1, "type": "string", "description": "Conditional.

    Recipient name is required for cross-border enhanced money transfer OCTs." }, "senderAddress": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Conditional.

    If the transaction is a money transfer and cross-border or U.S. domestic, this field must contain the sender's address.

    If the transaction is a funds disbursement and cross-border or U.S. domestic, this field must contain either the address of the merchant or government entity sending the funds disbursement.

    If the transaction is a pre-paid load or credit card bill pay and U.S. domestic, this field must contain the sender's address." }, "recipientState": { "maxLength": 3, "type": "string", "description": "Conditional.

    This field contains the state or province (ISO 3166-2 subdivision) code of the recipient address.
    Note:
    It is required for cross-border transactions either originating from or destined to Canada with recipientCountryCode of 840(USA) or 124(CAN).
    It is also required for Push Payments transactions associated with Gateway Service when recipientCountryCode is either 124(CAN) or 840(USA). (Refer to Mastercard data processing requirements) " }, "senderLastName": { "maxLength": 35, "minLength": 2, "type": "string", "description": "Conditional.

    This field contains sender's last name
    Required when the transaction is routed over Maestro or STAR network via the Visa Push Payments Gateway Service (PPGS). For details on when the transaction maybe routed over Maestro or STAR please check the your PPGS implementation configs or the PPGS implementation guide.

    If this field is sent and transaction is not routed over Maestro & STAR the field is still sent to the other networks as an optional field." }, "deferredOCTData": { "required": [ "requestType" ], "type": "object", "properties": { "requestType": { "maxLength": 2, "minLength": 2, "type": "string", "description": "00 : (Not a deferred OCT). This value indicates that the request is not a deferred OCT. Visa will send this value to the recipient issuer in the request. This acts as the default value if not provided in the request.

    01 : (Originator hold). This value indicates that the originating acquirer has held the OCT for a period of time before sending to Visa and is requesting for Visa to treat the transaction as a deferred OCT. Visa will send this value to the recipient issuer in the request.
    Note: The value of 01 is reserved for originating acquirers that meet certain conditions. Contact your regional client support representative for more information.

    02 : (Visa deferred OCT hold, default interval).This value indicates that the originating acquirer is requesting Visa to apply the default holding period of 48 hours upon receipt and process the request as a deferred OCT. Visa will send this value to the recipient issuer in the request." } }, "description": "Requesting Visa to process the request as a deferred OCT transaction." }, "senderFirstName": { "maxLength": 35, "minLength": 2, "type": "string", "description": "Conditional.

    This field contains sender's first name
    Required when the transaction is routed over Maestro or STAR network via the Visa Push Payments Gateway Service (PPGS). For details on when the transaction maybe routed over Maestro or STAR please check the your PPGS implementation configs and the PPGS implementation guide.

    If this field is sent and transaction is not routed over Maestro & STAR the field is still sent to the other networks as an optional field." }, "senderReference": { "maxLength": 16, "type": "string", "description": "Conditional.

    Required, if the transaction is a money transfer, pre-paid load, or credit card bill pay, and if the sender intends to fund the transaction with a non-financial instrument (for example, cash), a reference number unique to the sender is required.
    Required, if the transaction is a funds disbursement, the field is required.
    Required, if the transaction will be routed to STAR networks via Visa Push Payments Gateway Service. If this field is sent and transaction is not routed over STAR the field is still sent to the other networks as an optional field.

    This field is required if senderAccountNumber is not sent." }, "senderStateCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Conditional.

    Required if senderCountryCode is either 124(CAN) or 840(USA)" }, "purposeOfPayment": { "maxLength": 12, "minLength": 1, "type": "string", "description": "Conditional.

    This is an alphanumeric value.
    Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market." }, "senderMiddleName": { "maxLength": 35, "minLength": 1, "type": "string", "description": "This field contains sender's middle name
    If this field is sent it will be passed to networks, as an optional field, through which transaction is routed when using Visa Push Payments Gateway Service (PPGS)." }, "senderPostalCode": { "maxLength": 10, "minLength": 5, "type": "string", "description": "Conditional.

    When present, this field contains the sender's postal code
    Note: Required when cardAcceptor:address:country is US or CA" }, "sharingGroupCode": { "maxLength": 30, "type": "string", "description": "This field is optionally used by Push Payments Gateway participants (merchants and acquirers) to specify the network access priority.

    Refer to Sharing Group Code

    Note:
    Supported only in US for domestic transactions involving Push Payments Gateway Service." }, "customerReference": { "type": "string", "description": "This is an alphanumeric value that carries the value that identifies the customer, the value may be a reference number or code or generic number. This field to be populated for Argentina domestic transaction when businessApplicationId has PS.", "x-variant": "| Length:17" }, "messageReasonCode": { "type": "number", "description": "Conditional.

    Contains codes that combined with some other fields such as the BAI (Business Application Id) identify some unique use cases. For Sales Tax rebates this field should be populated with the value 5120 (Value-added tax/Sales Tax) along with the businessApplicationId field set to the value 'FD' which indicates this push funds transfer is being conducted in order to facilitate a sales tax refund." }, "recipientLastName": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Conditional.

    When present, this field contains recipient's last name.
    Note: Supported for Push Payments transactions associated with Gateway Service. (Refer to Mastercard data processing requirements)" }, "senderCountryCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Conditional.

    If the transaction is a money transfer and cross-border or U.S. domestic, this field must contain the sender's country code.

    If the transaction is a funds disbursement and cross-border or U.S. domestic, this field must contain either the country code of the merchant or government entity sending the funds disbursement.

    If the transaction is a pre-paid load or credit card bill pay and U.S. domestic, this field must contain the sender's country code.

    Alpha or numeric country code can be supported.

    This field is required when sending the transactions to some of the US debit networks.

    Refer to ISO Codes" }, "senderDateOfBirth": { "type": "string", "description": "This field contains the birth date for the sender.
    Format: YYYY-MM-DD
    Example: 12-30-2011", "format": "date" }, "sourceOfFundsCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Conditional.

    If the transaction is a money transfer, the field is required and must contain a valid sourceOfFundsCode code that matches the funding instrument.

    If the transaction is a funds disbursement, the field is required and most likely contains a \"05\" as the sourceOfFundsCode code to identify that the merchant or government entity used a deposit account to fund the disbursement

    If the transaction is a pre-paid load, the field is required if the transaction is non-U.S. domestic.

    If the transaction is a credit bill pay, the field is required if the transaction is non-U.S. domestic, and the sourceOfFundsCode code must not contain a \"01\" or \"06\".

    Refer to sourceOfFundsCode codes" }, "pointOfServiceData": { "type": "object", "properties": { "panEntryMode": { "type": "number", "description": "Conditional.

    Note: For a CardPresent scenario, this field is required." }, "motoECIIndicator": { "type": "number", "description": "Conditional.

    Note: For a CardPresent scenario, this field is required." }, "posConditionCode": { "type": "number", "description": "Conditional.

    Note: For a CardPresent scenario, this field is required." }, "specialConditionIndicatorMerchant": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Cryptocurrency indicator with the value of “7” can be used to identify the purchase of cryptocurrency, thereby providing greater visibility to the issuers." } }, "description": "Conditional.

    Note: For a CardPresent Transactions, this field is required." }, "recipientFirstName": { "maxLength": 35, "minLength": 1, "type": "string", "description": "Conditional.

    When present, this field contains recipient's first name.
    Note: Supported for Push Payments transactions associated with Gateway Service. (Refer to Mastercard data processing requirements)" }, "sourceCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Conditional.

    3-character alpha or numeric currency code for currency of the sourceAmount field.

    Refer to ISO Codes " }, "acquirerCountryCode": { "type": "number", "description": "Use a 3-digit numeric country code for the country of the BIN under which your Visa Direct solution is registered. This must match the information provided during program enrollment.

    Refer to ISO Codes" }, "feeProgramIndicator": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Note: If present, a valid value is required. Spaces or special characters are not allowed." }, "recipientMiddleName": { "maxLength": 35, "minLength": 1, "type": "string", "description": "This field contains recipient's middle name" }, "recipientPostalCode": { "maxLength": 16, "type": "string", "description": "Conditional

    This field contains the postal code of the recipient address.
    Note:
    It is required for cross-border transactions that are originating from or destined to Canada." }, "recipientStreetName": { "maxLength": 99, "type": "string", "description": "Optional.

    This field contains the street name of the recipient address." }, "senderAccountNumber": { "maxLength": 19, "minLength": 13, "type": "string", "description": "Conditional.

    If the transaction is a money transfer, pre-paid load, or credit card bill pay, and if the sender intends to fund the transaction with a financial instrument (for example, debit card), this field is required and must contain the sender's account number. If the transaction is a funds disbursement, the field is not required.

    Note: This is a 16-digit PAN or token which defines the account of the consumer (sender of push payment)." }, "senderMiddleInitial": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field contains sender's middle initial." }, "merchantCategoryCode": { "type": "number", "description": "Conditional.

    If provided, then the value overrides the one present in onboarding data. If the merchantCategoryCode value is not populated in onboarding data then this field is mandatory.

    Note: required if not provided during onboarding" }, "recipientCountryCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Conditional.

    This field contains the ISO 3166-1 country code of the recipient address.

    Refer to ISO Codes
    Note:
    It is required for cross-border transactions that are originating from or destined to Canada." }, "senderAdditionalData": { "type": "object", "properties": { "identificationList": { "type": "array", "description": "Identification list of sender. We have a current limitation that sender ID and recipient ID information are mutually exclusive. If both sender ID and recipient ID are sent in the same request, only sender ID related information will be sent to the issuer. \nAdditionally, only 1 instance of ID per sender or recipient is currently supported. If more than one instance is provided, only the first instance will be forwarded to the issuer.", "items": { "type": "object", "properties": { "idType": { "maxLength": 4, "minLength": 1, "type": "string", "description": "This field will contain the type of sender identification. The valid values are: The valid values are: \n CUID - Customer identification - unspecified \n NTID - National identification\n PASN - Passport number\n DRLN - Driver license\n TXIN - Tax identification \n CPNY - Company registration number\n PRXY - Proxy identification \n SSNB - Social security number \n ARNB - Alien registration number \n LAWE - Law enforcement identification \n MILI - Military identification \n TRVL - Travel identification - non-passport \n EMAL - Email\n PHON - Phone number \nFor a given instance of identificationList[], a minimum of idType and idNumber fields should be provided, else the ID information will not be forwarded to the issuer.", "x-variant": "| enumeration" }, "idNumber": { "maxLength": 35, "minLength": 1, "type": "string", "description": "This field will contain an acquirer-populated value associated with the Identification Type in field idType \nFor a given instance of identificationList[] , a minimum of idType and idNumber fields should be provided, else the ID information will dropped and not be forwarded to the issuer." }, "idOwnerType": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field denotes whether the Tax ID is a business or individual's Tax ID when idType contains the value of TXIN (Tax identification).\nThe valid values are : \nB (Business) \nI (Individual)" }, "idIssueCountry": { "maxLength": 3, "minLength": 3, "type": "string", "description": "This tag will contain the 3-alpha or 3-digit ISO country code of the ID issuing country." } } } } } }, "businessApplicationId": { "maxLength": 2, "minLength": 2, "type": "string", "description": "Identifies the programs' business application type for VisaNet transaction processing

    For Money Transfer, AA applies to transactions where the sender and recipient are the same person and PP applies to transactions where the sender and recipient are not the same person.

    For Money Transfer, CD (Cash Deposit) applies to cash funded transactions.

    Refer to businessApplicationId codes" }, "recipientAddressLine1": { "maxLength": 99, "type": "string", "description": "Conditional.

    This field contains the first line of the recipient address.
    Note:
    It is required for cross-border transactions that are originating from or destined to Canada." }, "recipientAddressLine2": { "maxLength": 99, "type": "string", "description": "Optional.

    This field contains the second line of the recipient address." }, "transactionIdentifier": { "type": "number", "description": "Conditional.

    The VisaNet transaction identifier. If you have previously sent an AFT, this field must include the VisaNet transaction identifier returned in the AFT response.

    Note: provide only if there is a corresponding AFT transaction response." }, "recipientMiddleInitial": { "maxLength": 1, "minLength": 1, "type": "string", "description": "When present, this field contains recipient's middle initial.
    Note:
    Supported for Push Payments transactions associated with Gateway Service. (Refer to Mastercard data processing requirements)" }, "merchantPseudoAbaNumber": { "maxLength": 9, "type": "string", "description": "Conditional.

    This is a number that uniquely identifies the originator when they sign up to send Push Payment Gateway transactions. On enrollment, an originator will get a single pseudo-value that is assigned by Visa. The other networks will assign their own unique values for the originator.

    Note:
    Supported only in US for domestic transactions involving Push Payments Gateway Service." }, "recipientAdditionalData": { "type": "object", "properties": { "identificationList": { "type": "array", "description": "Identification list of reciepint. We have a current limitation that sender ID and recipient ID information are mutually exclusive. If both sender ID and recipient ID are sent in the same request, only sender ID related information will be sent to the issuer. \nAdditionally, only 1 instance of ID per sender or recipient is currently supported. If more than one instance is provided, only the first instance will be forwarded to the issuer.", "items": { "type": "object", "properties": { "idType": { "maxLength": 4, "minLength": 1, "type": "string", "description": "This field will contain the type of reciepint identification. The valid values are: \n CUID - Customer identification - unspecified \n NTID - National identification\n PASN - Passport number\n DRLN - Driver license\n TXIN - Tax identification \n CPNY - Company registration number\n PRXY - Proxy identification \n SSNB - Social security number \n ARNB - Alien registration number \n LAWE - Law enforcement identification \n MILI - Military identification \n TRVL - Travel identification - non-passport \n EMAL - Email\n PHON - Phone number \nFor a given instance of identificationList[], a minimum of idType and idNumber fields should be provided, else the ID information will not be forwarded to the issuer.", "x-variant": "| enumeration" }, "idNumber": { "maxLength": 35, "minLength": 1, "type": "string", "description": "This field will contain an acquirer-populated value associated with the Identification Type in field idType. For a given instance of identificationList[], a minimum of idType and idNumber fields should be provided, else the ID information will be dropped and not forwarded to the issuer." }, "idOwnerType": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field denotes whether the Tax ID is a business or individual's Tax ID when idType contains the value of TXIN (Tax identification).\nThe valid values are : \nB (Business) \nI (Individual)" }, "idIssueCountry": { "maxLength": 3, "minLength": 3, "type": "string", "description": "This tag will contain the 3-alpha or 3-digit ISO country code of the ID issuing country." } } } } } }, "recipientBuildingNumber": { "maxLength": 16, "type": "string", "description": "Optional.

    This field contains the house or building number of the recipient address." }, "recipientCardExpiryDate": { "type": "string", "description": "Conditional.

    This field contains the expiration date for the recipient's primary account number or token in recipientPrimaryAccountNumber.
    Note: Visa requires expiration date to be present in all OCTs destined to U.S. issuers
    Format: YYYY-MM
    Example: 2021-10", "format": "date" }, "systemsTraceAuditNumber": { "type": "number", "description": "A unique value should be used for each API method. However, when passing the (AFTR) method, this value must match the systemsTraceAuditNumber previously passed with the AFT method for the current transaction." }, "transactionCurrencyCode": { "maxLength": 3, "minLength": 3, "type": "string", "description": "Use a 3-character alpha or numeric currency code for currency of the sender. You should (unless prohibited by local law / regulation) use the billingCurrencyCode obtained from the Funds Transfer Attribute Inquiry API under Payment Account Attribute Inquiry.

    Refer to ISO Codes " }, "localTransactionDateTime": { "type": "string", "description": "This field contains the local date and time when the transaction is submitted by a merchant, service provider or acquirer.
    Format: YYYY-MM-DDThh:mm:ss
    Example: 2011-12-30T21:32:52", "format": "date-time" }, "nationalReimbursementFee": { "type": "number", "description": "When present, this field contains the IRF fees.
    Format:
    Minimum Value: 0
    Maximum value: 999999999.999
    Allowed fractional digits: 3.
    Note: If a currency has three decimal places, the last digit of this field must be zero.", "format": "double" }, "retrievalReferenceNumber": { "type": "number", "description": "A value used to tie together service calls related to a single financial transaction. When passing Account Funding Transaction (AFT) and an Original Credit Transaction (OCT) methods, this value must differ between the two methods. When passing the Account Funding Transaction Reversal (AFTR) method, this value must match the retrievalReferenceNumber previously passed with the AFT method for this transaction.

    Recommended Format : ydddhhnnnnnn

    The first fours digits must be a valid yddd date in the Julian date format, where the first digit = 0-9 (last digit of current year) and the next three digits = 001-366 (number of the day in the year). hh can be the two digit hour in a 24 hour clock (00-23) during which the transaction is performed.

    nnnnnn can be the systemsTraceAuditNumber or any 6 digit number." }, "argentinaReimbursementFee": { "type": "number", "description": "Optional, this field contains the Argentina member supplied reimbursement fee. If present, populate 0", "format": "double", "x-variant": "| Length: totalDigits 10, fractionDigits 2 (minimum value is 0, maximum value is 99999999.99)" }, "merchantVerificationValue": { "required": [ "mvvAcquirerAssigned", "mvvVisaAssigned" ], "type": "object", "properties": { "mvvVisaAssigned": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Visa assigned MVV value. E.g. 0A45AF" }, "mvvAcquirerAssigned": { "maxLength": 4, "minLength": 4, "type": "string", "description": "Visa assists the acquirer in assigning the last four. E.g. 98FC" } }, "description": "Merchant Verification Value(MVV) is used to identify merchants that participate in a variety of programs. The MVV is unique to the merchant." }, "mexicoNationalServiceData": { "required": [ "reimbursementFee", "reimbursementFeeTax" ], "type": "object", "properties": { "irfType": { "maxLength": 1, "minLength": 1, "type": "string", "description": "This field contains one of the following values:
    0 - Unknown/default
    1 - Fixed
    2 - Ad valorem (%)
    3 - Composite (fixed amount and ad valorem)" }, "accountType": { "maxLength": 2, "minLength": 2, "type": "string", "description": "This field contains one of the following values:
    CO - Commercial products
    CR - Credit
    DB - Debit
    PL - Private label
    PP - Prepaid" }, "irfCategoryCode": { "maxLength": 2, "minLength": 1, "type": "string", "description": "This field optionally contains any value from 00 to 99." }, "merchantFiscalId": { "maxLength": 13, "type": "string", "description": "This field contains RFC for the merchant. This is an alphanumeric field. The RFC format can be AAAANNNNNNAAA, where A is alphanumeric value and N is a numeric value." }, "reimbursementFee": { "type": "number", "description": "This field contains the Client-Calculated Interchange Reimbursement Fee in the same currency as the transaction. It must not contain zeros.", "format": "double" }, "reimbursementFeeTax": { "type": "number", "description": "This field contains the VAT calculated for the IRF applicable to the transaction. It must not contain zeros.", "format": "double" } }, "description": "Settlement Service Data object for Mexico required if transaction indicates Mexico national settlement." }, "settlementServiceIndicator": { "type": "number", "description": "This flag enables the originator to request for a particular settlement service to be used for settling the transaction.

    Valid values are:
    0 - International Settlement
    9 - VIP to decide
    8 - National Settlement

    Note: The default value is 9. This field is only relevant for specific countries where the acquirer has to select 8 in order to settle in the national net settlement service. " }, "colombiaNationalServiceData": { "required": [ "countryCodeNationalService", "nationalNetReimbursementFeeBaseAmount" ], "type": "object", "properties": { "addValueTaxAmount": { "type": "number", "description": "This is the national government tax for added value of good or service.
    Format:
    Minimum Value: 0
    Maximum value: 999999999.999
    Allowed fractional digits: 3.
    Note: If a currency has three decimal places, the last digit of this field must be zero.", "format": "double" }, "addValueTaxReturn": { "type": "number", "description": "This is base value of the IVA (Sales tax). Optional. This field indicates base value of the IVA ( Sales tax which is part of the benefit of the tax legislations for the 2% sale tax return to the cardholder.
    Format:
    Minimum Value: 0
    Maximum value: 999999999.999
    Allowed fractional digits: 3.
    Note: If a currency has three decimal places, the last digit of this field must be zero.", "format": "double" }, "taxAmountConsumption": { "type": "number", "description": "This is the national consumption tax amount.
    Format:
    Minimum Value: 0
    Maximum value: 999999999.999
    Allowed fractional digits: 3.
    Note: If a currency has three decimal places, the last digit of this field must be zero.", "format": "double" }, "nationalNetMiscAmount": { "type": "number", "description": "This is an amount field that contains an airport charge, cashback or a tip.
    Format:
    Minimum Value: 0
    Maximum value: 999999999.999
    Allowed fractional digits: 3", "format": "double" }, "emvTransactionIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Contains one of the below valid values:
    0 - Does not apply to EMV
    1 - EMV transaction
    2 - Fallback transaction" }, "costTransactionIndicator": { "maxLength": 1, "minLength": 1, "type": "string", "description": "Contains one of the below valid values:
    0 - Not a cost inquiry amount
    1 - Cost inquiry transaction" }, "nationalChargebackReason": { "type": "number", "description": "Contains a domestic chargeback reason code." }, "nationalReimbursementFee": { "type": "number", "description": "Numeric entry indicating a fee for a National Settlement transaction. It must be zeros unless the transaction is a National Settlement transaction for a country using this capability. Two decimal positions are implied.", "format": "double" }, "nationalNetMiscAmountType": { "maxLength": 1, "minLength": 1, "type": "string", "description": "It identifies the type of the miscellaneous amount – i.e. whether it is one of:
    A - Airport charge
    C - Cashback
    T - Tip

    Must be one of the above valid values if nationalNetMiscAmount > 0.

    Must be skipped if nationalNetMiscAmount = 0." }, "countryCodeNationalService": { "type": "number", "description": "The acquirer's country code. Must be 170 for Colombia." }, "nationalNetReimbursementFeeBaseAmount": { "type": "number", "description": "The client supplied interchange reimbursement amount expressed in the transaction currency. This must be less than the transaction amount.
    Format:
    Minimum Value: 0
    Maximum value: 999999999.999
    Allowed fractional digits: 3.
    Note: If a currency has three decimal places, the last digit of this field must be zero.", "format": "double" } }, "description": "Settlement Service Data object for Colombia required if transaction indicates Colombia national settlement" }, "recipientPrimaryAccountNumber": { "maxLength": 19, "minLength": 13, "type": "string", "description": "This is a 16-digit PAN or token for the account of the recipient of push payment." }, "recipientSubDivisionMinorCode": { "maxLength": 16, "type": "string", "description": "Optional.

    This field contains the ISO subdivision minor code (for e.g. a county within a state) of the recipient address." }, "senderIdentificationNumberBusiness": { "type": "string", "description": "Conditional.

    This is an alphanumeric value that carries the sender's identification number issued to the sender by the government or an authorized national entity. This field is to be used if the sender is a business (e.g. Disbursements)

    Note: If senderIdentificationNumberIndividual is not populated, then this field needs to be populated mandatorily for Brazil domestic transactions.", "x-variant": "| maxLength: 20" }, "senderIdentificationNumberIndividual": { "type": "string", "description": "Conditional.

    This is an alphanumeric value that carries the sender's identification number issued to the sender by the government or an authorized national entity or contains the customer’s VAT registration number for the individual tax identification. This field is to be used if the sender is an Individual (e.g. P2P payments),

    Note: If senderIdentificationNumberBusiness is not populated, then this field needs to be populated mandatorily for Brazil domestic transactions.
    If businessApplicationId has PS, then this field to be populated for Argentina domestic transaction.", "x-variant": "| maxLength: 13" } } }, "CashInPushPaymentResponse": { "required": [ "actionCode", "approvalCode", "responseCode", "retrievalReferenceNumber", "transactionIdentifier", "transmissionDateTime" ], "type": "object", "properties": { "actionCode": { "type": "string", "description": "Contains a code that defines the response to a request.
    Refer to actionCode" }, "approvalCode": { "maxLength": 6, "minLength": 6, "type": "string", "description": "Conditional. Contains the authorization code provided by the participant when a transaction is approved." }, "responseCode": { "maxLength": 1, "minLength": 1, "type": "string", "description": "It is added by VisaNet and contains the response source/reason code that identifies the source of the field actionCode response decision." }, "statusIdentifier": { "type": "string", "description": "Required when the API response times out." }, "originalActionCode": { "maxLength": 2, "minLength": 2, "type": "string", "description": "The action code of the original transaction request
    Refer to actionCode
    Note: This field is only present, when the request is identified as a duplicate." }, "transmissionDateTime": { "type": "string", "description": "The value in response must match the value in the request.", "format": "dat-time" }, "transactionIdentifier": { "maxLength": 15, "minLength": 15, "type": "string", "description": "It is added by VisaNet. It contains a right-justified, VisaNet generated Transaction Identifier (TID) that is unique for each request. The identifier links original messages to subsequent messages, such as those for exception item processing and clearing record." }, "retrievalReferenceNumber": { "maxLength": 12, "minLength": 12, "type": "string", "description": "Numeric only. Key data element for matching a message to others within a given transaction set. Value will be the same as what has been provided in the request." } } }, "CreateAliasRequest-2": { "required": [ "alias", "aliasType", "cardType", "consentDateTime", "country", "guid", "issuerName", "recipientFirstName", "recipientLastName", "recipientPrimaryAccountNumber" ], "type": "object", "properties": { "city": { "type": "string", "description": "Consumer’s city belonging to the payment instrument" }, "guid": { "type": "string", "description": "This attribute is uniquely used by an Issuer to identify the payment instrument belonging to a consumer cardholder.
    An Issuer may pass their existing unique identifier of a cardholder's payment instrument in their system to Visa Alias Directory Service as a guid.

    For multiple aliases linked to the same payment instrument (e.g., PAN), the same guid should be used. For example:
    guid abcd12345678z01, alias 85291112222
    guid abcd12345678z01, alias 85288881111

    One alias can also be linked to more than one account. For example, one phone can be linked to three different cards with one of these cards selected as the default card to receive money. It is recommended that the Issuer use systematic naming to generate a guid for easy maintenance. Below is an example of one mobile number linking to three different PANs:
    alias 85291112222, guid abcd12345678z01 for PAN1 (default)
    alias 85291112222, guid abcd12345678z02 for PAN2
    alias 85291112222, guid abcd12345678z03 for PAN3" }, "alias": { "type": "string", "description": "This attribute contains the alias data, e.g. phone number, email address, etc.
    If phone number is used for alias, this should be provided in accordance with ITU-T E.164 (2010) number structure. Below are some examples of phone numbers with different country codes:
    CountryCountry CodeExamples
    United States11650xxxxxxx
    Ukraine38038067xxxxxxx
    Belarus37537529xxxxxxx
    Kazakhstan77701xxxxxxx
    United Kingdom444478xxxxxxxx
    Singapore65659xxxxxxx
    Hong Kong8528529xxxxxxx
    Kenya254254701xxxxxx

    If IBAN (International Bank Account Number) is used for alias, this should be provided in accordance with ISO 13616:2007. Below is an example of IBAN:

    CountryExample
    IrelandIE29AIBK93115212345678
    where
    Country Code: IE
    Check digits: 29
    Bank Identifier: AIBK
    Branch Identifier: 931152
    Account Number:12345678
    " }, "country": { "type": "string", "description": "Country code belonging to the payment instrument of the consumer as defined by ISO 3166, ISO 3166 alpha-2 is recommended to be used if alias may be used for QR." }, "address1": { "type": "string", "description": "Address line 1 belonging to the payment instrument" }, "address2": { "type": "string", "description": "Address line 2 belonging to the payment instrument" }, "cardType": { "type": "string", "description": "Card type description. Reference to Field 62.23—Product ID of available card products. e.g. Visa Platinum" }, "aliasType": { "type": "string", "description": "“01” – Phone number
    “02” – Email address
    “03” – National ID
    “04” – IBAN (International Bank Account Number)" }, "isDefault": { "type": "string", "description": "Conditional. This attribute is to accept either 'true' or 'false'. If set as 'true', this consumer's card number will be set as the default card to receive money." }, "expiryDate": { "type": "string", "description": "Conditional. Consumer's card expiration date. Format: YYYY-MM.
    This field is required for Ukraine, Moldova, Georgia, Armenia, Uzbekistan, Azerbaijan, Kyrgyzstan, Tajikistan, Belarus, and Kazakhstan.
    " }, "issuerName": { "type": "string", "description": "This is the Issuer name of recipient’s card" }, "postalCode": { "type": "string", "description": "Postal code belonging to the payment instrument of the consumer" }, "paymentType": { "type": "string", "description": "Only accept value 'PAN'." }, "accountEmail": { "type": "string", "description": "Conditional. This field should only be used for selected markets that opt to use Visa web portal for alias registration. This is a consumer email address for communications and matching purposes. If the account email does not match with existing alias mappings, the existing alias mappings will be disabled prior to creating the new alias mapping." }, "contactEmail": { "type": "string", "description": "Consumer’s contact email for communications" }, "consentDateTime": { "type": "string", "description": "Date & time when consumer has provided their consent to Issuer about the use of their personal data for the Visa Alias Directory Service. Format: YYYY-MM-DD hh:mm:ss. Local date and time should be converted to Coordinated Universal Time (UTC) before submitting this value in API request." }, "recipientLastName": { "type": "string", "description": "Consumer’s last name. Issuers in Ukraine, Belarus, and Kazakhstan must use only the first letter of a customer’s last name followed by a dot symbol to create or modify an alias record. For example, the alias record for customer John Smith should be created or modified by the Issuer with first and last name fields as 'John S.'" }, "contactPhoneNumber": { "type": "string", "description": "Consumer’s contact phone number for communications" }, "recipientFirstName": { "type": "string", "description": "Consumer’s first name" }, "recipientMiddleName": { "type": "string", "description": "Consumer’s middle name" }, "recipientLastNameLocal": { "type": "string", "description": "Consumer’s last name in local language" }, "recipientFirstNameLocal": { "type": "string", "description": "Consumer’s first name in local language" }, "recipientMiddleNameLocal": { "type": "string", "description": "Consumer’s middle name in local language" }, "recipientPrimaryAccountNumber": { "type": "string", "description": "Consumer's card number" } }, "description": "Request payload data for creating an alias." }, "GenerateReportRequest": { "required": [ "type" ], "type": "object", "properties": { "type": { "type": "string", "description": "Specify the type of alias records to be contained in the report.
    Valid values are CONSUMER, MERCHANT and AGENT." }, "limit": { "type": "string", "description": "Maximum number of records to be contained in each page of the report.
    Default is set to a maximum of 20,000 records per page of a report.
    Minimum value is 1, Maximum value is 20,000." }, "status": { "type": "string", "description": "If not provided, default report contains alias records with all valid status, i.e.
    Consumer alias report will contain 'ACTIVE','INACTIVE' and 'DISABLED' records
    Merchant alias report will contain 'ACTIVE' and 'DISABLED' records
    Agent alias report will contain 'ACTIVE' and 'DISABLED' records.
    Valid values for status are 'ACTIVE', 'INACTIVE' and 'DISABLED'." }, "reportStartDate": { "type": "string", "description": "The start date of a report. Follows ISO 8601, date format YYYY-MM-DD. Example: 2019-01-01.
    If not set, it will be default to the previous date (T-1)." } }, "description": "Request payload data to generate a report." }, "DeleteAliasRequest-1": { "required": [ "alias", "guid" ], "type": "object", "properties": { "guid": { "type": "string", "description": "This attribute is uniquely used by issuer to identify their customer (i.e. consumer cardholder).
    Issuer may pass their existing unique identifier of a cardholder of their system to VAD as a guid." }, "alias": { "type": "string", "description": "This attribute contains the alias data, e.g. phone number, email address, etc.
    If phone number is used for alias, this should be provided in accordance with ITU-T E.164 (2010) number structure. Below are some examples of phone numbers with different country codes:
    CountryCountry CodeExamples
    United States11650xxxxxxx
    United Kingdom444478xxxxxxxx
    Singapore65659xxxxxxx
    Hong Kong8528529xxxxxxx
    Kenya254254701xxxxxx

    If IBAN (International Bank Account Number) is used for alias, this should be provided in accordance with ISO 13616:2007. Below is an example of IBAN:

    CountryExample
    IrelandIE29AIBK93115212345678
    where
    Country Code: IE
    Check digits: 29
    Bank Identifier: AIBK
    Branch Identifier: 931152
    Account Number:12345678
    " } }, "description": "Request payload data for deleting an alias.

    Note. This API allows issuer to delete only one mapping of an alias to an account at one time. To delete
    • the mappings of multiple aliases linked to the same PAN; and/or
    • the mappings of one alias linked to multiple accounts
    issuer is required to submit multiple API requests." }, "CardAcceptormr": { "type": "object", "properties": { "name": { "maxLength": 25, "minLength": 1, "type": "string", "description": "This must be the same value as in the original response." }, "idCode": { "maxLength": 15, "minLength": 1, "type": "string", "description": "Originator should populate this field with the card acceptor ID (Merchant ID) of the merchant." }, "address": { "$ref": "#/components/schemas/CardAcceptorAddressmr" }, "terminalId": { "maxLength": 8, "minLength": 1, "type": "string", "description": "Conditional. Originators can drop this field only when the acquiring BIN is mVisa enabled." } }, "description": "This must be the same value as in the original response." }, "CardAcceptor-2": { "type": "object", "properties": { "name": { "maxLength": 25, "minLength": 1, "type": "string", "description": "Name of the originator/money transfer operator. This is the same as cardAcceptor.name previously sent in the request for PullFunds, PushFunds or ReverseFunds transaction API calls." }, "idCode": { "maxLength": 15, "minLength": 1, "type": "string", "description": "An identifier for the card acceptor (Visa Direct Originator). This is the same as cardAcceptor.idCode previously sent in the request for PullFunds, PushFunds or ReverseFunds transaction API calls." } } } }, "responses": {}, "parameters": {}, "examples": {}, "requestBodies": {}, "headers": {}, "callbacks": {} }, "x-tagGroups": [ { "name": "API Reference", "tags": [ "Adjustment API", "Cancel OCT API", "Deferred OCT Advice API", "Funds Transfer API", "Issuer Receive API", "Mobile Push Payment Refund API", "Query API", "Receive Side Callback API", "Reports API", "Visa Alias Directory API ", "mVisa API" ] } ] }