---
openapi: 3.0.1
info:
title: B2B Virtual Account Payment Method
description: ''
version: '1'
servers:
- url: https://sandbox.api.visa.com
description: Sandbox server
security: []
tags:
- name: Account Management service
description: The Account Management web services are used to manage payment controls
for existing card accounts and to request virtual accounts while setting controls.
The endpoints allow the user to retrieve the status of new account requests, view
authorization rules, submit virtual card requisitions for an employee , and retrieve
security code (CVV2) details of an existing account.
- name: Buyer Management Service
description: The Buyer Service provides self-service capabilities that simplify
and reduce the implementation process for new VPA buyers (and other downstream
systems). Buyers can be created from scratch or from a pre-defined Buyer Template.
Either way, these APIs help streamline the process and increase the speed of buyer
deployments, as well as provide third parties with insight into the buyers configurations
for troubleshooting. For more details about the requirements for creating a buyer,
please reference the Buyer
Setup Details page.
- name: Payment Service
description: The Payment web service is used for processing payments and sending
payment remittance information to the appropriate suppliers.
- name: Single Use Account Pool Maintenance Service
description: The Proxy web service is used for managing a pool of Single-Use Accounts
(SUAs) linked to a proxy. With this web service, you can create proxy pool(s)
for a buyer, update details of the proxy, delete unused pools and get details
about an existing pool(e.g. number of available accounts).
- name: Supplier Service
description: The Supplier web service is used for creating and maintaining a supplier.
- name: Workflows
description: Workflows
paths:
"/vpa/v2/buyerManagement/buyerTemplate/get":
post:
tags:
- Buyer Management Service
summary: Get Buyer Template
description: Obtain all current parameters for an existing buyer template. Optional
and default values will be provided as well as the ability to obtain a full
picture of the buyer configurations. This is helpful for troubleshooting or
to see the details of a template before many any changes to it.
operationId: Get Buyer Template V2
requestBody:
description: Request Details for getting the details of a Buyer template.
content:
application/json:
schema:
"$ref": "#/components/schemas/GetBuyerTemplateRequest"
examples:
Default:
summary: Default
value:
clientId: B2BWS_1_Region_Bank_9999
messageId: '107970185555'
templateId: '1_3_9999_811'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
"$ref": "#/components/schemas/GetBuyerTemplateSuccessResponseV2"
examples:
Default:
summary: Default
value:
responseObject:
responseFileConfig:
proxyConfig:
holdDays: '30'
bucketedProxyEnabled: false
autoRefreshEnabled: true
boostPaymentConfig:
boostPaymentEnabled: false
contactInfo:
implementationType: 2
emailAddress: nigandhe@visa.com
phone1: '99999977'
buyerFeatureConfig:
fullAccountViewEnabled: true
cardMaskingDigitsOnline: '12'
vcfDataFeedIndicator: Y
onlinePaymentInstructionEnabled: true
onlinePaymentRequisitionEnabled: true
cardMaskingDigits: '7'
pseudoAccountsEnabled: false
rvaReconciliationFileConfig:
billingConfig:
billingType: I
billingBID: '10048816840'
stripePaymentConfig:
remittanceNotificationEnabled: true
stripePaymentEnabled: true
vanConfig:
fcsBankId: F286
vanEnabled: true
stpPaymentConfig:
remittanceNotificationEnabled: true
stpPaymentEnabled: true
webServicesConfig:
apiCodes:
webServicesEnabled: false
clientId:
suppressSupplierNotification:
vbdsClientId:
templateId: '1_3_9999_811'
paymentConfig:
securityCodeRequired: true
allowableCurrencies:
- USD
expirationDays: '30'
billingCurrency: USD
expirationBufferDays: '5'
paymentAdviceOption: C
paymentFileCommConfig:
paymentSecurityConfig:
defaultSecurityFieldCode: '1'
defaultSecurityQuestion: Credential Text
customSecurityQuestions:
- What is Security answer?
- What is SSN Number?
customSecurityQuestionsEnabled: true
approvalWorkflowConfig:
workflowFunctionCodes:
- AUCL
- PYIN
workflowConfigEnabled: true
authorizationControlConfig:
issuerHoldingBID: '10000290'
authControlEnabled: true
alertsEnabled: true
paymentNotificationConfig:
defaultBuyerLanguageCode: en_US
supplierReminderNotificationDays: '12'
dateFormat: MMDDYYYY
supplierReminderNotificationEnabled: true
attachRemittanceFileDetails: true
templateName: VPP-APITemplate-vcfInd-Null23
templateDescription: VPP-APITemplate-vcfInd-Null23_Updated
reconciliationFileConfig:
adhocReconciliationReportEnabled: false
commFileId:
templateName:
onlinePaymentReconciliationEnabled: false
processorConfig:
closeAccount: true
responseStatus:
statusDesc: Buyer template details retrieved successfully.
messageId: '107970185555'
status: success
statusCode: BSGT0000
'400':
description: Refer to the Error
Codes page for the list of error codes for this API.
content:
application/json:
schema:
"$ref": "#/components/schemas/ErrorResponse"
x-samplePayload: ''
x-codegen-request-body-name: templateRequest
x-operationVersions:
- label: v1
operationPointer: "#/paths/~1vpa~1v1~1buyerManagement~1buyerTemplate~1get/post"
default: false
- label: v2 - Latest
operationPointer: "#/paths/~1vpa~1v2~1buyerManagement~1buyerTemplate~1get/post"
default: false
x-hideTryIt: true
"/vpa/v1/buyerManagement/buyer/get":
post:
tags:
- Buyer Management Service
summary: Get Buyer Details
description: ''
operationId: Get Buyer Details
requestBody:
description: Parameters required to retrieve a Buyer
content:
application/json:
schema:
"$ref": "#/components/schemas/GetBuyerRequest"
examples:
Default:
summary: Default
value:
clientId: B2BWS_1_1_1111
messageId: '107970184447'
buyerId: '200031032'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
"$ref": "#/components/schemas/GetBuyerSuccessResponse"
examples:
Default:
summary: Default
value:
responseObject:
responseFileConfig:
fileLevel:
recipientLoginIds:
commFileId:
fileFormat:
proxyConfig:
holdDays: '180'
bucketedProxyEnabled: false
autoRefreshEnabled: false
boostPaymentConfig:
boostPaymentEnabled: false
contactInfo:
zipCode: '78750'
phone1Ext:
city: Austin
contactName: VisaCompany
phone2Ext:
phone3Ext:
phone2:
phone3:
buyerId: '200031032'
buyerName: '2000131032'
templateId:
phone1: '1234567890'
implementationType: 2
companyId: '2000131032'
emailAddress: visab2bvpaqa1@visa.com
countryCode: USA
addressLine1: addr1
addressLine2:
state: TX
addressLine3:
buyerFeatureConfig:
fullAccountViewEnabled: false
cardMaskingDigitsOnline: '12'
vcfDataFeedIndicator: Y
onlinePaymentInstructionEnabled: true
onlinePaymentRequisitionEnabled: true
cardMaskingDigits: '4'
pseudoAccountsEnabled: false
rvaReconciliationFileConfig:
fileLevel: ''
recipientLoginIds: []
commFileId: ''
deliveryTime: ''
deliveryFrequency:
templateId: ''
fileFormat:
paymentFileConfig:
edi824FileId:
edi997FileId:
inboundFileId:
billingConfig:
billingType: I
billingBID: '10048816840'
stripePaymentConfig:
remittanceNotificationEnabled: false
stripePaymentEnabled: false
vanConfig:
fcsBankId:
processingType:
aceClientId:
admClientId:
visaADMOptionId:
mcADMOptionId:
vanEnabled: false
settlementExpirationDays:
stpPaymentConfig:
accountHolderFirstName:
remittanceNotificationEnabled: false
stpPaymentEnabled: false
accountHolderLastName:
webServicesConfig:
apiCodes:
webServicesEnabled: false
clientId:
suppressSupplierNotification: false
vbdsClientId: ''
paymentConfig:
securityCodeRequired: true
allowableCurrencies:
- INR
- USD
expirationDays: '25'
billingCurrency: USD
expirationBufferDays: '5'
defaultSecurityCode: true
paymentAdviceOption: C
paymentSecurityConfig:
defaultSecurityFieldCode: '1'
defaultSecurityQuestion: Credential Text
customSecurityQuestions: []
customSecurityQuestionsEnabled: false
approvalWorkflowConfig:
workflowFunctionCodes: []
workflowConfigEnabled: false
authorizationControlConfig:
authControlPaymentTemplate: Custom_Standard
issuerHoldingBID: ''
authControlEnabled: false
defaultAuthControlEnabled: false
alertsEnabled: false
paymentNotificationConfig:
defaultBuyerLanguageCode: en_US
supplierReminderNotificationDays: '7'
paymentAdviceTemplate: Custom_Standard
settlementSource: '1'
dateFormat: DDMMYYYY
defaultSupplierReminderNotificationEnabled: true
defaultAttachRemittanceDetailsFile: true
supplierReminderNotificationEnabled: true
attachRemittanceDetailsFile: true
reconciliationFileConfig:
fileLevel: ''
recipientLoginIds: []
adhocReconciliationReportEnabled: false
commFileId: ''
deliveryTime: ''
templateName:
deliveryFrequency:
onlinePaymentReconciliationEnabled: false
fileFormat:
processorConfig:
embossedLine2: "<> "
closeAccountEnabled: true
processorFields:
aceOptionSet: '1111'
accountIdOptionSet: '1111'
mailerIdOptionSet: '1111'
companyNumber: '1111111'
cycleFrequencyCode: '15'
cmidDefaultValue: ''
unitId: '1000000'
agentNumber: '0000'
cycleFrequencyType: Monthly
suaEmbossedLine1: "<>~1"
lodgedEmbossedLine1: "<>~1"
responseStatus:
statusDesc: Successfully retrieved the buyer
messageId: '1686861552'
status: success
statusCode: BSGB0000
'400':
description: Refer to the Error
Codes page for the list of error codes for this API.
content:
application/json:
schema:
"$ref": "#/components/schemas/ErrorResponse"
x-samplePayload: ''
x-codegen-request-body-name: body
x-operationVersions:
- label: v1
operationPointer: "#/paths/~1vpa~1v1~1buyerManagement~1buyer~1get/post"
default: false
- label: v2 - Latest
operationPointer: "#/paths/~1vpa~1v2~1buyerManagement~1buyer~1get/post"
default: false
x-hideTryIt: true
"/vpa/v1/buyerManagement/buyerTemplate/create":
post:
tags:
- Buyer Management Service
summary: Create Buyer Template
description: ''
operationId: Create Buyer Template
requestBody:
description: Details of the Template
content:
application/json:
schema:
"$ref": "#/components/schemas/CreateBuyerTemplateRequest"
examples:
Default:
summary: Default
value:
responseFileConfig:
proxyConfig:
holdDays: 2
bucketedProxyEnabled: false
autoRefreshEnabled: false
clientId: B2BWS_1_2_3029
boostPaymentConfig:
boostPaymentEnabled: false
contactInfo:
buyerFeatureConfig:
rvaReconciliationFileConfig:
stripePaymentConfig:
remittanceNotificationEnabled:
stripePaymentEnabled: false
messageId: '1579603814600'
vanConfig:
stpPaymentConfig:
remittanceNotificationEnabled: false
stpPaymentEnabled: false
webServicesConfig:
paymentConfig:
securityCodeRequired: false
allowableCurrencies:
- USD
expirationDays: 30
billingCurrency: USD
expirationBufferDays: 5
paymentAdviceOption: C
paymentFileCommConfig:
paymentSecurityConfig:
defaultSecurityFieldCode: 1
defaultSecurityQuestion: Credential Text
customSecurityQuestions:
customSecurityQuestionsEnabled: false
approvalWorkflowConfig:
workflowFunctionCodes:
- AUCL
- LCRC
- PYIN
- PYRN
workflowConfigEnabled: true
authorizationControlConfig:
issuerHoldingBID: '10029012'
authControlEnabled: true
alertsEnabled: false
paymentNotificationConfig:
defaultBuyerLanguageCode: en_US
supplierReminderNotificationDays: 7
dateFormat: DDMMYYYY
supplierReminderNotificationEnabled: true
attachRemittanceFileDetails: false
templateName: '1579603814600'
templateDescription: VPP Template
reconciliationFileConfig:
processorConfig:
closeAccount:
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
"$ref": "#/components/schemas/CreateBuyerTemplateSuccessResponse"
examples:
Default:
summary: Default
value:
templateId: '1_2_3029_50'
'400':
description: Refer to the Error
Codes page for the list of error codes for this API.
content:
application/json:
schema:
"$ref": "#/components/schemas/BErrorResponse"
x-samplePayload: ''
x-codegen-request-body-name: template
x-operationVersions:
- label: v1
operationPointer: "#/paths/~1vpa~1v1~1buyerManagement~1buyerTemplate~1create/post"
default: false
x-hideTryIt: true
"/vpa/v1/buyerManagement/buyerTemplate/update":
patch:
tags:
- Buyer Management Service
summary: Update Buyer Template
description: ''
operationId: Update Buyer Template
requestBody:
description: Details of the values in the Template to be updated
content:
application/json:
schema:
"$ref": "#/components/schemas/UpdateBuyerTemplateRequest"
examples:
Default:
summary: Default
value:
proxyConfig: ''
clientId: B2BWS_1_Region_Bank_19401
boostPaymentConfig: ''
contactInfo: ''
buyerFeatureConfig: ''
stripePaymentConfig: ''
messageId: '1579804800637'
vanConfig: ''
stpPaymentConfig: ''
webServicesConfig: ''
templateId: '1_1_1940_81'
syncBuyerProfiles: true
paymentConfig: ''
paymentSecurityConfig: ''
approvalWorkflowConfig: ''
authorizationControlConfig:
issuerHoldingBID: '12345678'
authControlEnabled: true
alertsEnabled: ''
paymentNotificationConfig: ''
templateName: '1579804800637'
templateDescription: This ise first test template
reconciliationFileConfig: ''
processorConfig: ''
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
"$ref": "#/components/schemas/UpdateBuyerTemplateSuccessResponse"
examples:
Default:
summary: Default
value:
templateId: '1_1_1940_81'
'400':
description: Refer to the Error
Codes page for the list of error codes for this API.
content:
application/json:
schema:
"$ref": "#/components/schemas/ErrorResponse"
x-samplePayload: ''
x-codegen-request-body-name: template
x-operationVersions:
- label: v1
operationPointer: "#/paths/~1vpa~1v1~1buyerManagement~1buyerTemplate~1update/patch"
default: false
x-hideTryIt: true
"/vpa/v1/buyerManagement/buyer/update":
patch:
tags:
- Buyer Management Service
summary: Update Buyer
description: ''
operationId: Update Buyer
requestBody:
description: Profile Details of the buyer that needs to be updated.
content:
application/json:
schema:
"$ref": "#/components/schemas/UpdateBuyerRequest-1"
examples:
Default:
summary: Default
value:
proxyConfig:
holdDays: 3
bucketedProxyEnabled: false
autoRefreshEnabled: false
clientId: B2BWS_1_1_1111
boostPaymentConfig:
boostPaymentEnabled: false
contactInfo:
zipCode: '78759'
phoneExt3: ''
city: Austin
contactName: VisaCompany
phone2: ''
phone3: ''
defaultCurrencyCode: USD
buyerId: '151785'
buyerName: TestPaymentFile
templateId: '1988'
phone1: '8888888888'
companyId: '151785'
emailAddress: visab2bvpaqa1@visa.com
countryCode: USA
addressLine1: 12301ResearchBlvd23
phoneExt1: ''
addressLine2: Build#33
state: TX
phoneExt2: ''
addressLine3: 4thfloor
buyerFeatureConfig:
fullAccountViewEnabled: false
cardMaskingDigitsOnline: 12
onlinePaymentInstructionEnabled: false
onlinePaymentRequisitionEnabled: false
cardMaskingDigits: 12
pseudoAccountsEnabled: false
stripePaymentConfig:
remittanceNotificationEnabled: false
stripePaymentEnabled: false
messageId: '1579589087445'
vanConfig:
processingType: '1'
admClientId: '1234'
mcADMOptionId: '12345'
vanEnabled: false
stpPaymentConfig:
accountHolderFirstName: Visa
remittanceNotificationEnabled: false
stpPaymentEnabled: false
accountHolderLastName: Card
webServicesConfig:
apiCodes:
- SMGS
webServicesEnabled: true
clientId: B2BWS_1_1_1111
vbdsDataSubscription:
- dataSubscriptionType: 5001
dataSubscriptionAccountType:
- subscribed: true
accountType: MEMO
- subscribed: true
accountType: NVPA
suppressSupplierNotification: false
vbdsClientId: '12345'
paymentConfig:
securityCodeRequired: false
allowableCurrencies:
- USD
expirationDays: 30
billingCurrency: USD
expirationBufferDays: 5
paymentAdviceOption: C
paymentSecurityConfig:
defaultSecurityFieldCode: 1
defaultSecurityQuestion: ''
customSecurityQuestions:
- birthday
customSecurityQuestionsEnabled: true
approvalWorkflowConfig:
workflowFunctionCodes:
- AUCL
- PYRN
- LCRC
- PYIN
workflowConfigEnabled: true
authorizationControlConfig:
authControlEnabled: true
alertsEnabled: false
paymentNotificationConfig:
supplierReminderNotificationDays: 2
dateFormat: DDMMYYYY
attachRemittanceDetails: false
supplierReminderNotificationEnabled: true
defaultLanguageCode: en_us
processorConfig:
processorFields:
aceOptionSet: 34d2
corporationId: 2r
bin: sd2
cmidDefaultValue: 245d3534
agentNumber: '3453'
principalNumber: '66'
accountIDOptionSet: '3482'
companyNumber: '12344'
authorizationStrategyCode: hh66
pricingStrategy: 66hh
unitId: prop1
mapId: 66hh
processType: '09'
productCodes: sdjssd
user4Code: 345u
hierarchyNode: s3
plasticCode: '9866'
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
"$ref": "#/components/schemas/UpdateBuyerSuccessResponse"
examples:
Default:
summary: Default
value:
responseStatus:
statusDesc: Successfully updated the buyer
messageId: '1686772964'
status: success
statusCode: BSUB0000
'400':
description: Refer to the Error
Codes page for the list of error codes for this API.
content:
application/json:
schema:
"$ref": "#/components/schemas/ErrorResponse"
x-samplePayload: ''
x-codegen-request-body-name: body
x-operationVersions:
- label: v1
operationPointer: "#/paths/~1vpa~1v1~1buyerManagement~1buyer~1update/patch"
default: false
x-hideTryIt: true
"/vpa/v1/buyerManagement/buyer/create":
post:
tags:
- Buyer Management Service
summary: Create Buyer
description: ''
operationId: Create Buyer
requestBody:
description: Buyer object that needs to be created
content:
application/json:
schema:
"$ref": "#/components/schemas/CreateBuyerRequest-3"
examples:
Default:
summary: Default
value:
proxyConfig:
holdDays: 3
bucketedProxyEnabled: false
autoRefreshEnabled: false
clientId: B2BWS_1_1_1111
boostPaymentConfig:
boostPaymentEnabled: false
contactInfo:
zipCode: '78759'
phoneExt3: ''
city: Austin
contactName: VisaCompany
phone2: ''
phone3: ''
defaultCurrencyCode: USD
buyerId: '8887773'
buyerName: TestPaymentFileLijie14
phone1: '8888888888'
companyId: '8887773'
emailAddress: visab2bvpaqa1@visa.com
countryCode: USA
addressLine1: 12301 ResearchBlvd23
phoneExt1: ''
addressLine2: Build#33
state: TX
phoneExt2: ''
addressLine3: 4th floor
buyerFeatureConfig:
fullAccountViewEnabled: false
cardMaskingDigitsOnline: 12
onlinePaymentInstructionEnabled: false
onlinePaymentRequisitionEnabled: false
cardMaskingDigits: 12
pseudoAccountsEnabled: false
paymentFileConfig:
inboundFileId: '700147'
stripePaymentConfig:
remittanceNotificationEnabled: false
stripePaymentEnabled: false
messageId: '1579589087445'
stpPaymentConfig:
accountHolderFirstName: Visa
remittanceNotificationEnabled: false
stpPaymentEnabled: false
accountHolderLastName: Card
webServicesConfig:
apiCodes:
- SMGS
webServicesEnabled: true
clientId: B2BWS_1_1_1111
vbdsDataSubscription:
- dataSubscriptionType: 5001
dataSubscriptionAccountType:
- subscribed: true
accountType: MEMO
- subscribed: true
accountType: NVPA
suppressSupplierNotification: false
vbdsClientId: '12345'
paymentConfig:
securityCodeRequired: false
allowableCurrencies:
- USD
expirationDays: 30
billingCurrency: USD
expirationBufferDays: 5
paymentAdviceOption: C
paymentSecurityConfig:
defaultSecurityFieldCode: 1
customSecurityQuestions:
- birthday
customSecurityQuestionsEnabled: true
approvalWorkflowConfig:
workflowFunctionCodes:
- AUCL
workflowConfigEnabled: true
authorizationControlConfig:
issuerHoldingBID: '12345678'
authControlEnabled: true
alertsEnabled: false
paymentNotificationConfig:
supplierReminderNotificationDays: 2
dateFormat: DDMMYYYY
attachRemittanceDetails: false
supplierReminderNotificationEnabled: true
defaultLanguageCode: en_us
reconciliationFileConfig:
fileLevel: B
commFileId: '700144'
processorConfig:
processorFields:
aceOptionSet: 34d2
subProductCode: REG
corporationId: 2r
cycleFrequencyCode: '5'
bin: sd2
hierarchyLevel: '2'
cmidDefaultValue: 245d3534
agentNumber: '3453'
principalNumber: '66'
productCode: VPU
accountIDOptionSet: '3482'
companyNumber: '12344'
cycleFrequency: Bi-weekly
authorizationStrategyCode: hh66
pricingStrategy: 66hh
unitId: prop1
mapId: 66hh
processType: '09'
user4Code: 345u
hierarchyNode: s3
plasticCode: '9866'
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
"$ref": "#/components/schemas/CreateBuyerSuccessResponse"
examples:
Default:
summary: Default
value:
responseStatus:
statusDesc: Successfully created the buyer
messageId: '1686772964'
status: success
statusCode: BSUB0000
'400':
description: Refer to the Error
Codes page for the list of error codes for this API.
content:
application/json:
schema:
"$ref": "#/components/schemas/ErrorResponse"
x-samplePayload: ''
x-codegen-request-body-name: body
x-operationVersions:
- label: v1
operationPointer: "#/paths/~1vpa~1v1~1buyerManagement~1buyer~1create/post"
default: false
x-hideTryIt: true
"/vpa/v2/buyerManagement/buyer/get":
post:
tags:
- Buyer Management Service
summary: Get Buyer Details
description: Retrieve all of the current parameters of an existing buyers’ profile.
Use this for troubleshooting or to get the full buyer profile details before
updating a buyer. Enables the addition, update or deletion of new company
template and profiles.
operationId: Get Buyer Details v2
requestBody:
description: Parameters required to retrieve a Buyer
content:
application/json:
schema:
"$ref": "#/components/schemas/GetBuyerRequest"
examples:
Default:
summary: Default
value:
clientId: B2BWS_1_1_1111
messageId: '107970184447'
buyerId: '200031032'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
"$ref": "#/components/schemas/GetBuyerSuccessResponseV2-3"
examples:
Default:
summary: Default
value:
responseObject:
responseFileConfig:
fileLevel:
recipientLoginIds:
commFileId:
fileFormat:
proxyConfig:
holdDays: '180'
bucketedProxyEnabled: false
autoRefreshEnabled: false
boostPaymentConfig:
boostPaymentEnabled: false
contactInfo:
zipCode: '78750'
phone1Ext:
city: Austin
contactName: VisaCompany
phone2Ext:
phone3Ext:
phone2:
phone3:
buyerId: '200031032'
buyerName: '2000131032'
templateId:
phone1: '1234567890'
implementationType: 2
companyId: '2000131032'
emailAddress: visab2bvpaqa1@visa.com
countryCode: USA
addressLine1: addr1
addressLine2:
state: TX
addressLine3:
buyerFeatureConfig:
fullAccountViewEnabled: false
cardMaskingDigitsOnline: '12'
vcfDataFeedIndicator: Y
onlinePaymentInstructionEnabled: true
onlinePaymentRequisitionEnabled: true
cardMaskingDigits: '4'
pseudoAccountsEnabled: false
rvaReconciliationFileConfig:
fileLevel: ''
recipientLoginIds: []
commFileId: ''
deliveryTime: ''
deliveryFrequency:
templateId: ''
fileFormat:
paymentFileConfig:
edi824FileId:
edi997FileId:
inboundFileId:
billingConfig:
billingType: I
billingBID: '10048816840'
stripePaymentConfig:
remittanceNotificationEnabled: false
stripePaymentEnabled: false
vanConfig:
fcsBankId:
processingType:
aceClientId:
admClientId:
visaADMOptionId:
mcADMOptionId:
vanEnabled: false
settlementExpirationDays:
stpPaymentConfig:
accountHolderFirstName:
remittanceNotificationEnabled: false
stpPaymentEnabled: false
accountHolderLastName:
webServicesConfig:
apiCodes:
webServicesEnabled: false
clientId:
vbdsDataSubscription:
- dataSubscriptionType: 5001
dataSubscriptionAccountType:
- subscribed: true
accountType: MEMO
- subscribed: true
accountType: NVPA
suppressSupplierNotification: false
vbdsClientId: '12345'
paymentConfig:
securityCodeRequired: true
allowableCurrencies:
- INR
- USD
expirationDays: '25'
billingCurrency: USD
expirationBufferDays: '5'
defaultSecurityCode: true
paymentAdviceOption: C
paymentSecurityConfig:
defaultSecurityFieldCode: '1'
defaultSecurityQuestion: Credential Text
customSecurityQuestions: []
customSecurityQuestionsEnabled: false
approvalWorkflowConfig:
workflowFunctionCodes: []
workflowConfigEnabled: false
authorizationControlConfig:
authControlPaymentTemplate: Custom_Standard
issuerHoldingBID: ''
authControlEnabled: false
defaultAuthControlEnabled: false
alertsEnabled: false
paymentNotificationConfig:
defaultBuyerLanguageCode: en_US
supplierReminderNotificationDays: '7'
paymentAdviceTemplate: Custom_Standard
settlementSource: '1'
dateFormat: DDMMYYYY
defaultSupplierReminderNotificationEnabled: true
defaultAttachRemittanceDetailsFile: true
supplierReminderNotificationEnabled: true
attachRemittanceDetailsFile: true
reconciliationFileConfig:
fileLevel: ''
recipientLoginIds: []
adhocReconciliationReportEnabled: false
commFileId: ''
deliveryTime: ''
templateName:
deliveryFrequency:
onlinePaymentReconciliationEnabled: false
fileFormat:
processorConfig:
embossedLine2: "<> "
closeAccountEnabled: true
processorFields:
aceOptionSet: '1111'
accountIdOptionSet: '1111'
mailerIdOptionSet: '1111'
companyNumber: '1111111'
cycleFrequencyCode: '15'
cmidDefaultValue: ''
unitId: '1000000'
agentNumber: '0000'
cycleFrequencyType: Monthly
suaEmbossedLine1: "<>~1"
lodgedEmbossedLine1: "<>~1"
responseStatus:
statusDesc: Successfully retrieved the buyer
messageId: '1686861552'
status: success
statusCode: BSGB0000
'400':
description: Refer to the Error
Codes page for the list of error codes for this API.
content:
application/json:
schema:
"$ref": "#/components/schemas/ErrorResponse"
x-samplePayload: ''
x-codegen-request-body-name: body
x-hideTryIt: true
"/vpa/v1/buyerManagement/buyerTemplate/get":
post:
tags:
- Buyer Management Service
summary: Get Buyer Template
description: ''
operationId: Get Buyer Template
requestBody:
description: Request Details for getting the details of a Buyer template.
content:
application/json:
schema:
"$ref": "#/components/schemas/GetBuyerTemplateRequest"
examples:
Default:
summary: Default
value:
clientId: B2BWS_1_Region_Bank_9999
messageId: '1579791844475'
templateId: '1_3_9999_110'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
"$ref": "#/components/schemas/GetBuyerTemplateSuccessResponse"
examples:
Default:
summary: Default
value:
responseFileConfig:
proxyConfig:
holdDays: '2'
bucketedProxyEnabled: false
autoRefreshEnabled: true
boostPaymentConfig:
boostPaymentEnabled: true
contactInfo:
emailAddress: visab2bvpaqa1@visa.com
phone1: '8888888888'
buyerFeatureConfig:
fullAccountViewEnabled: true
cardMaskingDigitsOnline: '12'
onlinePaymentInstructionEnabled: true
onlinePaymentRequisitionEnabled: true
cardMaskingDigits: '12'
pseudoAccountsEnabled: false
rvaReconciliationFileConfig:
stripePaymentConfig:
remittanceNotificationEnabled: true
stripePaymentEnabled: true
vanConfig:
fcsBankId: F285
vanEnabled: true
stpPaymentConfig:
remittanceNotificationEnabled: true
stpPaymentEnabled: true
webServicesConfig:
apiCodes:
- ALL
webServicesEnabled: true
clientId: B2BWS_1_Region_Bank_9999
suppressSupplierNotification: false
vbdsClientId: '6677'
templateId: '1_3_9999_110'
paymentConfig:
securityCodeRequired: true
allowableCurrencies:
- USD
expirationDays: '30'
billingCurrency: USD
expirationBufferDays: '5'
paymentAdviceOption: C
paymentFileCommConfig:
paymentSecurityConfig:
defaultSecurityFieldCode: '1'
defaultSecurityQuestion: Credential Text
customSecurityQuestions:
customSecurityQuestionsEnabled: false
approvalWorkflowConfig:
workflowFunctionCodes:
- AUCL
- LCRC
- PYIN
- PYRN
workflowConfigEnabled: true
authorizationControlConfig:
issuerHoldingBID:
authControlEnabled: true
alertsEnabled: false
paymentNotificationConfig:
defaultBuyerLanguageCode: en_US
supplierReminderNotificationDays: '7'
dateFormat: DDMMYYYY
supplierReminderNotificationEnabled: true
attachRemittanceFileDetails: false
templateName: '1579774641311'
templateDescription: VPP Template
reconciliationFileConfig:
adhocReconciliationReportEnabled: false
commFileId:
templateName:
onlinePaymentReconciliationEnabled: false
processorConfig:
closeAccount: true
'400':
description: Refer to the Error
Codes page for the list of error codes for this API.
content:
application/json:
schema:
"$ref": "#/components/schemas/ErrorResponse"
x-samplePayload: ''
x-codegen-request-body-name: templateRequest
x-hideTryIt: true
"/vpa/v1/accountManagement/GetSecurityCode":
post:
tags:
- Account Management service
summary: Get Security Code
description: ''
operationId: Get Security Code
requestBody:
description: Get Security Code Request
content:
application/json:
schema:
required:
- accountNumber
- buyerId
- clientId
- expirationDate
- messageId
type: object
properties:
buyerId:
maxLength: 25
type: string
description: Buyer ID is the buyer identifier as defined in Visa
Payables Automation(VPA) system. Value format is 0-9.
clientId:
maxLength: 25
type: string
description: Client ID field is a unique identification of the financial
institution. This will be provided by Visa at the time of setup.
messageId:
maxLength: 36
type: string
description: Unique identifier for this request. Each request sent
to VPA requires its own unique ID.
accountNumber:
maxLength: 19
type: string
description: The full 16 digit Visa account number.
expirationDate:
maxLength: 6
type: string
description: Expiration date of the account for which the CVV2 is
requested. The format is MM/YYYY.
examples:
Default:
summary: Default
value:
clientId: B2BWS_1_1_9999
messageId: '2017-04-06T03:47:20.000Z'
buyerId: 9999
accountNumber: 4111111111111111
expirationDate: 10/2022
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
GetSecurityResponse:
required:
- messageID
- statusCode
- statusDesc
type: object
properties:
messageID:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric.
The values are specific to each method. Example- CS001,
CS002, and so on. In case of error please refer to the Error
Codes page for this api
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
securityCode:
maxLength: 3
type: string
description: CVV2 number.
description: Success
'400':
description: Refer to the Error
Codes page for the list of error codes for this API.
content:
application/json:
schema:
type: object
properties:
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
maxLength: 6
type: string
description: Status code of the response.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
x-codegen-request-body-name: getsecuritycode
x-operationVersions:
- label: v1
operationPointer: "#/paths/~1vpa~1v1~1accountManagement~1GetSecurityCode/post"
default: false
"/vpa/v1/getRequisitionDetails":
post:
tags:
- Account Management service
summary: Get Requisition Details
description: Get Requisition Details request and response
operationId: Get Requisition Details
requestBody:
description: Get Requisition Details Request
content:
application/json:
schema:
required:
- accountNumber
- buyerId
- clientId
- messageId
type: object
properties:
buyerId:
maxLength: 15
type: string
description: Unique numeric identifier for the buyer that's defined
by the Issuer.
clientId:
maxLength: 50
type: string
description: Unique identifier for the financial institution, provided
by Visa during setup.
messageId:
maxLength: 36
type: string
description: Unique identifier for the API request, generated by
the API consumer, for tracking and referencing purposes. Each
request mandates a unique messageId.
accountNumber:
maxLength: 16
type: string
description: Account number for which requisition details are being
requested.
required: true
responses:
'200':
description: In case of error please refer to the Response
Codes page for this api
content:
application/json:
schema:
type: object
properties:
GetRequisitionDetailsResponse:
type: object
properties:
rules:
type: array
description: List of authorization rules set on the account.
items:
type: object
properties:
ruleCode:
maxLength: 8
type: string
description: Contains the authorization Rule Code. For
the list of valid Visa Payment Controls (VPC) refer
to the
overrides:
type: array
description: 'Complex element which contains one or
more overrides for the authorization rules. This element
contains: Sequence, Override Code, and Override Value.
Override is nothing but a value which you want to
change in the default rule.'
items:
type: object
properties:
sequence:
maxLength: 3
type: string
description: Contains the sequence number for
the override. Each rule starts with 0 so if
you have an SPV and BUS, then SPV will have
sequence 0 and BUS will have a 0. If there are
multiple fields/overrides within a rule, e.g.
SPV. Each override - amount, currency code,
range type, etc.- have the same sequence number.
E.g. amount, currency code and range type will
all have 0. If there is a rule that can have
multiple amounts e.g. Exact match, then each
VPAS rule overrides must have a unique sequence
number so first VPAS has 0, then second has
1, third has 2.
overrideCode:
maxLength: 33
type: string
description: Contains the code for the override.
overrideValue:
maxLength: 25
type: string
description: Contains the value for the override.
buyerId:
maxLength: 15
type: string
description: Unique numeric identifier for the buyer that's
defined by the Issuer.
endDate:
maxLength: 10
type: string
description: User specified account validity end date for
the requisition
clientId:
maxLength: 50
type: string
description: Unique identifier for the financial institution,
provided by Visa during setup.
timeZone:
maxLength: 12
type: string
description: User specified time zone for the requisition
start and end dates.
messageId:
maxLength: 36
type: string
description: Unique identifier for the API request.
responses:
type: array
description: 'Complex element which contains a collection
of responses returned in the response. This element contains:
Response Code, Response Description'
items:
type: object
properties:
responseCode:
maxLength: 10
type: string
description: This element contains the response code
sent by the VPA system. The list can be found in the
Response Codes page for this api
responseDescription:
maxLength: 250
type: string
description: This element contains the response description.
startDate:
maxLength: 10
type: string
description: User specified account validity start date for
the requisition
optionalInfo:
type: array
description: Complex element which allows the web service
consumer to pass optional field name and value as name value
pairs. A maximum of 50 optional field name and values will
be returned.
items:
type: object
properties:
optionalFieldName:
maxLength: 50
type: string
description: Name of the Optional Field
optionalFieldValue:
maxLength: 100
type: string
description: Value of the Optional Field
accountNumber:
maxLength: 16
type: string
description: Account number for which requisition details
were requested.
mcgRuleAction:
maxLength: 5
type: string
description: This field defines action on the MCG rules sent
in the request. Default value returned is Block even if
no value is sent in the request. MCG rules are not defined
for the card that has only VPAS rule with value of one cent
set.
expirationDate:
maxLength: 7
type: string
description: Contains the expiration date of the card account.
Format- MM/YYYY.
description: Success
x-codegen-request-body-name: body
x-operationVersions:
- label: v1
operationPointer: "#/paths/~1vpa~1v1~1getRequisitionDetails/post"
default: false
x-hideTryIt: true
"/vpa/v2/accountManagement/getPaymentControls":
post:
tags:
- Account Management service
summary: Get Payment Controls
description: This version is recommended for buyers subscribed to Visa payment
Control(VPC) and supporting mcgRuleAction field.
operationId: Get Payment Controls
requestBody:
description: Get Payment Controls Request
content:
application/json:
schema:
required:
- accountNumber
- buyerId
- clientId
- messageId
type: object
properties:
buyerId:
maxLength: 15
type: string
description: Buyer ID numeric is the buyer identifier as defined
in Visa Payables Automation system. This is often the ID defined
at the processor for the corporate buyer. This will be provided
by the issuer.
clientId:
maxLength: 50
type: string
description: ClientID uniquely identifies a financial institution.
This will be provided by the Visa implementation team.
messageId:
maxLength: 36
type: string
description: Unique identifier for the API request.
accountNumber:
maxLength: 16
type: string
description: Account Number for which the auth rules are requested.
You must send at least the last 4 digits, but can send up to the
entire account number. The value sent should uniquely identify
the account number. If the last 4 digits are not unique then it
will fail
examples:
Default:
summary: Default
value:
clientID: B2BWS_84994_1940
messageId: "{{$timestamp}}"
buyerID: '84994'
accountNumber: '4715338901038473'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
GetPaymentControlsResponse:
type: object
properties:
rules:
type: array
description: List of authorization rules set on the account.
items:
type: object
properties:
ruleCode:
maxLength: 8
type: string
description: Contains the authorization Rule Code. For
the list of valid Visa Payment Controls (VPC) refer
to the VPC
Rules and Overrides table.
For buyers using
VANs please refer to the VPP
Rules and Overrides table.
.
overrides:
type: array
description: 'Complex element which contains one or
more overrides for the authorization rules. This element
contains: Sequence, Override Code, and Override Value.
Override is nothing but a value which you want to
change in the default rule.
For e.g. to set
the threshold rule for the account you have requested,if
you want to set the threshold as $1000 then you should
pass the amount override as 1000 and the currency
override as 840.'
items:
type: object
properties:
sequence:
maxLength: 3
type: string
description: Contains the sequence number for
the override. Each rule starts with 0 so if
you have an SPV and BUS, then SPV will have
sequence 0 and BUS will have a 0. If there are
multiple fields/overrides within a rule, e.g.
SPV. Each override - amount, currency code,
range type, etc.- have the same sequence number.
E.g. amount, currency code and range type will
all have 0. If there is a rule that can have
multiple amounts e.g. Exact match, then each
VPAS rule overrides must have a unique sequence
number so first VPAS has 0, then second has
1, third has 2.
overrideCode:
maxLength: 33
type: string
description: Contains the code for the override.
Note, follow the rule specification (provided
in the link in the Rule code field description)
as not every ruleCode requires an overrideCode.
overrideValue:
maxLength: 25
type: string
description: Contains the value for the override.
Note, follow the rule specification (provided
in the link in the Rule code field description)
as not every ruleCode requires an overrideValue.
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
maxLength: 10
type: string
description: Status code of the response. It is alphanumeric.
The values are specific to each method. The list of status
codes can be found in the following link
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
mcgRuleAction:
maxLength: 5
type: string
description: This field defines action on the MCG rules sent
in the request. Default value returned is "Block" even
if no value sent in request, MCG rules are not defined
or card has VPAS(one cent rule) set. For VPP buyers this
field won’t be returned.
description: Success
examples:
Default:
summary: Default
value:
statusDesc: Payment control details retrieved successfully.
messageId: "{{$timestamp}}"
rules:
- ruleCode: AIR
- ruleCode: AUTO
- ruleCode: REST
- ruleCode: SPV
overrides:
- sequence: '0'
overrideCode: spendLimitAmount
overrideValue: '1000.00'
- sequence: '0'
overrideCode: maxAuth
overrideValue: '10'
- sequence: '0'
overrideCode: recurringDay
overrideValue: '15'
- sequence: '0'
overrideCode: amountCurrencyCode
overrideValue: '840'
- sequence: '0'
overrideCode: rangeType
overrideValue: '1'
- sequence: '0'
overrideCode: consumedAmount
overrideValue: '263.39'
- sequence: '0'
overrideCode: consumedAuthCount
overrideValue: '1'
- sequence: '0'
overrideCode: balanceAuthAmount
overrideValue: '736.61'
- sequence: '0'
overrideCode: balanceAuthCount
overrideValue: '9'
statusCode: AMGP000
'400':
description: In case of error please refer to the Error
Codes page for this api
content:
application/json:
schema:
type: object
properties:
errors:
type: array
description: array of errors
items:
type: object
properties:
code:
type: string
description: error code
statusDesc:
type: string
description: error description
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
maxLength: 6
type: string
description: Status code of the response.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
x-codegen-request-body-name: GetPaymentControls
x-operationVersions:
- label: v1
operationPointer: "#/paths/~1vpa~1v1~1accountManagement~1getPaymentControls/post"
default: false
- label: v2 - Latest
operationPointer: "#/paths/~1vpa~1v2~1accountManagement~1getPaymentControls/post"
default: false
x-hideTryIt: true
"/vpa/v1/accountManagement/ManagePaymentControls":
post:
tags:
- Account Management service
summary: Manage Payment Controls
description: ''
operationId: Manage Payment Controls
requestBody:
content:
application/json:
schema:
required:
- accountNumber
- buyerId
- clientId
- messageId
type: object
properties:
source:
type: string
description: This element indicates whether the request was made
for VPA related cards or for VVAM related cards. Valid codes are
VPA, VVAM.
Note, if sending source as VPA you must also include
a sample invoice.
buyerId:
maxLength: 25
type: string
description: Buyer ID is the buyer identifier as defined in Visa
Payables Automation(VPA) system. Value format is 0-9.
eMailId:
maxLength: 128
type: string
description: Email address of the employee. Note- This email address
is only required for VAM clients.
clientId:
maxLength: 50
type: string
description: Client ID field is a unique identification of the financial
institution. This will be provided by Visa at the time of setup.
invoices:
type: array
description: This complex element contains the details of all invoices
for which the exact match rule needs to be set.
items:
type: object
properties:
invoiceDate:
maxLength: 10
type: string
description: This contains the date of the invoice being paid.
Format is YYYY-MM-DD.
invoiceAmount:
maxLength: 16
type: string
description: Invoice amount. maximum length is 16. Maximum
number of decimals is two. Format is XXXXXXXXXX9999.99
invoiceNumber:
maxLength: 30
type: string
description: Invoice Number.
messageId:
maxLength: 36
type: string
description: Unique identifier for this request. Each request sent
to VPA requires its own unique ID.
accountNumber:
maxLength: 16
type: string
description: Card account number for which the authorization controls
are being managed.
companyAdminEMailId:
maxLength: 128
type: string
description: Contains the company admin email ID. Note- This email
address is only required for VAM clients.
paymentControlDetails:
type: array
description: This complex element contains multiple authorization
control(s) details.
items:
type: object
properties:
endDate:
maxLength: 10
type: string
description: Contains the last date when the card account
and the authorization rules will be effective. All the
authorization rules specified in the Requisition detail
will be removed from the card the next day (after the end
date).
Format is YYYY-MM-DD.
rulesSet:
type: array
description: This complex element contains the details of
all invoices for which the exact match rule needs to be
set.
items:
type: object
properties:
rules:
type: array
description: 'This complex element contains the details
of all the authorization rules that needs to be added/update/deleted
or refreshed. '
items:
type: object
properties:
ruleCode:
maxLength: 8
type: string
description: This contains the rule code.
For detailed information regarding the rule
codes and overrides, see the Rules
and Overrides table.
overrides:
type: array
description: This complex element contains the
details of the overrides for an authorization
rule.
items:
type: object
properties:
Sequence:
maxLength: 3
type: string
description: Contains the sequence number
for the override. A few authorization
rules have multiple overrides and the
sequence number identifies each of them
uniquely.
overrideCode:
maxLength: 50
type: string
description: Contains the override code. For
a list of override codes, refer to the
Rules and Overrides table.
overrideValue:
maxLength: 10
type: string
description: Contains the override value.
action:
maxLength: 1
type: string
description: Rule Action valid values are
ATo
Add a Payment Controls
RTo Refresh all Payment
Controls (replace existing rules with new rules)
XTo
Remove All Payment Controls immediately
timeZone:
maxLength: 12
type: string
description: Contains the Time zone to use for the start
and end dates. The UTC OFFSET needs to be sent. Like UTC-8
for PST, UTC-6 for CST, UTC+5:30 for IST.
startDate:
maxLength: 10
type: string
description: Contains the date when the card account and the
authorization rules on the account will be made effective.
Format is YYYY-MM-DD.
mcgRuleAction:
maxLength: 5
type: string
description: 'This field defines action on the MCG rules in
the request. Allowed actions are "Allow"" and "Block". If
no value provided will be considered as Block. This field
is case insensitive. The value "Allow" with MCG rule code
"AIR" allows authorization transaction for the card from
Airline MCC''s. The value "Block" with MCG rule code "AIR"
blocks authorization transaction for the card from Airline
MCC''s. The value doesn''t apply to following MCG''s: MCCB,MCCX,CAID,CAIDB,NOTFUEL and
ignored.'
examples:
Default:
summary: Default
value:
clientId: B2BWS_1_1_9999
invoices:
- invoiceNumber: INV0001
invoiceAmount: 500
invoiceDate: '2017-02-01'
eMailId: aaa@bbb.com
paymentControlDetails:
- rulesSet:
- action: A
rules:
- ruleCode: VPAS
overrides:
- sequence: 0
overrideCode: amount
overrideValue: 840
- sequence: 0
overrideCode: amount
overrideValue: 55
endDate: '2020-03-01'
timeZone: UTC-6
startDate: '2017-03-01'
messageId: '2017-04-06T03:47:20.000Z'
source: VVAM
buyerId: 9999
accountNumber: 4111111111111111
companyAdminEMailId: compAdmin@bbb.com
required: true
responses:
'200':
description: In case of error please refer to the Error
Codes page for this api
content:
application/json:
schema:
type: object
properties:
ManagePaymentResponse:
required:
- messageID
type: object
properties:
messageID:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
responses:
type: object
properties:
response:
required:
- responseCode
type: object
properties:
responseCode:
maxLength: 10
type: string
description: response code of the response. It is
alphanumeric. The values are specific to each method.
Example- CS001, CS002, and so on. For the details
of the various error codes returned for this method
refer to the "Error Codes" table below.
responseDescription:
maxLength: 100
type: string
description: Message ID passed in the Web service
request.
description: Response Class
description: Responses Class
description: Success
x-codegen-request-body-name: managepaymentcontrols
x-operationVersions:
- label: v1
operationPointer: "#/paths/~1vpa~1v1~1accountManagement~1ManagePaymentControls/post"
default: false
"/vpa/v1/accountManagement/GetAccountStatus":
post:
tags:
- Account Management service
summary: Get Account Status
description: ''
operationId: Get Account Status
requestBody:
content:
application/json:
schema:
required:
- accountRequestID
- buyerId
- clientId
- messageId
- supplierId
type: object
properties:
buyerId:
maxLength: 25
type: string
description: 'Buyer ID is the buyer identifier as defined in Visa
Payables Automation. This will be provided by the Visa implementation
team. '
clientId:
maxLength: 25
type: string
description: ClientID uniquely identifies a financial institution.
This will be provided by Visa implementation team.
messageId:
maxLength: 36
type: string
description: Unique identifier for identifying the request. Each
request sent to VPA requires its own unique ID.
supplierId:
maxLength: 30
type: string
description: Supplier id associated with the supplier for which
the account was requested.
accountRequestID:
maxLength: 13
type: string
description: A unique ID generated by the VPA system, which the
requester can use for checking the status of the card account
if it is requested from the processor.
examples:
Default:
summary: Default
value:
accountRequestId: 1203780061142
clientId: B2BWS_1_1_9999
supplierId: TestSupplierTen
messageId: '2017-04-06T03:47:20.000Z'
buyerId: 9999
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
GetAccountResponse:
required:
- accountNumber
- expirationDate
- messageID
- statusCode
- statusDesc
type: object
properties:
messageID:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric.
The values are specific to each method. Example- AP001,
AP002, and so on. For the details of the various error
codes returned for this method refer to the "Error Codes"
table.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
accountNumber:
maxLength: 19
type: string
description: This field will contain the account number of
the account created at the processor once it is activated.
The account number will be masked in the response if the corresponding
Client ID is configured for masking.
expirationDate:
maxLength: 6
type: string
description: Account expiration date. The format is- MMYYYY.
description: OK
'400':
description: Error Codes
content:
application/json:
schema:
type: object
properties:
MC001:
type: object
description: Card account request successful.
MC002:
type: object
description: Message ID is not unique.
MC003:
type: object
description: Invalid Client ID.
MC004:
type: object
description: Invalid buyer.
MC008:
type: object
description: Invalid supplier ID.
MC025:
type: object
description: Bank or buyer not subscribed.
MC035:
type: object
description: Invalid message ID.
MC059:
type: object
description: Card account created and activation pending.
MC060:
type: object
description: Card account creation failed.
MC061:
type: object
description: Card account creation pending.
MC062:
type: object
description: Supplier ID does not exist.
MC063:
type: object
description: AccountRequestID does not exist in the system.
MC064:
type: object
description: AccountRequestID does not belong to this buyer and
supplier combination.
MC065:
type: object
description: Invalid AccountRequestID.
x-codegen-request-body-name: getaccountstatus
x-operationVersions:
- label: v1
operationPointer: "#/paths/~1vpa~1v1~1accountManagement~1GetAccountStatus/post"
default: false
"/vpa/v1/accountManagement/fundingAccount/get":
post:
tags:
- Account Management service
summary: Get Funding AccountDetails
description: ''
operationId: Get Funding AccountDetails
requestBody:
content:
application/json:
schema:
required:
- accountNumber
- buyerId
- clientId
- messageId
type: object
properties:
buyerId:
maxLength: 25
type: string
description: Buyer ID is the buyer identifier as defined in Visa
Payables Automation. This will be provided by the Issuer.
clientId:
maxLength: 50
type: string
description: ClientID uniquely identifies a financial institution.
This will be provided by Visa implementation team.
messageId:
maxLength: 36
type: string
description: Unique identifier for identifying the request. Each
request sent to VPA requires its own unique ID.
accountNumber:
type: integer
description: The full 16 digit funding account number. Should be
a valid card account number
examples:
Default:
summary: Default
value:
clientId: B2BWS_FDR_5126
messageId: "{{$timestamp}}"
buyerId: '107777'
accountNumber: 480733000718 3252
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
GetFundingAccountDetailsResponse:
type: object
properties:
errors:
type: array
description: In case of error please refer to the Error
Codes page for this api
items:
type: object
properties:
Error:
required:
- code
- statusDesc
type: object
properties:
code:
type: string
description: error code
statusDesc:
type: string
description: error description
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
proxyPools:
type: array
description: Give details about the associated proxy pools.
items:
type: object
properties:
usedAccounts:
type: integer
description: Total number of used accounts in the proxy
pool associated to the funding account.
deletedAccounts:
type: integer
description: Total number of Deleted Accounts in the
proxy pool associated to the funding account.
proxyPoolNumber:
type: integer
description: Proxy Pool number associated with the funding
account sent in the request.
availableAccounts:
type: integer
description: Total number of active pseudo accounts
in the proxy pool associated to the funding account.
statusCode:
type: string
description: Status code of the response.
statusDesc:
type: string
description: Status description of the response.
creditLimit:
type: integer
description: Denotes the credit limit of the funding account.
currencyCode:
maxLength: 3
type: string
description: 'Denotes the ISO alpha currency code for billing
currency for the funding account number. '
accountNumber:
type: integer
description: The full 16 digit funding account number.
availableLimit:
type: integer
description: Available limit of the funding account. This
field will be populated only if processor integration is
on
blockPurchases:
type: boolean
description: Whether purchases on the funding account are
blocked or allowed. If set to true, this will prevent any
purchases on the funding account itself. If set to “false”
then purchases will allowed to be made on the funding account.
currentBalance:
type: integer
description: Current Balance on the funding account. This
field will be populated only if processor integration is
on
defaultAccount:
type: boolean
description: 'Denotes if this funding account is designated
as the default funding account. '
expirationDate:
maxLength: 10
type: string
description: Expiration date of the funding account. Will
be provided in yyyy-mm-dd format.
activePseudoAccounts:
type: integer
description: Total number of active pseudo accounts created
using the funding account across all proxy pools
description: ''
examples:
Default:
summary: Default
value:
availableLimit: 0
default: true
statusDesc: Funding Account has been retrieved successfully
blockPurchases: true
currentBalance: 0
messageId: '1620851413'
creditLimit: 10
accountNumber: XXXXXXXXXXXX3252
currencyCode: USD
statusCode: AMGF000
expirationDate: '2023-05-01'
activePseudoAccounts: 0
x-codegen-request-body-name: GetFundingAccountDetails
x-operationVersions:
- label: v1
operationPointer: "#/paths/~1vpa~1v1~1accountManagement~1fundingAccount~1get/post"
default: false
x-hideTryIt: true
"/vpa/v1/requisitionService":
post:
tags:
- Account Management service
summary: Request Virtual Account
description: Requisition API Request and Response
operationId: Request Virtual Account
requestBody:
description: Requisition Request
content:
application/json:
schema:
required:
- action
- buyerID
- clientID
- messageID
type: object
properties:
action:
maxLength: 1
type: string
description: 'Indicates the requisition action to be performed.
Valid choices are:
"A" for Add: Initiates a new virtual account
requisition.
"U" for Update: Modifies an existing virtual
account requisition. Ensure that all requisition details and optional
fields are included in the request since these will replace previous
settings.
"D" for Delete: Deletes a requisition. This sets
the validity end date to the current date, leading to requisition
expiration and the one-cent rule being applied to the account.'
buyerID:
maxLength: 25
type: string
description: Unique numeric identifier for the buyer that's defined
by the Issuer.
clientID:
maxLength: 25
type: string
description: Unique identifier for the financial institution, provided
by Visa during setup.
messageID:
maxLength: 36
type: string
description: Unique identifier for the request, generated by the
API consumer, for tracking and referencing purposes. Each request
mandates a unique messageId.
proxyPoolID:
maxLength: 19
type: string
description: 'Unique identifier for the single-use proxy pool from
which the account should be selected. For a new requisition (action:
"A"), the system picks an available account from this pool, applies
all requisition parameters (i.e. validity period, authorization
rules), and provides the account number in the response. If only
one Proxy Pool exists for the buyer, this field is optional as
the system will default to the existing pool.
Required
for action: "A", if the buyer has more than one single-use proxy
pool.'
OptionalInfo:
type: array
description: 'This complex element enables API consumers to send
optional name-value pairs, which will appear in the transaction
data for the requisitioned account. A maximum of 50 optional feild
name and values can be passed in the request.
This complex
element contains: optionalFieldName, optionalFieldValue'
items:
type: object
properties:
optionalFieldName:
maxLength: 50
type: string
description: Name of the Optional Field
optionalFieldValue:
maxLength: 100
type: string
description: Value of the Optional Field
accountNumber:
maxLength: 16
type: string
description: 'The account number associated with the virtual account
requisition being updated or deleted. This number was returned
with the initial requisition add request (action A).
Required
if action: "U" or "D"'
numberOfCards:
maxLength: 4
type: string
description: 'Indicates the number of virtual accounts being requested.
If a single card is requested, an available account is
selected from the proxy pool specified in the proxyPoolID parameter.
Payment controls will subsequently be applied to the account,
taking effect from the specified requistion start date and ceasing
on the requisition end date. The API response will return the
account number and expiration date.
If multiple cards
are requested, a file is created detailing each account number
and expiration date and delivered via SFTP (these details won''t
be returned in the API). All accounts will have identical rules
and configurations. To use this bulk request feature, please contact
your Visa representative.
Required if action: "A"'
requisitionDetails:
type: object
properties:
rules:
type: array
description: 'Complex elements which contain all the authorization
rules to be set on the requested account. Contains: ruleCode,
overrides. It''s best practice to maintain at least one spend
control on an account. For pseudo accounts and TSYS VANs,
a minimum of one rule is required.'
items:
type: object
properties:
ruleCode:
maxLength: 8
type: string
description: 'Denotes the unique code for the authorization
rule. For example, "VPAS" is the ruleCode for the exact
amount authorization rule.
Refer to the VPC
Rules and Overrides table for the complete list
of valid Visa Payment Controls (VPC) rules and specifications.
For buyers using TSYS VANs, please refer to
the VPP
Rules and Overrides table.
Required if
action: "A" or "U"'
overrides:
type: array
description: 'Overrides are supplementary request parameters
that provide additional context to the primary "ruleCode"
parameter. These may be required or optional, depending
on the rule. This complex element contains: sequence,
overrideCode, and overrideValue.
For example,
to set a $1000 aurthorization limit on a requested account,
you would include an "amountValue" override of "1000"
and an "amountCurrencyCode" override of "USD" with "ruleCode":
"PUR"'
items:
type: object
properties:
sequence:
maxLength: 3
type: string
description: Contains the sequence number for the
override. Each rule starts with 0 so if you have
an SPV and BUS, then SPV will have sequence 0
and BUS will have a 0. If there are multiple fields/
overrides within a rule, e.g. SPV. Each override
- amount, currency code, range type, etc.- have
the same sequence number. E.g. amount, currency
code and range type will all have 0. If there
is a rule that can have multiple amounts e.g.
Exact match, then each VPAS rule overrides must
have a unique sequence number so first VPAS has
0, then second has 1, third has 2.
overrideCode:
maxLength: 50
type: string
description: The code for the authorization rule
override.
Required for actions "A" and
"U" if the corresponding ruleCode mandates overrideCode
values. Please refer to the Rules
and Overrides table as not all ruleCodes necessitate
an overrideCode. For instance, ruleCode "SPV"
requires overrideCode "rangeType" and "updateFlag",
while ruleCode "AUTO" has no applicable overrides.
overrideValue:
maxLength: 100
type: string
description: 'The value for the authorization rule
override.
Required for action: "A" and
"U" for each respective overrideCode that''s included
in the request.'
endDate:
maxLength: 10
type: string
description: 'The validity end date for the requisitioned account,
formatted as YYYY-MM-DD or MM/DD/YYYY. Upon reaching the end
date, the system revokes all existing authorization rules,
and applies the 1-cent rule, effectively rendering the account
unusable. For example, an endDate of 2022-10-31 results in
the 1-cent rule being applied at 12:00:01 on 2022-11-01. This
date must not exceed the funding account''s expiration date.
Note for Buyers using TSYS VANs: startDate and endDate
must be sent in Eastern time zone.
Note for Buyers
using a legacy model with processor PANs: In the absence of
a requisition ''endDate'', the account''s authorization rules
will remain effective until the expiration of the associated
card.
Required if action: "A" or "U"'
timeZone:
maxLength: 12
type: string
description: 'Denotes the time zone for the requisition''s startDate
and endDate. The system, in respect to the chosen time zone,
activates the authorization rules from 0:00 a.m. on the startDate
until 0:00 a.m. on the day following the endDate (i.e. endDate
+1)
Time zones should adhere to the UTC offset format.
For example,"UTC-08:00" for PST, "UTC-06:00" for CST, "UTC+05:30"
for IST, etc.
Note for Buyers using TSYS VANs: startDate
and endDate must be sent in Eastern time zone.
Required
if action: "A" or "U"'
startDate:
maxLength: 10
type: string
description: 'Denotes the start date of account validity. Dates
should adhere to either the YYYY-MM-DD or MM/DD/YYYY format
and can be set up to three years in the future. On the specified
start date, the authorization rules defined in the request
will be implemented on the account. Until this date arrives,
the system assigns a preliminary 1 cent exact match authorization
rule to the account. In the absence of this field value, the
card will be activated instantly, and the authorization rules
from the requisition are applied immediately.
Note
for Buyers using TSYS VANs: startDate and endDate must be
sent in Eastern time zone.
Please note, once the
card is activated, it''s not possible to reset the startDate
to a future date.'
mcgRuleAction:
maxLength: 5
type: string
description: 'Defines the action for Merchant Category Group
(MCG) based rules applied to the requested card(s). Accepts
"Allow" or "Block", defaulting to "Block" if not provided.
This field only supports Visa Payment Controls (VPC) enabled
buyers and is ignored for buyers using TSYS VANs.
Example: the value "Allow" with MCG rule code "AIR" authorizes
transactions from Airline MCC''s. Conversely, "Block" with
the same code prevents transactions from Airline MCC''s.
Please note, the mcgRuleAction value is not applicable to
following MCG rules: MCCB, MCCX, CAID, CAIDB, NOTFUEL.'
description: This complex element contains the requisition details.
examples:
Default:
summary: Default
value:
clientId: B2BWS_1_1_9999
requisitionDetails:
endDate: '2018-05-20'
timeZone: UTC-8
rules:
- ruleCode: SPV
overrides:
- sequence: '1'
overrideCode: spendLimitAmount
overrideValue: '55.45'
- sequence: '2'
overrideCode: maxAuth
overrideValue: '10'
- sequence: '3'
overrideCode: amountCurrencyCode
overrideValue: '840'
- sequence: '4'
overrideCode: rangeType
overrideValue: '3'
- sequence: '5'
overrideCode: startDate
overrideValue: 05/11/2018
- sequence: '5'
overrideCode: endDate
overrideValue: 05/20/2018
- sequence: '7'
overrideCode: updateFlag
overrideValue: NOCHANGE
- ruleCode: PUR
overrides:
- sequence: '0'
overrideCode: amountCurrencyCode
overrideValue: '840'
- sequence: '0'
overrideCode: amountValue
overrideValue: '55'
- ruleCode: EAM
overrides:
- sequence: '0'
overrideCode: amountCurrencyCode
overrideValue: '840'
- sequence: '0'
overrideCode: amountValue
overrideValue: '55'
- ruleCode: XBRA
overrides:
- sequence: '0'
overrideCode: amountCurrencyCode
overrideValue: '840'
- sequence: '0'
overrideCode: amountValue
overrideValue: '55'
- ruleCode: ATML
overrides:
- sequence: '0'
overrideCode: amountCurrencyCode
overrideValue: '840'
- sequence: '0'
overrideCode: amountValue
overrideValue: '55'
- ruleCode: TOLRNC
overrides:
- sequence: '0'
overrideCode: amountCurrencyCode
overrideValue: '840'
- sequence: '0'
overrideCode: minValue
overrideValue: '1'
- sequence: '0'
overrideCode: maxValue
overrideValue: '50'
- ruleCode: CAID
overrides:
- sequence: '0'
overrideCode: CAIDValue
overrideValue: '123456'
- ruleCode: ATM
- ruleCode: ECOM
- ruleCode: CNP
- ruleCode: NOC
- ruleCode: ADT
- ruleCode: XBR
- ruleCode: FUEL
- ruleCode: HOT
- ruleCode: AUTO
- ruleCode: AIR
- ruleCode: REST
- ruleCode: JEWL
- ruleCode: ELEC
- ruleCode: ALC
- ruleCode: GTM
- ruleCode: OSS
- ruleCode: GROC
- ruleCode: ENT
- ruleCode: UTIL
- ruleCode: CLOTH
- ruleCode: MED
- ruleCode: VPAS
overrides:
- sequence: '0'
overrideCode: amountCurrencyCode
overrideValue: '840'
- sequence: '0'
overrideCode: amountValue
overrideValue: '55.45'
startDate: '2018-05-11'
proxyPoolId: Proxy12345
optionalInfo:
- optionalFieldValue: '12345678901234567'
optionalFieldName: TWOTest
- optionalFieldValue: '12345112'
optionalFieldName: '12345'
action: A
messageId: '1526077012761'
numberOfCards: '1'
buyerId: '9999'
accountNumber: ''
required: true
responses:
'200':
description: In case of error please refer to the Response
Codes page for this api
content:
application/json:
schema:
type: object
properties:
RequisitionVirtualAccountResponse:
type: object
properties:
messageID:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
responses:
type: array
description: 'Complex element which contains a collection
of responses returned in the response. This element contains:
Response Code Response Description'
items:
type: object
properties:
responseCode:
maxLength: 10
type: string
description: This element contains the response code
sent by the VPA system. The list can be found in the
Response
Codes page for this api
responseDescription:
maxLength: 250
type: string
description: This element contains the response description.
accountNumber:
maxLength: 16
type: string
description: VPA system sends the account number of the account
picked from the proxy pool for the Add action. For update
and delete actions, the system returns the account which
was passed in the request. If the requisition failed, this
field will be blank.
expirationDate:
maxLength: 7
type: string
description: Contains the expiration date of the card account.
Format- MM/YYYY.
description: Success
x-codegen-request-body-name: body
x-operationVersions:
- label: v1
operationPointer: "#/paths/~1vpa~1v1~1requisitionService/post"
default: false
"/vpa/v1/accountManagement/VirtualCardRequisition":
post:
tags:
- Account Management service
summary: Virtual Card Requisition
description: ''
operationId: Virtual Card Requisition
requestBody:
content:
application/json:
schema:
required:
- accountNumber
- buyerId
- clientId
- employee
- messageId
- proxyPoolId
- requisitionDetails
type: object
properties:
buyerId:
maxLength: 25
type: string
description: Buyer ID is the buyer identifier as defined in Visa
Payables Automation (VPA) system. Value format is 0-9.
clientId:
maxLength: 50
type: string
description: Client ID field is a unique identification of the financial
institution. This will be provided by Visa at the time of setup. It
will need to be passed in all requests.
employee:
required:
- companyAdminEMailId
- eMailId
- employeeId
- firstName
- lastName
type: object
properties:
GL:
maxLength: 76
type: string
description: Contains the employee GL code.
address:
type: object
properties:
city:
maxLength: 60
type: string
description: Contains the city of the employee’s office
address.
state:
maxLength: 12
type: string
description: Contains the state of the employee’s office
address.
postalCode:
maxLength: 14
type: string
description: Contains the postal code of the employee’s
office address.
countryCode:
maxLength: 14
type: string
description: Contains the ISA Alphanumeric Country Code
portion of the employee’s office address. For e.g., USA.
addressline1:
maxLength: 100
type: string
description: Contains the first line of the employee's office
address.
addressline2:
maxLength: 100
type: string
description: Contains the second line of the employee's
office address.
description: Address Class
eMailId:
maxLength: 128
type: string
description: Contains the email address of the employee.
lastName:
maxLength: 50
type: string
description: Contains the last name of the employee.
firstName:
maxLength: 60
type: string
description: Contains the first name of the employee.
costCenter:
maxLength: 50
type: string
description: Contains the Cost Center of the employee.
employeeId:
maxLength: 10
type: string
description: Contains the employee ID.
companyAdminEMailId:
maxLength: 128
type: string
description: Contains the company administrator’s email ID.
description: Employee Class
messageId:
maxLength: 36
type: string
description: 'Unique identifier for this request. Each request
sent to VPA requires its own unique ID. '
proxyPoolId:
maxLength: 19
type: string
description: Indicates the virtual card Proxy Pool Identifier.
accountNumber:
type: number
description: Contains the card account number value. The account
number is required if the consumer wants to update existing requisition
parameters like the rules, effective date, etc.
optionalfield1:
maxLength: 100
type: string
description: Value for the optional field 1. Free format field
1.
optionalfield2:
maxLength: 100
type: string
description: Value for the optional field 2. Free format field
2.
optionalfield3:
maxLength: 100
type: string
description: Value for the optional field 3. Free format field
3.
optionalfield4:
maxLength: 100
type: string
description: Value for the optional field 4. Free format field
4.
optionalfield5:
maxLength: 100
type: string
description: Value for the optional field 5. Free format field
5.
requisitionDetails:
type: array
description: This complex element contains the requisition details.
items:
type: object
properties:
rules:
type: array
description: These complex elements contains information regarding
the rule codes and overrides.
items:
type: object
properties:
ruleCode:
maxLength: 8
type: string
description: |-
This contains the rule code.
For detailed information regarding
the rule codes and overrides, see the Rules
and Overrides table.
overrides:
type: array
description: This complex element contains the details
of the overrides for an authorization rule.
items:
type: object
properties:
Sequence:
maxLength: 3
type: string
description: Contains the sequence number for
the override. A few authorization rules have
multiple overrides and the sequence number identifies
each of them uniquely.
overrideCode:
maxLength: 50
type: string
description: Contains the override code. For
a list of override codes, refer to the Rules
and Overrides table.
overrideValue:
maxLength: 10
type: string
description: Contains the override value.
endDate:
maxLength: 10
type: string
description: Contains the last date when the card account
and the authorization rules will be effective. All the
authorization rules specified in the Requisition detail
will be removed from the card the next day (after the end
date). The application will set the one-cent rule on the
card the next day for VAM clients. Format is YYYY-MM-DD.
timeZone:
maxLength: 12
type: string
description: Contains the Time zone to use for the start and
end dates. The UTC OFFSET needs to be sent. Like UTC-8 for
PST, UTC-6 for CST, UTC+5:30 for IST.
startDate:
maxLength: 10
type: string
description: Contains the date when the card account and the
authorization rules on the account will be made effective.
Format is YYYY-MM-DD.
examples:
Default:
summary: Default
value:
optionalField1: optionalField1
clientId: B2BWS_1_1_9999
requisitionDetails:
- endDate: '2020-03-01'
timeZone: UTC-6
rules:
- ruleCode: VPAS
overrides:
- sequence: 0
overrideCode: amount
overrideValue: 840
- sequence: 0
overrideCode: amount
overrideValue: 55
startDate: '2017-02-01'
proxyPoolId: M7test
messageId: '2017-04-06T03:47:20.000Z'
buyerId: 9999
employee:
lastName: lname
firstName: fname
address:
city: FC
countryCode: USA
postalCode: 94404
addressLine1: Address1
addressLine2: Address2
state: CA
gl: 12
eMailId: aaa1@bbb.com
costCenter: 12
employeeId: 772288
companyAdminEMailId: compAdmin@bbb.com
accountNumber: 4111111111111111
optionalField4: optionalField4
optionalField5: optionalField5
optionalField2: optionalField2
optionalField3: optionalField3
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
VCardRequistionResponse:
required:
- messageID
type: object
properties:
messageID:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
responses:
type: object
properties:
response:
required:
- responseCode
type: object
properties:
responseCode:
maxLength: 10
type: string
description: response code of the response. It is
alphanumeric. The values are specific to each method.
Example- CS001, CS002, and so on. For the details
of the various error codes returned for this method
refer to the "Error Codes" table below.
responseDescription:
maxLength: 100
type: string
description: Message ID passed in the Web service
request.
description: Response Class
description: Responses Class
accountNumber:
maxLength: 16
type: string
description: Contains the Card account number assigned to
the employee.
requisitionId:
maxLength: 26
type: string
description: System will generate the Requisition ID for each
request (when card is assigned to the Employee.) Note- The
requisition ID is created only for a new requisition request.
expirationDate:
maxLength: 6
type: string
description: Contains the expiration date of the card account.
Format is YYYYMM.
description: Success
'400':
description: Error Codes
content:
application/json:
schema:
type: object
properties:
'2':
type: object
description: Message ID is not unique.
'4':
type: object
description: Buyer details you have provided is invalid.
'6':
type: object
description: MessageID cannot be more than 36 characters.
'12':
type: object
description: Buyer ID cannot be more than 15 characters.
'25':
type: object
description: Bank or Buyer is not yet set up.
'35':
type: object
description: Sequence is mandatory for all rules. Provide a valid
sequence for the rule.
'71':
type: object
description: Sequence is mandatory for all rules. Provide a valid
sequence for the rule.
'93':
type: object
description: System Exception.
'516':
type: object
description: Account number you have provided is invalid.
'72801':
type: object
description: Proxy Pool ID you have provided contains invalid
characters.
'72802':
type: object
description: The first character of the Proxy Pool ID you have
provided is invalid.
'72803':
type: object
description: The second character of the Proxy Pool ID you have
provided is invalid.
'72804':
type: object
description: Proxy Pool ID you have provided is not yet set up.
'72805':
type: object
description: First Name you have provided contains invalid characters.
'72806':
type: object
description: First Name cannot be more than 60 characters.
'72807':
type: object
description: Last Name you have provided contains invalid characters.
'72808':
type: object
description: Last Name cannot be more than 60 characters.
'72809':
type: object
description: Employee ID contains invalid characters.
'72810':
type: object
description: Employee ID cannot be more than 10 characters.
'72811':
type: object
description: Email ID cannot be more than 128 characters.
'72812':
type: object
description: Email ID you have provided is invalid.
'72813':
type: object
description: Company Admin Email ID cannot be more than 128 characters.
'72814':
type: object
description: Company Email ID you have provided is Invalid.
'72815':
type: object
description: Cost Center you have provided contains invalid characters.
'72816':
type: object
description: Cost Center cannot be more than 50 characters
'72817':
type: object
description: GL you have provided contains invalid characters.
'72818':
type: object
description: GL cannot be more than 76 characters.
'72819':
type: object
description: Address Line 1 you have provided contains invalid
characters.
'72820':
type: object
description: Address Line 1 cannot be more than 100 characters.
'72821':
type: object
description: Address Line 2 you have provided contains invalid
characters.
'72822':
type: object
description: Address Line 2 cannot be more than 100 characters.
'72823':
type: object
description: City you have provided contains invalid characters.
'72824':
type: object
description: City cannot be more than 60 characters.
'72825':
type: object
description: State you have provided contains invalid characters.
'72826':
type: object
description: State cannot be more than 12 characters.
'72827':
type: object
description: Postal Code you have provided contains invalid characters.
'72828':
type: object
description: Postal Code cannot be more than 14 characters.
'72829':
type: object
description: Country Code you have provided contains invalid characters.
'72830':
type: object
description: Country Code cannot be more than 5 characters.
'72831':
type: object
description: Optional Field 1 you have provided contains invalid
characters.
'72832':
type: object
description: Optional Field 1 cannot be more than 100 characters.
'72833':
type: object
description: Optional Field 2 cannot be more than 100 characters.
'72834':
type: object
description: Optional Field 3 you have provided contains invalid
characters.
'72835':
type: object
description: Optional Field 3 cannot be more than 100 characters.
'72836':
type: object
description: Optional Field 4 you have provided contains invalid
characters.
'72837':
type: object
description: Optional Field 4 cannot be more than 100 characters.
'72838':
type: object
description: Optional Field 5 you have provided contains invalid
characters.
'72839':
type: object
description: Optional Field 5 cannot be more than 100 characters
'72840':
type: object
description: Start Date you have provided contains invalid characters.
'72841':
type: object
description: Start Date cannot be more than 10 characters.
'72842':
type: object
description: Start Date you have provided is invalid. Please provide
a valid start date in YYYY-MM-DD format.
'72843':
type: object
description: End Date you have provided contains invalid characters.
'72844':
type: object
description: End Date cannot be more than 10 characters.
'72845':
type: object
description: End Date you have provided is invalid. Please provide
a valid start date in YYYY-MM-DD format.
'72846':
type: object
description: End Date should not be in the past.
'72847':
type: object
description: Time Zone cannot be more than 12 characters.
'72848':
type: object
description: Time Zone you have provided contains invalid characters.
'72849':
type: object
description: Rule Code is not valid.
'72850':
type: object
description: Sequence is mandatory for all rules. Provide a valid
sequence for the rule
'72851':
type: object
description: Override code provided for the rule. Required- (Rule
code for which the Override code is invalid) contains invalid
characters.
'72852':
type: object
description: Override code cannot be more than 50 characters.
Please provide a valid override code for the rule.
'72853':
type: object
description: Override code provided for the rule
'72854':
type: object
description: Override Value is mandatory for all rules with overrides.
Provide a valid Override Value.
'72855':
type: object
description: Override value provided for the rule
'72856':
type: object
description: Override value cannot be more than 8 characters.
Please provide a valid override value for the rule.
'72858':
type: object
description: The Start Date and End Dates you have provided should
not overlap.
'72860':
type: object
description: An account from the proxy pool sent in the request
is already assigned to the employe
'72861':
type: object
description: No card accounts available in the proxy pool sent
in the request.
'72891':
type: object
description: First Name is mandatory.
'72892':
type: object
description: Last Name is mandatory.
'72893':
type: object
description: Employee ID is mandatory.
'72894':
type: object
description: End Date is mandatory.
'72895':
type: object
description: Email Id is mandatory.
'72896':
type: object
description: Company Admin Email Id is mandatory.
'72897':
type: object
description: Time Zone is mandatory.
'72898':
type: object
description: Time Zone should start with UTC.
'72900':
type: object
description: Buyer is not subscribed for VAM.
'72902':
type: object
description: Refresh Action should not be followed by any other
Action.
'72905':
type: object
description: Date range and rule code of the request is overlapping
with data available in system.
'72906':
type: object
description: Only one period is allowed for Single Use cards.
'72927':
type: object
description: Proxy number length should be between 1 and 19.
'72928':
type: object
description: ProxyPoolId is mandatory.
'72929':
type: object
description: Country Code is mandatory.
'728321':
type: object
description: Optional Field 2 you have provided contains invalid
characters.
'729061':
type: object
description: Only one period is allowed for Single Use cards.
x-codegen-request-body-name: virtualcardrequisition
x-operationVersions:
- label: v1
operationPointer: "#/paths/~1vpa~1v1~1accountManagement~1VirtualCardRequisition/post"
default: false
"/vpa/v1/accountManagement/ListPaymentControl":
post:
tags:
- Account Management service
summary: List Payment Control
description: ''
operationId: List Payment Control
requestBody:
content:
application/json:
schema:
required:
- accountNumber
- buyerId
- clientId
- messageId
type: object
properties:
buyerId:
maxLength: 25
type: string
description: Buyer ID is the buyer identifier as defined in Visa
Payables Automation (VPA) system. Value format is 0-9.
clientId:
maxLength: 25
type: string
description: Client ID field is a unique identification of the financial
institution. This will be provided by Visa at the time of setup.
messageId:
maxLength: 36
type: string
description: Unique identifier for this request. Each request sent
to VPA requires its own unique ID.
accountNumber:
maxLength: 19
type: string
description: Valid card account for which the authorization rules
are requested.
examples:
Default:
summary: Default
value:
clientId: B2BWS_1_1_9999
messageId: '2017-04-06T03:47:20.000Z'
buyerId: 9999
accountNumber: 4111111111111111
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
ListPaymentResponse:
required:
- alertRequired
- messageID
- statusCode
- statusDesc
type: object
properties:
channel:
type: object
properties:
channelType:
maxLength: 1
type: string
description: Delivery channel type for the authorization
decline alert. The only supported value is 1, which
indicates that the channel type is email.
channelValue:
maxLength: 70
type: string
description: Value of the selected channel. Since we support
only emails, this will be the email address where the
decline notification needs to be sent.
description: Channel Class
trigger:
type: array
description: 'This complex element contains the details of
the authorization rules set on the account. Currently only
VPAS rule is supported in this web service. '
items:
type: object
properties:
amount:
maxLength: 16
type: string
description: 'Value of the amount override for the exact
match (VPAS) rule. '
triggerType:
maxLength: 10
type: string
description: "Authorization Rule Code. Valid value is-
\n VPAS"
currencyCode:
maxLength: 3
type: string
description: 'Currency code which is used for the VPA
rule. This is the rule currency code. All ISO currency
codes are supported. Sample value is- USD. '
messageID:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric.
The values are specific to each method. Example- AP001,
AP002, and so on.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
alertRequired:
maxLength: 1
type: string
description: Indicates whether the notifications regarding
declines due to authorization rules will to be sent to the
channel (email or phone) or not.
description: Success
'400':
description: Error Codes
content:
application/json:
schema:
type: object
properties:
GP001:
type: object
description: List of payment controls is successfully returned.
GP002:
type: object
description: Message ID is not unique.
GP003:
type: object
description: Invalid client.
GP004:
type: object
description: Invalid buyer.
GP005:
type: object
description: Invalid account number.
GP010:
type: object
description: Buyer does not match with the issuer.
GP011:
type: object
description: Account number does not match with the buyer.
GP016:
type: object
description: System exception.
GP017:
type: object
description: Account does not exist in the system.
GP018:
type: object
description: Account is not registered.
GP019:
type: object
description: Failed to get payment control list.
GP020:
type: object
description: Payment control is not set for the bank.
GP021:
type: object
description: Payment control is not set for the buyer.
GP025:
type: object
description: Bank or buyer not enrolled.
GP027:
type: object
description: Request is already processed.
GP033:
type: object
description: Invalid message ID.
GP035:
type: object
description: Invalid message ID.
x-codegen-request-body-name: listpaymentcontrol
x-operationVersions:
- label: v1
operationPointer: "#/paths/~1vpa~1v1~1accountManagement~1ListPaymentControl/post"
default: false
"/vpa/v1/accountManagement/fundingAccount/update":
post:
tags:
- Account Management service
summary: Update Funding Account
description: ''
operationId: Update Funding Account
requestBody:
content:
application/json:
schema:
required:
- accountNumber
- buyerId
- clientId
- messageId
type: object
properties:
action:
maxLength: 1
type: string
description: 'Specifies the operation to be performed on the funding
account. Valid values are:
''U'' for Update (modifying the
details of an existing funding account)
''D'' for Delete (removing
the funding account from the Buyer).
If no action value
is provided, the system will automatically default to ''U'' (Update).
Note: Before submitting a request to delete a funding
account, all active payment instructions and account requisitions
for the funding account must be canceled, and all associated proxy
pools must be deleted. '
buyerId:
maxLength: 25
type: string
description: Buyer ID is the numeric buyer identifier as defined
in Visa Payables Automation. This will be provided by the Issuer.
clientId:
maxLength: 50
type: string
description: ClientID uniquely identifies a financial institution.
This will be provided by Visa implementation team.
messageId:
maxLength: 36
type: string
description: Unique identifier for identifying the request. Each
request sent to VPA requires its own unique ID.
creditLimit:
type: integer
description: Denotes the credit limit of the funding account. This
field can be updated only if processor integration is disabled
for the buyer, and in this case changes must also be made at the
processor. Not applicable for processor integration because VPA
goes directly to the processor for this field.
accountNumber:
type: integer
description: The full 16 digit funding account number. Should be
a valid card account number
blockPurchases:
type: boolean
description: Ability to Block or allow purchases on the funding
account. This field is optional and if not provided will be set
to ‘true’ and will prevent any purchases from being made on the
funding PAN/ funding account. This should be set to ‘false’ if
you want to remove the block on the Funding PAN/funding account
and allow it to be used for purchases. This is an optional field.
Valid values are true or false.
defaultAccount:
type: boolean
description: Denotes if this funding account should be designated
as the default funding account for this buyer. This field can
be updated at any time.
expirationDate:
maxLength: 10
type: string
description: Denotes the Expiration date of the funding account.
This field can be updated only if processor integration is disabled
for the buyer, and in this case changes must also be made at the
processor. Not applicable for processor integration because VPA
goes directly to the processor for this field. Should be provided
in yyyy-mm-dd format. Always provide the last day of the month
for dd. The system will set the last day of the month even if
you provide a different day.
examples:
Default:
summary: Default
value:
clientId: B2BWS_FDR_5126
blockPurchases: 'false'
messageId: "{{$timestamp}}"
defaultAccount: 'true'
buyerId: '107777'
accountNumber: 4807330007183252
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
UpdateFundingAccountResponse:
type: object
properties:
errors:
type: array
description: In case of error please refer to the Error
Codes page for this api
items:
type: object
properties:
Error:
required:
- code
- statusDesc
type: object
properties:
code:
type: string
description: error code
statusDesc:
type: string
description: error description
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
type: string
description: Status code of the response.
statusDesc:
type: string
description: Status description of the response.
accountNumber:
type: integer
description: Denotes the funding account number. The account
number will be masked based on the configuration for the
buyer.
blockPurchases:
type: boolean
description: Block purchases on the funding account. This
field is optional and should be set to ‘false’ if you want
to remove the block on Funding PAN and use it for purchases.
Valid values are true or false. If this parameter is not
specified in the API request, the default value assigned
will be true.
expirationDate:
maxLength: 10
type: string
description: Funding Account's expiration date. Will be provided
in yyyy-mm-dd format.
description: ''
examples:
Default:
summary: Default
value:
statusDesc: Funding Account has been updated successfully
messageId: '1620851509'
accountNumber: XXXXXXXXXXXX3252
statusCode: AMUF000
x-codegen-request-body-name: UpdateFundingAccount
x-operationVersions:
- label: v1
operationPointer: "#/paths/~1vpa~1v1~1accountManagement~1fundingAccount~1update/post"
default: false
x-hideTryIt: true
"/vpa/v1/accountManagement/getPaymentControls":
post:
tags:
- Account Management service
summary: Get Payment Controls
description: ''
operationId: Get Payment Controls
requestBody:
description: Get Payment Controls Request
content:
application/json:
schema:
required:
- accountNumber
- buyerId
- clientId
- messageId
type: object
properties:
buyerId:
maxLength: 15
type: string
description: Buyer ID numeric is the buyer identifier as defined
in Visa Payables Automation system. This is often the ID defined
at the processor for the corporate buyer. This will be provided
by the issuer.
clientId:
maxLength: 50
type: string
description: ClientID uniquely identifies a financial institution.
This will be provided by the Visa implementation team.
messageId:
maxLength: 36
type: string
description: Unique identifier for the API request.
accountNumber:
maxLength: 16
type: string
description: Account Number for which the auth rules are requested.
You must send at least the last 4 digits, but can send up to the
entire account number. The value sent should uniquely identify
the account number. If the last 4 digits are not unique then it
will fail
examples:
Default:
summary: Default
value:
clientId: B2BWS_1_1_9999
messageId: '2017-04-06T03:47:20.000Z'
buyerId: 9999
accountNumber: 4111111111111111
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
GetPaymentControlsResponse:
type: object
properties:
rules:
type: array
description: List of authorization rules set on the account.
items:
type: object
properties:
ruleCode:
maxLength: 8
type: string
description: Contains the authorization Rule Code. For
the list of valid Visa Payment Controls (VPC) refer
to the VPC
Rules and Overrides table.
For buyers using
VANs please refer to the VPP
Rules and Overrides table.
This element is
mandatory for action types A (Add) and U (Update).
overrides:
type: array
description: 'Complex element which contains one or
more overrides for the authorization rules. This element
contains: Sequence, Override Code, and Override Value.
Override is nothing but a value which you want to
change in the default rule.
For e.g. to set
the threshold rule for the account you have requested,if
you want to set the threshold as $1000 then you should
pass the amount override as 1000 and the currency
override as 840.'
items:
type: object
properties:
sequence:
maxLength: 3
type: string
description: Contains the sequence number for
the override. Each rule starts with 0 so if
you have an SPV and BUS, then SPV will have
sequence 0 and BUS will have a 0. If there are
multiple fields/overrides within a rule, e.g.
SPV. Each override - amount, currency code,
range type, etc.- have the same sequence number.
E.g. amount, currency code and range type will
all have 0. If there is a rule that can have
multiple amounts e.g. Exact match, then each
VPAS rule overrides must have a unique sequence
number so first VPAS has 0, then second has
1, third has 2.
overrideCode:
maxLength: 33
type: string
description: Contains the code for the override.
Note, follow the rule specification (provided
in the link in the Rule code field description)
as not every ruleCode requires an overrideCode.
overrideValue:
maxLength: 25
type: string
description: Contains the value for the override.
Note, follow the rule specification (provided
in the link in the Rule code field description)
as not every ruleCode requires an overrideValue.
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
maxLength: 10
type: string
description: Status code of the response. It is alphanumeric.
The values are specific to each method. The list of status
codes can be found in the following link
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
description: Success
examples:
Default:
summary: Default
value:
statusDesc: Payment control details retrieved successfully.
messageId: '1591133872'
rules:
- ruleCode: ADT
- ruleCode: AIR
- ruleCode: ATM
- ruleCode: ATML
overrides:
- sequence: '0'
overrideCode: amountValue
parentOverrideCode: amountOverride
overrideValue: '1'
- sequence: '0'
overrideCode: amountCurrencyCode
parentOverrideCode: amountOverride
overrideValue: '840'
- ruleCode: AUTO
- ruleCode: BUS
overrides:
- sequence: '0'
overrideCode: timezone
overrideValue: Alaskan Standard Time
- sequence: '0'
overrideCode: weekDayEffective
parentOverrideCode: timeRange
overrideValue: SUN
- sequence: '0'
overrideCode: timeEffectiveStart
parentOverrideCode: timeRange
overrideValue: '01:00'
- sequence: '0'
overrideCode: timeEffectiveEnd
parentOverrideCode: timeRange
overrideValue: '15:00'
- ruleCode: CAID
overrides:
- sequence: '0'
overrideCode: CAIDValue
parentOverrideCode: CAIDOverride
overrideValue: '847833'
- ruleCode: CLOTH
- ruleCode: ECOM
- ruleCode: FUEL
- ruleCode: GTM
- ruleCode: HOT
- ruleCode: NOTFUEL
- ruleCode: VPAS
overrides:
- sequence: '0'
overrideCode: amountValue
parentOverrideCode: amountOverride
overrideValue: '1.00'
- sequence: '0'
overrideCode: amountCurrencyCode
parentOverrideCode: amountOverride
overrideValue: '840'
- ruleCode: XBR
- ruleCode: XBRX
overrides:
- sequence: '0'
overrideCode: jurisdictionMerchantCountry
parentOverrideCode: countries
overrideValue: '124'
statusCode: AMGP000
'400':
description: In case of error please refer to the Error
Codes page for this api
content:
application/json:
schema:
type: object
properties:
errors:
type: array
description: array of errors
items:
type: object
properties:
code:
type: string
description: error code
statusDesc:
type: string
description: error description
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
maxLength: 6
type: string
description: Status code of the response.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
x-codegen-request-body-name: GetPaymentControls
x-hideTryIt: true
"/vpa/v1/accountManagement/fundingAccount/create":
post:
tags:
- Account Management service
summary: Add Funding Account
description: ''
operationId: Add Funding Account
requestBody:
content:
application/json:
schema:
required:
- accountNumber
- buyerId
- clientId
- currencyCode
- messageId
type: object
properties:
buyerId:
maxLength: 25
type: string
description: Buyer ID is the buyer identifier as defined in Visa
Payables Automation. This will be provided by the Issuer. Value
should must be numeric.
clientId:
maxLength: 50
type: string
description: ClientID uniquely identifies a financial institution.
This will be provided by Visa implementation team.
messageId:
maxLength: 36
type: string
description: Unique identifier for identifying the request. Each
request sent to VPA requires its own unique ID.
creditLimit:
type: integer
description: Denotes the credit limit of the funding account. This
field is required if processor integration is disabled for the
buyer. If buyer is processor integrated, this value should not
be provided because the credit limit will be pulled directly from
the processor.
currencyCode:
maxLength: 3
type: string
description: Denotes the ISO 3-character alpha code of the billing
currency for the funding account number (e.g. USD)
accountNumber:
type: integer
description: Denotes the full 16 digit funding account number. Should
be a valid card account number
blockPurchases:
type: boolean
description: Ability to Block or allow purchases on the funding
account. This field is optional and if not provided will be set
to ‘true’ and will prevent any purchases from being made on the
funding PAN/ funding account. This should be set to ‘false’ if
you want to remove the block on the Funding PAN/funding account
and allow it to be used for purchases. This is an optional field.
Valid values are true or false.
defaultAccount:
type: boolean
description: Denotes if this funding account should be designated
as the default funding account. If this field is not provided,
the system defaults the first funding account that is added to
this buyer as the default funding account.
expirationDate:
maxLength: 10
type: string
description: Expiration date of the funding account. This field
is required if processor integration is disabled for the buyer.
If buyer is processor integrated, this value should not be provided
because the credit limit will be pulled directly from the processor.
Should be provided in yyyy-mm-dd format. Always provide the last
day of the month for dd. The system will set the last day of
the month even if you provide a different day.
examples:
Default:
summary: Default
value:
clientId: B2BWS_FDR_5126
blockPurchases: false
messageId: "{{$timestamp}}"
defaultAccount: 'true'
buyerId: '107777'
accountNumber: 4807330007183252
currencyCode: USD
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
AddFundingAccountResponse:
type: object
properties:
errors:
type: array
description: In case of error please refer to the Error
Codes page for this api
items:
type: object
properties:
Error:
required:
- code
- statusDesc
type: object
properties:
code:
type: string
description: error code
statusDesc:
type: string
description: error description
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
type: string
description: Status code of the response.
statusDesc:
type: string
description: Status description of the response.
accountNumber:
type: integer
description: Denotes the funding account number. The account
number will be masked based on the configuration for the
buyer.
blockPurchases:
type: boolean
description: Block purchases on the funding account. This
field is optional and should be set to ‘false’ if you want
to remove the block on Funding PAN and use it for purchases.
Valid values are true or false. If this parameter is not
specified in the API request, the default value assigned
will be true.
expirationDate:
maxLength: 10
type: string
description: Funding Account's expiration date. Will be provided
in yyyy-mm-dd format.
description: ''
examples:
Default:
summary: Default
value:
statusDesc: Funding Account has been created successfully
messageId: '1620851268'
accountNumber: XXXXXXXXXXXX3252
statusCode: AMCF000
expirationDate: '2023-05-01'
x-codegen-request-body-name: AddFundingAccount
x-operationVersions:
- label: v1
operationPointer: "#/paths/~1vpa~1v1~1accountManagement~1fundingAccount~1create/post"
default: false
x-hideTryIt: true
"/vpa/v1/supplier/DisableSupplier":
post:
tags:
- Supplier Service
summary: Disable Supplier
description: ''
operationId: Disable Supplier
requestBody:
content:
application/json:
schema:
required:
- buyerId
- clientId
- messageId
- supplierId
type: object
properties:
buyerId:
maxLength: 25
type: string
description: Buyer ID is the buyer identifier as defined in Visa
Payables Automation. Value format is 09.
clientId:
maxLength: 25
type: string
description: Client ID field is a unique identification of the financial
institution. This will be provided by Visa at the time of setup.
messageId:
maxLength: 36
type: string
description: Unique identifier for this request. Each request sent
to VPA requires its own unique ID.
supplierId:
maxLength: 30
type: string
description: Identifier used by the buyer to identify the supplier.
This has to be unique for a buyer. It cannot contain spaces.
disableReason:
maxLength: 255
type: string
description: Reason for disabling the supplier. This will be logged
in the audit table.
examples:
Default:
summary: Default
value:
disableReason: Disabling the supplier
clientId: B2BWS_1_1_9999
supplierId: 111111
messageId: '2017-04-06T03:47:20.000Z'
buyerId: 9999
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
DisableSupplierResponse:
required:
- messageId
- statusCode
- statusDesc
type: object
properties:
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric.
The values are specific to each method. For the details
of the various error codes returned for this method refer
to the "Error Codes" table.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
description: Success
'400':
description: Refer to the Error
Codes page for the list of error codes for this API.
content: {}
x-codegen-request-body-name: disablesupplier
x-operationVersions:
- label: v1
operationPointer: "#/paths/~1vpa~1v1~1supplier~1DisableSupplier/post"
default: false
"/vpa/v1/supplier/ManageSupplierAccount":
post:
tags:
- Supplier Service
summary: ManageSupplierAccount
description: ''
operationId: ManageSupplierAccount
requestBody:
content:
application/json:
schema:
required:
- buyerId
- cardDetails
- clientId
- messageId
- supplierId
type: object
properties:
buyerId:
maxLength: 25
type: string
description: Buyer ID is the buyer identifier as defined in Visa
Payables Automation. Value format is 09.
clientId:
maxLength: 25
type: string
description: Client ID field is a unique identification of the financial
institution. This will be provided by Visa at the time of setup.
messageId:
maxLength: 36
type: string
description: Unique identifier for this request. Each request sent
to VPA requires its own unique ID.
supplierId:
maxLength: 30
type: string
description: Identifier used by the buyer to identify the supplier.
This has to be unique for a buyer. It cannot contain spaces.
cardDetails:
required:
- accountType
- actiontype
type: object
properties:
actiontype:
maxLength: 1
type: string
description: "Mode of account creation. Possible values are
\ \n 1 - Request New Account \n 2 - Enter Account (Credit)
and prepaid card association (Debit) \n 3 - Update Account
\ \n 4 - Remove Account "
accountType:
maxLength: 1
type: string
description: "Types accounts supported in VPA are \n 1 - Adjustable
Limit \n 2 - Lodged \n 5 - Reloadable"
proxyNumber:
maxLength: 19
type: string
description: Proxy number is required if the buyer is DPS.
accountLimit:
maxLength: 10
type: string
description: Account limit is applicable only for lodged (fixed)-account
types.imit of the card account. Account limit is applicable
only for lodged (fixed)-account types.
currencyCode:
maxLength: 3
type: string
description: Currency code for the newly requested or entered
card account. It is alphanumeric and is mandatory if Payment
Control is activated for this supplier. The currency code
cannot be changed for an account if payment control is ON.
Examples are USD, CAD. Note when the buyer's default currency
is taken else the currency code passed is used.
accountNumber:
maxLength: 16
type: string
description: Account number. Account number needs to be provided
only if the "ActionType" field is 2,3,4.
expirationDate:
maxLength: 10
type: string
description: Account expiration date. It is needed only for
Lodged type card accounts. The format is MM/YYYY. This field
needs to be provided only if the "ActionType" is 2 and for
"AccountType" 1 and 2.
defaultIndicator:
maxLength: 1
type: string
description: 'Indicates if this account is the default account
for the supplier. If not passed in the request, the default
will be Y if there are no default cards for the supplier else
will be defaulted as N. '
description: Account details Class
disableReason:
maxLength: 255
type: string
description: Contains the reason for disabling the account.
examples:
Default:
summary: Default
value:
clientId: B2BWS_1_1_9999
supplierId: 111111
cardDetails:
actionType: 2
accountLimit: 100
accountType: 2
accountNumber: 4111111111111111
currencyCode: USD
expirationDate: 12/2025
messageId: '2017-04-06T03:47:20.000Z'
buyerId: 9999
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
ManageSupplierAccountResponse:
required:
- messageId
- statusCode
- statusDesc
type: object
properties:
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric.
The values are specific to each method. For the details
of the various error codes returned for this method refer
to the "Error Codes" table.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
accountNumber:
maxLength: 19
type: string
description: Account number used for processing the payment.
The account number will be masked in the response if the
corresponding Client ID is configured to be masked.
expirationDate:
type: string
description: Account expiration date. It is needed only for
Lodged (Fixed) type card accounts. The format is MMYYYY.
Note- Expiration Date is returned only if the "Account Type"
is 5 (reloadable).
accountRequestID:
maxLength: 13
type: string
description: A unique ID generated by the VPA system, which
the requester can use for checking the status of the card
account if it is requested from the processor.
defaultIndicator:
maxLength: 6
type: string
description: 'Indicates if this account is the default account
for the supplier. '
description: Success
'400':
description: Refer to the Error
Codes page for the list of error codes for this API.
content: {}
x-codegen-request-body-name: managesupplieraccount
x-operationVersions:
- label: v1
operationPointer: "#/paths/~1vpa~1v1~1supplier~1ManageSupplierAccount/post"
default: false
"/vpa/v2/supplier/GetSupplierDetails":
post:
tags:
- Supplier Service
summary: Get Supplier Details
description: Get Supplier Details
operationId: Get Supplier Details
requestBody:
content:
application/json:
schema:
required:
- buyerId
- clientId
- messageId
- supplierId
type: object
properties:
buyerId:
maxLength: 25
type: string
description: Buyer ID is the buyer identifier as defined in Visa
Payables Automation. Value format is 09.
clientId:
maxLength: 25
type: string
description: Client ID field is a unique identification of the financial
institution. This will be provided by Visa at the time of setup.
messageId:
maxLength: 36
type: string
description: Unique identifier for this request. Each request sent
to VPA requires its own unique ID.
supplierId:
maxLength: 30
type: string
description: Identifier used by the buyer to identify the supplier.
This has to be unique for a buyer. It cannot contain spaces.
accountNumber:
maxLength: 16
type: string
description: Provide account number to acquire details only about
this particular card account.
examples:
Default:
summary: Default
value:
clientID: B2BWS_1_Region_Bank_3029
supplierId: Memo_prat_2221_11
messageId: "{{$timestamp}}"
buyerID: '11181'
AccountNumber: ''
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
GetSupplierResponse:
required:
- messageId
- statusCode
- statusDesc
- supplierAddressLine1
- supplierCity
- supplierCountryCode
- supplierId
- supplierLanguage
- supplierName
- supplierType
type: object
properties:
stpId:
type: integer
description: STP ID to be associated with supplier of type
STP. Format- 09. STPID is required new STP suppliers. You
can get the STPID for the supplier you want to pay using
the supplier matching service.
enablePin:
maxLength: 1
type: string
description: The EnablePin field is an indicator, which bank
and buyer uses to specify if PIN can be enabled at supplier
level. A supplier can set a PIN on his account only if EnablePin
is set to Y. This field is used only for DPS buyers. This
field should be set as Y only if bank and buyer are enabled
for PIN.
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric.
The values are specific to each method. For the details
of the various error codes returned for this method refer
to the "Error Codes" table.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
supplierId:
maxLength: 30
type: string
description: 'Identifier used by the buyer to identify the
supplier in VPA system. '
supplierCity:
maxLength: 50
type: string
description: Supplier city.
supplierDate:
maxLength: 11
type: string
description: "This field contains the Supplier Date Format.
This is a mandatory field, if an empty value is supplied
VPA will default the value to the Buyer’s date format. The
valid values are\n MMDDYYYY DDMMYYYY \n YYYYMMDD
\ DD/MM/YYYY \n DD/MM/YY YYYY/MM/DD \n YY/MM/DD
\ MM/DD/YYYY \n MM/DD/YY DD/MMM/YYYY \n DD/MMM/YY
\ YYYY/MMM/DD \n YY/MMM/DD MMM/DD/YYYY \n MMMM/DD/YY
\ DD-MM-YYYY \n DD-MM-YY YYYY-MM-DD \n YY-MM-DD
\ MM-DD-YYYY \n MM-DD-YY DD-MMM-YY \n DD-MMM-YYYY
\ YYYY-MMM-DD \n YY-MMM-DD MMM-DD-YYYY \n MMM-DD-YY"
supplierName:
maxLength: 50
type: string
description: Name of supplier to be paid. It is mandatory
for new suppliers.
supplierType:
maxLength: 50
type: string
description: Type of supplier. Valid values are VPA STP
supplierState:
maxLength: 50
type: string
description: Supplier state.
accountDetails:
type: array
description: This complex element contains details of the
card including account type, account limit, account number,
action type, expiration date, currency code, and proxy number.
Refer to "Card Details" table for more information.
items:
type: object
properties:
accountType:
maxLength: 1
type: string
description: "Card account type. Valid values are \n
\ 1 - Adjustable Limit \n 2 - Lodged \n 5 -
\ Reloadable"
accountLimit:
maxLength: 10
type: string
description: Credit limit of the card account. Account
limit is applicable only for lodged (fixed)-account
types.
currencyCode:
maxLength: 3
type: string
description: The card account's ISO alphanumeric currency
code. This currency code identifies the currency
in which the payment can be made using this account
if the authorization control is enabled. The currency
code cannot be changed for an account if payment control
is ON. Examples are USD, CAD.
accountNumber:
maxLength: 16
type: string
description: Account number.
expirationDate:
maxLength: 10
type: string
description: 'Account''s expiration date '
defaultIndicator:
maxLength: 1
type: string
description: 'Indicates if this account is the default
account for the supplier. '
supplierGLCode:
maxLength: 70
type: string
description: Supplier GL code.
securityAnswers:
type: array
description: This is a complex type element that contains
another complex type element.
items:
type: object
properties:
questionAnswer:
type: object
properties:
questionNumber:
maxLength: 1
type: string
description: Question number of a security question.
securityAnswer:
maxLength: 50
type: string
description: Answer of a security question.
description: Security Answers Class
supplierLanguage:
maxLength: 5
type: string
description: "Supplier language. The valid values and corresponding
language are \n fr_FR- Corresponds to the French language.
\ \n en_US- Corresponds to the English (US) language.
\ \n en_GB- Corresponds to the English (UK) language.
\ \n es_ES- Corresponds to the Spanish language. \n
\ pt_BR- Corresponds to the Brazilian Portugese language.
\ \n English- Corresponds to the English (US) language.
\ \n IntlEnglish- Corresponds to the English (UK) language.
\ \n French- Corresponds to the French language. \n
\ SpanishLA- Corresponds to the Spanish language. \n
\ PortugueseBR- Corresponds to the Brazilian Portugese
language. \n German - Corresponds to the German language.\n
\ Italian - Corresponds to the Italian language."
suaExactMatchRule:
maxLength: 1
type: string
description: Specifies whether the Exact Match rule is to
be enabled/disabled for SUA(Single Use Accounts) payments.
Valid values are Y/N. For a Lodged card payments ExactMatch
rule will be always applied and value in this field is ignored.
supplierPostalCode:
maxLength: 20
type: string
description: Supplier postal code. It is mandatory for new
suppliers and only if the country mandates it.
defaultCurrencyCode:
maxLength: 3
type: string
description: Default currency code. All ISO alphanumeric currency
codes will be supported. For example- USD. If default currency
code is not provided, buyer currency code is used. If the
currency code supplied is not setup in the allowable currencies
in the buyer profile, the request will be rejected.
primaryEmailAddress:
maxLength: 70
type: string
description: Supplier primary email address. The value is
mandatory in case the bank/buyer has the notification indicator
set to Y.
supplierCountryCode:
maxLength: 3
type: string
description: Supplier country code. It is alphanumeric.VPA
supports all ISO alphanumeric country code. For example-
USA.
securityCodeRequired:
maxLength: 1
type: string
description: Specifies whether security code (CVV2) is required
for a supplier to collect a payment. Possible values are
Y and N. If this field is not passed/set in the WS request
then the value of this field is defaulted to "N".
supplierAddressLine1:
maxLength: 100
type: string
description: Supplier address line 1.
supplierAddressLine2:
maxLength: 100
type: string
description: Supplier address line 2.
paymentExpirationDays:
maxLength: 3
type: string
description: Determines the number of days within which a
supplier must take his payment to avoid expiration of payment
instruction. Its value must be greater than zero. If this
value is not provided, payment expiry days set in the buyer
profile is used.
paymentControlRequired:
maxLength: 1
type: string
description: "Specifies whether the supplier is enabled for
payment controls. Valid values are Y N \n If this field
is not passed/set in the WS request\nthen the value of this
field is defaulted to Y if the Default Auth Control is enabled
in the buyer profile else it is set to N."
alternateEmailAddresses:
type: object
properties:
alternateEmailAddress:
type: array
items:
type: object
description: Supplier CC email address.
reminderNotificationDays:
maxLength: 2
type: string
description: Specifies how many days before payment expiration
will the reminder notification be sent. For example, if
this value is set to 4, reminder notification will be sent
to the supplier four days before payment expiration. This
field is required if the reminder notification required
field is set to Y.
invoiceAttachmentRequired:
maxLength: 1
type: string
description: Invoice attachment indicator. Possible values
are Y and N. If this field is not passed/set in the WS request
then the value of this field is defaulted to N.
reminderNotificationRequired:
maxLength: 1
type: string
description: "Indicator to enable the supplier reminder notification
feature. Possible values are Y and N. If this is not set
or is set to N then reminder notification will not be sent
to the supplier before payment expiration. \n Note- If
the suppress supplier notification option is enabled for
the buyer, the reminder notification is not sent even if
this flag is set to Y."
description: OK
examples:
Default:
summary: Default
value:
supplierCity: Foster city
supplierAddressLine2: 10th avenue
supplierAddressLine1: 800 metro drive
supplierDate: YYYYMMDD
messageID: '1646235257'
defaultCurrencyCode: USD
enablePin: N
supplierLanguage: en_US
primaryEmailAddress: amrudesa@visa.com
securityCodeRequired: Y
supplierGLCode: '56789'
invoiceAttachmentRequired: N
securityAnswers:
- questionAnswer:
securityAnswer: blue
questionNumber: '1'
supplierName: Memo_prat22namepk7
suaExactMatchRule: N
statusDesc: Supplier and Account Information Received
supplierID: Memo_prat_2221_11
supplierPostalCode: '94404'
alternateEmailAddresses:
alternateEmailAddress:
- chandank@visa.com
- johsiu@visa.com
reminderNotificationRequired: N
accountDetails:
- accountLimit: '100.00'
accountType: '2'
defaultIndicator: Y
accountNumber: '4807060600772991'
currencyCode: USD
expirationDate: '2022-05-06'
paymentControlRequired: N
supplierState: CA
supplierCountryCode: US
supplierType: VPA
statusCode: ASR060
'400':
description: Refer to the Error
Codes page for the list of error codes for this API.
content: {}
x-codegen-request-body-name: getsupplierdetails
x-operationVersions:
- label: v1
operationPointer: "#/paths/~1vpa~1v1~1supplier~1GetSupplierDetails/post"
default: false
- label: v2 - Latest
operationPointer: "#/paths/~1vpa~1v2~1supplier~1GetSupplierDetails/post"
default: false
x-hideTryIt: true
"/vpa/v1/supplier/GetSupplierDetails":
post:
tags:
- Supplier Service
summary: Get Supplier Details
description: ''
operationId: Get Supplier Details
requestBody:
content:
application/json:
schema:
required:
- buyerId
- clientId
- messageId
- supplierId
type: object
properties:
buyerId:
maxLength: 25
type: string
description: Buyer ID is the buyer identifier as defined in Visa
Payables Automation. Value format is 09.
clientId:
maxLength: 25
type: string
description: Client ID field is a unique identification of the financial
institution. This will be provided by Visa at the time of setup.
messageId:
maxLength: 36
type: string
description: Unique identifier for this request. Each request sent
to VPA requires its own unique ID.
supplierId:
maxLength: 30
type: string
description: Identifier used by the buyer to identify the supplier.
This has to be unique for a buyer. It cannot contain spaces.
accountNumber:
maxLength: 16
type: string
description: Provide account number to acquire details only about
this particular card account.
examples:
Default:
summary: Default
value:
clientId: B2BWS_1_1_9999
supplierId: 111111
messageId: '2017-04-06T03:47:20.000Z'
buyerId: 9999
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
GetSupplierResponse:
required:
- messageId
- statusCode
- statusDesc
- supplierAddressLine1
- supplierCity
- supplierCountryCode
- supplierId
- supplierLanguage
- supplierName
- supplierType
type: object
properties:
stpId:
type: integer
description: STP ID to be associated with supplier of type
STP. Format- 09. STPID is required new STP suppliers. You
can get the STPID for the supplier you want to pay using
the supplier matching service.
enablePin:
maxLength: 1
type: string
description: The EnablePin field is an indicator, which bank
and buyer uses to specify if PIN can be enabled at supplier
level. A supplier can set a PIN on his account only if EnablePin
is set to Y. This field is used only for DPS buyers. This
field should be set as Y only if bank and buyer are enabled
for PIN.
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric.
The values are specific to each method. For the details
of the various error codes returned for this method refer
to the "Error Codes" table.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
supplierId:
maxLength: 30
type: string
description: 'Identifier used by the buyer to identify the
supplier in VPA system. '
supplierCity:
maxLength: 50
type: string
description: Supplier city.
supplierDate:
maxLength: 11
type: string
description: "This field contains the Supplier Date Format.
This is a mandatory field, if an empty value is supplied
VPA will default the value to the Buyer’s date format. The
valid values are\n MMDDYYYY DDMMYYYY \n YYYYMMDD
\ DD/MM/YYYY \n DD/MM/YY YYYY/MM/DD \n YY/MM/DD
\ MM/DD/YYYY \n MM/DD/YY DD/MMM/YYYY \n DD/MMM/YY
\ YYYY/MMM/DD \n YY/MMM/DD MMM/DD/YYYY \n MMMM/DD/YY
\ DD-MM-YYYY \n DD-MM-YY YYYY-MM-DD \n YY-MM-DD
\ MM-DD-YYYY \n MM-DD-YY DD-MMM-YY \n DD-MMM-YYYY
\ YYYY-MMM-DD \n YY-MMM-DD MMM-DD-YYYY \n MMM-DD-YY"
supplierName:
maxLength: 50
type: string
description: Name of supplier to be paid. It is mandatory
for new suppliers.
supplierType:
maxLength: 50
type: string
description: Type of supplier. Valid values are VPA STP
supplierState:
maxLength: 50
type: string
description: Supplier state.
accountDetails:
type: array
description: This complex element contains details of the
card including account type, account limit, account number,
action type, expiration date, currency code, and proxy number.
Refer to "Card Details" table for more information.
items:
type: object
properties:
accountType:
maxLength: 1
type: string
description: "Card account type. Valid values are \n
\ 1 - Adjustable Limit \n 2 - Lodged \n 5 -
\ Reloadable"
accountLimit:
maxLength: 10
type: string
description: Credit limit of the card account. Account
limit is applicable only for lodged (fixed)-account
types.
currencyCode:
maxLength: 3
type: string
description: The card account's ISO alphanumeric currency
code. This currency code identifies the currency
in which the payment can be made using this account
if the authorization control is enabled. The currency
code cannot be changed for an account if payment control
is ON. Examples are USD, CAD.
accountNumber:
maxLength: 16
type: string
description: Account number.
expirationDate:
maxLength: 10
type: string
description: 'Account''s expiration date '
defaultIndicator:
maxLength: 1
type: string
description: 'Indicates if this account is the default
account for the supplier. '
supplierGLCode:
maxLength: 70
type: string
description: Supplier GL code.
securityAnswers:
type: array
description: This is a complex type element that contains
another complex type element.
items:
type: object
properties:
questionAnswer:
type: object
properties:
questionNumber:
maxLength: 1
type: string
description: Question number of a security question.
securityAnswer:
maxLength: 50
type: string
description: Answer of a security question.
description: Security Answers Class
supplierLanguage:
maxLength: 5
type: string
description: "Supplier language. The valid values and corresponding
language are \n fr_FR- Corresponds to the French language.
\ \n en_US- Corresponds to the English (US) language.
\ \n en_GB- Corresponds to the English (UK) language.
\ \n es_ES- Corresponds to the Spanish language. \n
\ pt_BR- Corresponds to the Brazilian Portugese language.
\ \n English- Corresponds to the English (US) language.
\ \n IntlEnglish- Corresponds to the English (UK) language.
\ \n French- Corresponds to the French language. \n
\ SpanishLA- Corresponds to the Spanish language. \n
\ PortugueseBR- Corresponds to the Brazilian Portugese
language. \n German - Corresponds to the German language.\n
\ Italian - Corresponds to the Italian language."
supplierPostalCode:
maxLength: 20
type: string
description: Supplier postal code. It is mandatory for new
suppliers and only if the country mandates it.
defaultCurrencyCode:
maxLength: 3
type: string
description: Default currency code. All ISO alphanumeric currency
codes will be supported. For example- USD. If default currency
code is not provided, buyer currency code is used. If the
currency code supplied is not setup in the allowable currencies
in the buyer profile, the request will be rejected.
primaryEmailAddress:
maxLength: 70
type: string
description: Supplier primary email address. The value is
mandatory in case the bank/buyer has the notification indicator
set to Y.
supplierCountryCode:
maxLength: 3
type: string
description: Supplier country code. It is alphanumeric.VPA
supports all ISO alphanumeric country code. For example-
USA.
securityCodeRequired:
maxLength: 1
type: string
description: Specifies whether security code (CVV2) is required
for a supplier to collect a payment. Possible values are
Y and N. If this field is not passed/set in the WS request
then the value of this field is defaulted to "N".
supplierAddressLine1:
maxLength: 100
type: string
description: Supplier address line 1.
supplierAddressLine2:
maxLength: 100
type: string
description: Supplier address line 2.
paymentExpirationDays:
maxLength: 3
type: string
description: Determines the number of days within which a
supplier must take his payment to avoid expiration of payment
instruction. Its value must be greater than zero. If this
value is not provided, payment expiry days set in the buyer
profile is used.
paymentControlRequired:
maxLength: 1
type: string
description: "Specifies whether the supplier is enabled for
payment controls. Valid values are Y N \n If this field
is not passed/set in the WS request\nthen the value of this
field is defaulted to Y if the Default Auth Control is enabled
in the buyer profile else it is set to N."
alternateEmailAddresses:
type: object
properties:
alternateEmailAddress:
type: array
items:
type: object
description: Supplier CC email address.
reminderNotificationDays:
maxLength: 2
type: string
description: Specifies how many days before payment expiration
will the reminder notification be sent. For example, if
this value is set to 4, reminder notification will be sent
to the supplier four days before payment expiration. This
field is required if the reminder notification required
field is set to Y.
invoiceAttachmentRequired:
maxLength: 1
type: string
description: Invoice attachment indicator. Possible values
are Y and N. If this field is not passed/set in the WS request
then the value of this field is defaulted to N.
reminderNotificationRequired:
maxLength: 1
type: string
description: "Indicator to enable the supplier reminder notification
feature. Possible values are Y and N. If this is not set
or is set to N then reminder notification will not be sent
to the supplier before payment expiration. \n Note- If
the suppress supplier notification option is enabled for
the buyer, the reminder notification is not sent even if
this flag is set to Y."
description: OK
'400':
description: Error Codes
content:
application/json:
schema:
type: object
properties:
'601':
type: object
description: Schema Validation Success
'651':
type: object
description: Schema Validation Fail
'7023':
type: object
description: Bank or Buyer is not subscribed for service.
'7297':
type: object
description: MessageID is Required
'7299':
type: object
description: Duplicate Message ID
'7304':
type: object
description: Invalid Web Service Method
'7358':
type: object
description: Account Type is invalid. Valid values are 1,2 and
5
'7359':
type: object
description: Invalid Client ID
'7360':
type: object
description: Invalid Buyer
'7361':
type: object
description: Invalid Account type. Bank does not support this
card type
'7362':
type: object
description: Account Limit is Required
'7363':
type: object
description: Account Limit should contain only numbers
'7365':
type: object
description: Invalid Account limit. Length or Precision does not
match with allowed Limit
'7366':
type: object
description: Account Limit is Invalid
'7370':
type: object
description: ActionType is required
'7372':
type: object
description: Invalid Account number
'7376':
type: object
description: Invalid month for expiration date
'7377':
type: object
description: Invalid year for expiration date
'7382':
type: object
description: Request schema validated success
'7406':
type: object
description: Account Currency Code should match with buyer currency
code for account type 1 and 5
'7412':
type: object
description: Invalid reloadable proxy account
'7439':
type: object
description: Invalid Supplier
'7445':
type: object
description: MessageId cannot be more than 36 character
'7446':
type: object
description: ClientId is required
'7447':
type: object
description: ClientId cannot be more than 50 characters
'7448':
type: object
description: BuyerId is required
'7449':
type: object
description: BuyerId cannot be more than 25 character
'7457':
type: object
description: Disable Reason cannot be more than 255 characters
'7458':
type: object
description: Supplier ID is Required
'7459':
type: object
description: Supplier ID cannot be more than 30 character
'7460':
type: object
description: Supplier ID contains invalid character
'7461':
type: object
description: Invalid Buyer/Supplier combination
'7465':
type: object
description: Account Type is required
'7466':
type: object
description: Account number already present for the supplier
'7467':
type: object
description: Account number required
'7468':
type: object
description: 'Account Number already does not exist or disabled '
'7469':
type: object
description: Account number is not associated with this supplier
'7470':
type: object
description: Invalid Action type
'7471':
type: object
description: Default Indicator is invalid. Valid value is Y/N.
'7472':
type: object
description: Default card account cannot be marked as nondefault
card account
'7473':
type: object
description: Currency code should be 3 characters long. Space
and numbers not allowed
'7474':
type: object
description: Expiration Date should not be provided
'7475':
type: object
description: Account Number should not be provided
'7476':
type: object
description: Account Limit should not be provided
'7477':
type: object
description: Invalid Action type and account type combination
'7478':
type: object
description: Expiration is required
'7479':
type: object
description: ExpirationDate is Invalid.Supported date format MM/YYYY
'7480':
type: object
description: Invalid Expiration Date Format. Expected format is
MM/YYYY
'7481':
type: object
description: Account Number is required
'7482':
type: object
description: Proxy number must be provided for account type 5
'7483':
type: object
description: Invalid SupplierID
'7484':
type: object
description: Invalid Action type. User cannot request new cards
when processor interaction is disabled
'7486':
type: object
description: Invalid Account Number/Account Type combination
'7487':
type: object
description: Account Number does not belong to this supplier
'7488':
type: object
description: Payment control is set for this supplier.Currency
Code cannot be updated
'7489':
type: object
description: Account Number does not exist or already disabled
'7490':
type: object
description: Default card account cannot be removed. Remove non
default card accounts before removing default card account
'7491':
type: object
description: Card account cannot be deleted, some payments are
in pending status.
'7494':
type: object
description: Account already exist with a different currency code.
Please use the same currency code.
'7607':
type: object
description: Account currency code sent in the request is not
in the allowable currency list for the buyer.
'8365':
type: object
description: Account Limit exceeds the maximum limit of
7023a:
type: object
description: Bank is not subscribed for service.
ASR001:
type: object
description: Manage Card Accounts completed successfully
ASR060:
type: object
description: Proxy account does not have any active accounts
ASR099:
type: object
description: System Exception
ASR001a:
type: object
description: Manage Card Accounts Failed
ASR060a:
type: object
description: Manage Card Accounts Failed to lodged the account.
Credit limit difference found
ASR060b:
type: object
description: Manage Card Accounts Failed to lodge the account.
Unable to get account information
ASR060c:
type: object
description: Manage Card Accounts Failed in VPC registration
ASR060d:
type: object
description: Manage Card Accounts completed successfully. Failed
to notify the supplier
ASR060e:
type: object
description: Manage Card Accounts completed successfully. Failed
to notify the supplier
ASR060f:
type: object
description: Manage Card Accounts Failed. Failed to deregister
account for Auth Controls.
ASR060g:
type: object
description: Manage Card Accounts failed
x-codegen-request-body-name: getsupplierdetails
"/vpa/v1/supplier/UpdateSupplier":
post:
tags:
- Supplier Service
summary: Update Supplier
description: ''
operationId: Update Supplier
requestBody:
content:
application/json:
schema:
required:
- buyerId
- clientId
- messageId
- supplierId
type: object
properties:
stpId:
maxLength: 19
type: string
description: STP ID to be associated with supplier of type STP.
Format- 09. STPID is required new STP suppliers. You can get
the STPID for the supplier you want to pay using the supplier
matching service.
buyerId:
maxLength: 25
type: string
description: Buyer ID is the buyer identifier as defined in Visa
Payables Automation. Value format is 09.
clientId:
maxLength: 25
type: string
description: Client ID field is a unique identification of the financial
institution. This will be provided by Visa at the time of setup.
enablePin:
maxLength: 1
type: string
description: The EnablePin field is an indicator, which bank and
buyer uses to specify if PIN can be enabled at supplier level.
A supplier can set a PIN on his account only if EnablePin is set
to Y. This field is used only for DPS buyers. This field should
be set as Y only if bank and buyer are enabled for PIN.
messageId:
maxLength: 36
type: string
description: Unique identifier for this request. Each request sent
to VPA requires its own unique ID.
supplierId:
maxLength: 30
type: string
description: Identifier used by the buyer to identify the supplier.
This has to be unique for a buyer. It cannot contain spaces.
supplierCity:
maxLength: 50
type: string
description: Supplier city.
supplierDate:
maxLength: 11
type: string
description: "This field contains the Supplier Date Format. This
is a mandatory field, if an empty value is supplied VPA will default
the value to the Buyer’s date format. The valid values are\n MMDDYYYY
\ \n DDMMYYYY \n YYYYMMDD \n DD/MM/YYYY \n DD/MM/YY
\ \n YYYY/MM/DD \n YY/MM/DD \n MM/DD/YYYY \n MM/DD/YY
\ \n DD/MMM/YYYY \n DD/MMM/YY \n YYYY/MMM/DD \n YY/MMM/DD
\ \n MMM/DD/YYYY \n MMMM/DD/YY \n DD-MM-YYYY \n DD-MM-YY
\ \n YYYY-MM-DD \n YY-MM-DD \n MM-DD-YYYY \n MM-DD-YY
\ \n DD-MMM-YY \n DD-MMM-YYYY \n YYYY-MMM-DD \n YY-MMM-DD
\ \n MMM-DD-YYYY \n MMM-DD-YY"
supplierName:
maxLength: 50
type: string
description: Name of supplier to be paid. It is mandatory for new
suppliers.
supplierType:
maxLength: 50
type: string
description: Type of supplier. Valid values are VPA STP
supplierState:
maxLength: 50
type: string
description: Supplier state.
supplierGLCode:
maxLength: 70
type: string
description: Supplier GL code.
securityAnswers:
type: array
description: This is a complex type element that contains another
complex type element.
items:
type: object
properties:
questionAnswer:
type: object
properties:
questionNumber:
maxLength: 1
type: string
description: Question number of a security question.
securityAnswer:
maxLength: 50
type: string
description: Answer of a security question.
description: Security Answers Class
supplierLanguage:
maxLength: 5
type: string
description: "Supplier language. The valid values and corresponding
language are \n fr_FR- Corresponds to the French language.
\ \n en_US- Corresponds to the English (US) language. \n
\ en_GB- Corresponds to the English (UK) language. \n es_ES-
Corresponds to the Spanish language. \n pt_BR- Corresponds
to the Brazilian Portugese language. \n English- Corresponds
to the English (US) language. \n IntlEnglish- Corresponds
to the English (UK) language. \n French- Corresponds to the
French language. \n SpanishLA- Corresponds to the Spanish
language. \n PortugueseBR- Corresponds to the Brazilian Portugese
language.\n German - Corresponds to the German language.\n
\ Italian - Corresponds to the Italian language."
suaExactMatchRule:
maxLength: 1
type: string
description: Specifies whether the Exact Match rule is to be enabled/disabled
for SUA(Single Use Accounts) payments. Valid values are Y/N. For
a Lodged card payments ExactMatch rule will be always applied
and value in this field is ignored.
supplierPostalCode:
maxLength: 20
type: string
description: Supplier postal code. It is mandatory for new suppliers
and only if the country mandates it.
defaultCurrencyCode:
maxLength: 3
type: string
description: Default currency code. All ISO alphanumeric currency
codes will be supported. For example- USD. If default currency
code is not provided, buyer currency code is used. If the currency
code supplied is not setup in the allowable currencies in the
buyer profile, the request will be rejected.
primaryEmailAddress:
maxLength: 70
type: string
description: Supplier primary email address. The value is mandatory
in case the bank/buyer has the notification indicator set to Y.
supplierCountryCode:
maxLength: 3
type: string
description: Supplier country code. It is alphanumeric. VPA supports
all ISO alphanumeric country code. For example- USA.
securityCodeRequired:
maxLength: 1
type: string
description: Specifies whether security code (CVV2) is required
for a supplier to collect a payment. Possible values are Y and
N. If this field is not passed/set in the WS request then the
value of this field is defaulted to "N".
supplierAddressLine1:
maxLength: 100
type: string
description: Supplier address line 1.
supplierAddressLine2:
maxLength: 100
type: string
description: Supplier address line 2.
paymentExpirationDays:
maxLength: 3
type: string
description: Determines the number of days within which a supplier
must take his payment to avoid expiration of payment instruction.
Its value must be greater than zero. If this value is not provided,
payment expiry days set in the buyer profile is used.
paymentControlRequired:
maxLength: 1
type: string
description: Specifies whether the supplier is enabled for payment
controls. Valid values are Y N If this field is not
passed/set in the WS request then the value of this field is defaulted
to Y if the Default Auth Control is enabled in the buyer profile
else it is set to N.
alternateEmailAddresses:
type: array
description: This complex element can have up to five alternate
email addresses.
items:
type: object
properties:
alternateEmailAddress:
maxLength: 70
type: string
description: Supplier CC email address.
reminderNotificationDays:
maxLength: 2
type: string
description: Specifies how many days before payment expiration will
the reminder notification be sent. For example, if this value
is set to 4, reminder notification will be sent to the supplier
four days before payment expiration. This field is required if
the reminder notification required field is set to Y.
invoiceAttachmentRequired:
maxLength: 1
type: string
description: Invoice attachment indicator. Possible values are Y
and N. If this field is not passed/set in the WS request then
the value of this field is defaulted to N.
reminderNotificationRequired:
maxLength: 1
type: string
description: |-
Indicator to enable the supplier reminder notification feature. Possible values are Y and N. If this is not set or is set to N then reminder notification will not be sent to the supplier before payment expiration.
Note If the suppress supplier notification option is enabled for the
buyer, the reminder notification is not sent even if this flag is set to Y.
examples:
Default:
summary: Default
value:
supplierName: APISupp-103
clientId: B2BWS_1_1_9999
supplierId: APISupp-105
supplierCity: Austin
supplierAddressLine2: Address2
supplierAddressLine1: Address1
paymentExpirationDays: 0
supplierDate: MMDDYYYY
messageId: 2019-02-24T04:05:45.000X
buyerId: '9999'
supplierLanguage: en_US
supplierPostalCode: 78759
primaryEmailAddress: aaa@bbb.com
securityCodeRequired: N
alternateEmailAddresses:
- alternateEmailAddress: aaa1@bbb.com
- alternateEmailAddress: aaa2@bbb.com
- alternateEmailAddress: aaa3@bbb.com
- alternateEmailAddress: aaa4@bbb.com
- alternateEmailAddress: aaa5@bbb.com
reminderNotificationDays: 0
reminderNotificationRequired: N
paymentControlRequired: N
invoiceAttachmentRequired: N
supplierState: TX
supplierCountryCode: USA
supplierType: VPA
securityAnswers:
- questionAnswer:
securityAnswer: Test
questionNumber: '1'
- questionAnswer:
securityAnswer: test2
questionNumber: '2'
- questionAnswer:
securityAnswer: test3
questionNumber: '3'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
UpdateSupplierResponse:
required:
- messageId
- statusCode
- statusDesc
type: object
properties:
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric.
The values are specific to each method. For the details
of the various error codes returned for this method refer
to the "Error Codes" table.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
description: Success
'400':
description: Refer to the Error
Codes page for the list of error codes for this API.
content: {}
x-codegen-request-body-name: updatesupplier
x-operationVersions:
- label: v1
operationPointer: "#/paths/~1vpa~1v1~1supplier~1UpdateSupplier/post"
default: false
x-hideTryIt: true
"/vpa/v1/supplier/CreateSupplier":
post:
tags:
- Supplier Service
summary: Create Supplier
description: ''
operationId: Create Supplier
requestBody:
content:
application/json:
schema:
required:
- buyerId
- clientId
- messageId
- supplierAddressLine1
- supplierCity
- supplierCountryCode
- supplierId
- supplierName
- supplierType
type: object
properties:
stpId:
maxLength: 19
type: string
description: STP ID to be associated with supplier of type STP.
Format- 09. STPID is required new STP suppliers. You can get
the STPID for the supplier you want to pay using the supplier
matching service.
buyerId:
maxLength: 25
type: string
description: Buyer ID is the buyer identifier as defined in Visa
Payables Automation. Value format is 09.
clientId:
maxLength: 25
type: string
description: Client ID field is a unique identification of the financial
institution. This will be provided by Visa at the time of setup.
enablePin:
maxLength: 1
type: string
description: The EnablePin field is an indicator, which bank and
buyer uses to specify if PIN can be enabled at supplier level.
A supplier can set a PIN on his account only if EnablePin is set
to Y. This field is used only for DPS buyers. This field should
be set as Y only if bank and buyer are enabled for PIN.
messageId:
maxLength: 36
type: string
description: Unique identifier for this request. Each request sent
to VPA requires its own unique ID.
supplierId:
maxLength: 30
type: string
description: Identifier used by the buyer to identify the supplier.
This has to be unique for a buyer. It cannot contain spaces.
cardDetails:
type: object
properties:
actionType:
maxLength: 1
type: string
description: "Mode of account creation. Note- This field is
mandatory if the card details is added and for all clients,
except Visa Debit Processing Service clients. Possible values
are \n 1 - Request New Card (Request the card from the
processor) \n 2 - Add/Lodge Card Number (Supply the Card
account details as part of the request)"
accountType:
maxLength: 1
type: string
description: Account Type. Valid values are- 1- Lodged Adjustable
Limit account 2- Lodged account. Note- This field is required
only if the account is a new account which is not already
lodged to the supplier for which the payment is made.
proxyNumber:
maxLength: 19
type: string
description: Proxy number is required if the buyer is DPS or
the Account Type is 5.
accountLimit:
maxLength: 10
type: string
description: Credit limit of the account. Note- This field
is required only if the account is a new account which is
not already lodged to the supplier for which the payment is
made.
currencyCode:
maxLength: 3
type: string
description: Payment Currency Code. A valid ISO alpha currency
code should be passed. If the currency passed is not one
of the supported currencies setup in the buyer profile, the
payment will be rejected.
accountNumber:
maxLength: 19
type: string
description: "Account number can be an existing Visa account,
a new account in the VPA system, or a proxy number. If this
column is blank, the following logic is used for determining
the account number \n 1. Lodged account is used if there
is one for the supplier \n 2. If the supplier does not have
a lodged card account, system should pick the card account
from the pool based on the matrix in Account Picking logic
table."
expirationDate:
maxLength: 7
type: string
description: Account's expiry date. Note- This field is required
only if the account is a new account which is not already
lodged to the supplier for which the payment is made.
description: Card Details Class
supplierCity:
maxLength: 50
type: string
description: Supplier city.
supplierDate:
maxLength: 11
type: string
description: "This field contains the Supplier Date Format. This
is a mandatory field, if an empty value is supplied VPA will default
the value to the Buyer’s date format. The valid values are \n
\ MMDDYYYY DDMMYYYY \n YYYYMMDD DD/MM/YYYY \n
\ DD/MM/YY YYYY/MM/DD \n YY/MM/DD MM/DD/YYYY
\ \n MM/DD/YY DD/MMM/YYYY \n DD/MMM/YY YYYY/MMM/DD
\ \n YY/MMM/DD MMM/DD/YYYY \n MMMM/DD/YY DD-MM-YYYY
\ \n DD-MM-YY YYYY-MM-DD \n YY-MM-DD MM-DD-YYYY
\ \n MM-DD-YY DD-MMM-YY \n DD-MMM-YYYY YYYY-MMM-DD
\ \n YY-MMM-DD MMM-DD-YYYY \n MMM-DD-YY"
supplierName:
maxLength: 50
type: string
description: Name of supplier to be paid. It is mandatory for new
suppliers.
supplierType:
maxLength: 50
type: string
description: Type of supplier. Valid values are VPA STP
supplierState:
maxLength: 50
type: string
description: Supplier state.
supplierGLCode:
maxLength: 70
type: string
description: Supplier GL code.
securityAnswers:
type: array
description: This is a complex type element that contains another
complex type element.
items:
type: object
properties:
questionAnswer:
type: object
properties:
questionNumber:
maxLength: 1
type: string
description: Question number of a security question.
securityAnswer:
maxLength: 50
type: string
description: Answer of a security question.
description: Security Answers Class
supplierLanguage:
maxLength: 5
type: string
description: "Supplier language. The valid values and corresponding
language are \n fr_FR- Corresponds to the French language.
\ \n en_US- Corresponds to the English (US) language. \n
\ en_GB- Corresponds to the English (UK) language. \n es_ES-
Corresponds to the Spanish language. \n pt_BR- Corresponds
to the Brazilian Portugese language. \n English- Corresponds
to the English (US) language. \n IntlEnglish- Corresponds
to the English (UK) language. \n French- Corresponds to
the French language. \n SpanishLA- Corresponds to the Spanish
language. \n PortugueseBR- Corresponds to the Brazilian
Portugese language. \n German - Corresponds to the German
language.\n Italian - Corresponds to the Italian language."
suaExactMatchRule:
maxLength: 1
type: string
description: Specifies whether the Exact Match rule is to be enabled/disabled
for SUA(Single Use Accounts) payments. Valid values are Y/N. For a
lodged card payments ExactMatch rule will be always applied and value
in this field is ignored.
supplierPostalCode:
maxLength: 20
type: string
description: Supplier postal code. It is mandatory for new suppliers
and only if the country mandates it.
defaultCurrencyCode:
maxLength: 3
type: string
description: Default currency code. All ISO alphanumeric currency
codes will be supported. For example- USD. If default currency
code is not provided, buyer currency code is used. If the currency
code supplied is not setup in the allowable currencies in the
buyer profile, the request will be rejected.
primaryEmailAddress:
maxLength: 70
type: string
description: Supplier primary email address. The value is mandatory
in case the bank/buyer has the notification indicator set to Y.
supplierCountryCode:
maxLength: 3
type: string
description: Supplier country code. It is alphanumeric. VPA supports
all ISO alphanumeric country code.For example- USA.
securityCodeRequired:
maxLength: 1
type: string
description: Specifies whether security code (CVV2) is required
for a supplier to collect a payment. Possible values are Y and
N. If this field is not passed/set in the WS request then the
value of this field is defaulted to "N".
supplierAddressLine1:
maxLength: 100
type: string
description: Supplier address line 1.
supplierAddressLine2:
maxLength: 100
type: string
description: Supplier address line 2.
paymentExpirationDays:
maxLength: 3
type: string
description: Determines the number of days within which a supplier
must take his payment to avoid expiration of payment instruction.
Its value must be greater than zero. If this value is not provided,
payment expiry days set in the buyer profile is used.
paymentControlRequired:
maxLength: 1
type: string
description: Specifies whether the supplier is enabled for payment
controls. Valid values are Y N If this field is not passed/set
in the WS request then the value of this field is defaulted to
Y if the Default Auth Control is enabled in the buyer profile
else it is set to N.
alternateEmailAddresses:
type: array
description: This complex element can have up to five alternate
email addresses.
items:
type: object
properties:
alternateEmailAddress:
maxLength: 70
type: string
description: Supplier CC email address.
reminderNotificationDays:
maxLength: 2
type: string
description: Specifies how many days before payment expiration will
the reminder notification be sent. For example, if this value
is set to 4, reminder notification will be sent to the supplier
four days before payment expiration. This field is required if
the reminder notification required field is set to Y.
invoiceAttachmentRequired:
maxLength: 1
type: string
description: Invoice attachment indicator. Possible values are Y
and N. If this field is not passed/set in the WS request then
the value of this field is defaulted to N.
reminderNotificationRequired:
maxLength: 1
type: string
description: |-
Indicator to enable the supplier reminder notification feature. Possible values are Y and N. If this is not set or is set to N then reminder notification will not be sent to the supplier before payment expiration.
Note If the suppress supplier notification option is enabled for the
buyer, the reminder notification is not sent even if this flag is set to Y.
examples:
Default:
summary: Default
value:
supplierId: APISupp-102
supplierCity: FC
supplierAddressLine2: Address2
supplierAddressLine1: Address1
supplierDate: MMDDYYYY
defaultCurrencyCode: USD
enablePin: ''
buyerId: '9210101012'
supplierLanguage: en_US
primaryEmailAddress: test@visa.com
securityCodeRequired: Y
supplierGLCode: '12345'
cardDetails:
actionType: '1'
accountLimit: '100'
accountType: '1'
proxyNumber: ''
accountNumber: ''
currencyCode: ''
expirationDate: ''
invoiceAttachmentRequired: Y
ccEmailAddresses:
- test1@visa.com
- test2@visa.com
- test3@visa.com
- aaa@bb.com
- aaaa1@cc.com
securityAnswers:
- questionAnswer:
securityAnswer: Test
questionNumber: '1'
- questionAnswer:
securityAnswer: test2
questionNumber: '2'
- questionAnswer:
securityAnswer: test3
questionNumber: '3'
stpId: ''
supplierName: APISupp-102
clientId: B2BWS_1_1_9999
paymentExpirationDays: '10'
messageId: '1525731018854'
supplierPostalCode: '94404'
reminderNotificationDays: '9'
reminderNotificationRequired: Y
paymentControlRequired: Y
supplierState: CA
supplierCountryCode: USA
supplierType: VPA
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
CreateSupplierResponse:
required:
- messageId
- statusCode
- statusDesc
type: object
properties:
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric.
The values are specific to each method. For the details
of the various error codes returned for this method refer
to the "Error Codes" table below.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
accountNumber:
maxLength: 19
type: string
description: Account number used for processing the payment.
The account number will be masked in the response if the
corresponding Client ID is configured to be masked.
expirationDate:
maxLength: 6
type: string
description: Account expiration date. It is needed only for
Lodged (Fixed) type card accounts. The format is MMYYYY.
Note- Expiration Date is returned only if the "Account Type"
is 5 (reloadable).
accountRequestID:
maxLength: 13
type: string
description: A unique ID generated by the VPA system, which
the requester can use for checking the status of the card
account if it is requested from the processor.
description: Success
'400':
description: Refer to the Error
Codes page for the list of error codes for this API.
content: {}
x-codegen-request-body-name: createsupplier
x-operationVersions:
- label: v1
operationPointer: "#/paths/~1vpa~1v1~1supplier~1CreateSupplier/post"
default: false
"/pop/v1/hcs/healthCheckService":
post:
tags:
- Workflows
summary: Health Check Service
description: API for checking Health Check of the Application
operationId: healthCheck
requestBody:
content:
application/json:
schema:
type: object
responses:
'200':
description: OK
content:
application/json:
schema:
"$ref": "#/components/schemas/ApiDetailList"
'400':
description: Bad Request
servers:
- url: http://health-check-qa1.oce-np-sm-dpd-b-en.trusted.visa.com
description: Generated server url
x-operationVersions:
- label: v1 - Latest
operationPointer: "#/paths/~1pop~1v1~1hcs~1healthCheckService/post"
default: false
x-hideTryIt: true
"/pop/v1/recipes/Payment":
post:
tags:
- Workflows
summary: Payments Recipe
description: Composite API which handles process, resend and cancel payments.
operationId: recipes-payments
parameters:
- name: X-Payment-Action-Type
in: header
description: Describes what payment action is to be performed. It can be process,
resend or cancel
required: true
explode: false
schema:
type: string
enum:
- process
- cancel
- resend
- name: X-IPaaS
in: header
description: Describes what iPaaS is the source system for this request
required: true
explode: false
schema:
type: string
requestBody:
description: "Based on X-Payment-Action-Type Header, it can be - \r\n1. process
- Process Payment Request\r\n2. resend - Resend Payment Request\r\n3. cancel
- Cancel Payment Request"
content:
application/json:
schema:
description: "Based on X-Payment-Action-Type Header, it can be -\r\n1.
process \r\n2. resend \r\n3. cancel"
oneOf:
- "$ref": "#/components/schemas/ProcessPaymentRequest"
- "$ref": "#/components/schemas/ResendPaymentRequest"
- "$ref": "#/components/schemas/CancelPaymentRequest"
responses:
'201':
description: Created
content:
application/json:
schema:
oneOf:
- "$ref": "#/components/schemas/ProcessPaymentResponse"
- "$ref": "#/components/schemas/CancelPaymentResponse"
- "$ref": "#/components/schemas/ResendPaymentResponse"
'400':
description: Bad Request
content:
application/json:
schema:
"$ref": "#/components/schemas/POPErrorResponse"
examples:
POP Error Response:
value:
messageId: string
statusCode: 0
errorResponse:
errorItems:
- errorCode: string
errorDescription: string
statusDescription: string
x-operationVersions:
- label: v1 - Latest
operationPointer: "#/paths/~1pop~1v1~1recipes~1Payment/post"
default: false
x-hideTryIt: true
"/pop/v1/recipes/getPaymentDetails":
post:
tags:
- Workflows
summary: Get Payment Details - Recipe
description: GetPaymentDetails Recipe API
operationId: getPaymentDetails
parameters:
- name: X-IPaaS
in: header
description: Describes what iPaaS is the source system for this request
required: true
explode: false
schema:
type: string
requestBody:
description: Get Payment details request payload
content:
application/json:
schema:
"$ref": "#/components/schemas/GetPaymentDetailsRequest"
examples:
Get Payment Details - Recipe:
summary: Get Payment Details - Recipe
value:
fromDate: ''
toDate: ''
corporate_internal_id: 1-2-3029-11181
resultSetNo: '1'
buyerId: 11181
trackingNumber: 1691683534
status: A
responses:
'200':
description: OK
content:
application/json:
schema:
"$ref": "#/components/schemas/GetPaymentDetailsResponse"
'400':
description: Bad Request
content:
application/json:
schema:
"$ref": "#/components/schemas/POPErrorResponse-1"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
x-operationVersions:
- label: v1 - Latest
operationPointer: "#/paths/~1pop~1v1~1recipes~1getPaymentDetails/post"
default: false
x-hideTryIt: true
"/pop/v1/register/client":
post:
tags:
- Workflows
summary: Client Registration
description: This endpoint is used to enable auth for the client
requestBody:
description: Onboarding Request
content:
application/json:
schema:
"$ref": "#/components/schemas/OnboardingRequest"
examples:
Client registration Payload:
summary: Client registration Payload
value:
issuerId: 1-1-1940
accountingSoftware: QBO
messageId: '12121'
buyerId: '111812'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
"$ref": "#/components/schemas/OnboardingResponse"
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
messageId:
type: string
errorMessage:
type: string
x-operationVersions:
- label: v1 - Latest
operationPointer: "#/paths/~1pop~1v1~1register~1client/post"
default: false
x-hideTryIt: true
"/pop/v1/notification/generate":
post:
tags:
- Workflows
summary: Generate Notification
description: Generate notification
operationId: notification-generate
requestBody:
description: Notification Request
content:
application/json:
schema:
"$ref": "#/components/schemas/NotificationRequest"
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
"$ref": "#/components/schemas/NotificationResponse"
'400':
description: Bad Request
content:
application/json:
schema:
"$ref": "#/components/schemas/NotificationErrorResponse"
examples:
Example 1:
value:
messageId: string
statusCode: 0
errorResponse:
errorItems:
- errorCode: string
errorDescription: string
statusDescription: string
servers:
- url: https://api-orchestration-qa.oce-np-sm-dpd-b-en.trusted.visa.com
description: QA
x-operationVersions:
- label: v1 - Latest
operationPointer: "#/paths/~1pop~1v1~1notification~1generate/post"
default: false
x-hideTryIt: true
"/vpa/v1/proxy/UpdateProxyPool":
post:
tags:
- Single Use Account Pool Maintenance Service
summary: Update Proxy Pool
description: The Update operation, allows the consumer to update the details
of a proxy pool.
operationId: Update Proxy Pool
requestBody:
content:
application/json:
schema:
required:
- buyerId
- clientId
- messageId
- proxyAccountNumber
type: object
properties:
buyerId:
maxLength: 25
type: string
description: " Denotes the buyer identifier as defined in Visa Payables
Automation. This will be provided by the Visa implementation team.
Should be alphanumeric. No special characters except _ (Underscore)
and (Dash) are allowed. Should be an existing buyer ID in the
system and associated to the bank (associated to the client ID)."
clientId:
maxLength: 25
type: string
description: Denotes the client ID associated with the bank for
which the proxy is being setup. Should be alphanumeric and should
exist in the system. Visa will provide this during implementation.
messageId:
maxLength: 36
type: string
description: Unique identifier for identifying the request. Each
request sent to VPA requires its own unique ID.
creditLimit:
maxLength: 14
type: string
description: Denotes the credit limit associated with the proxy
pool. All accounts in the proxy pool will have the same credit
limit. Required only if the bank and buyer are enabled for bucketed
proxy. Should be an integer numeric value. Applicable only for
regular processor PANs.
reOrderCount:
maxLength: 9
type: string
description: Denotes the total number of accounts to be reordered
when the proxy pool has reached the Minimum Available Account.
This field is used only when the auto replenishment of the proxy
pool is enabled for the buyer. Should be an integer numeric value.
Required only if auto replenishment has been enabled for the buyer.
proxyPoolType:
maxLength: 1
type: string
description: 'Indicates if the Proxy pool is a multi use pool (meaning
the accounts are recycled) or a one time use pool (meaning the
accounts are used once and deleted). Valid values are: (1) Multi
Use Pool (2) One Time Use Pool. If not provided, the system defaults
to 1.'
enum:
- '1'
- '2'
proxyAccountType:
maxLength: 1
type: string
description: 'Denotes the account type. Valid values are: (1) SUA
adjustable (2) SUA. If not provided, the system defaults to 2
for VIP/VIPP accounts.'
enum:
- '1'
- '2'
initialOrderCount:
maxLength: 9
type: string
description: Denotes the total number of accounts which needs to
be ordered at the time of setting up the proxy pool. This field
is used only when the auto replenishment of the proxy pool is
enabled for the buyer. Should be an integer numeric value. Required
only if auto replenishment has been enabled for the buyer.
authControlEnabled:
type: boolean
description: Denotes if the auth control (VPC) is enabled for the
proxy pool or not. Should be set to True if the bank is mandated
for auth controls. Must be set to True for VIP and VPP account
pools.
proxyAccountNumber:
maxLength: 19
type: string
description: Denotes the proxy pool account number. Should be alphanumeric.
Should be an existing proxy pool number for the buyer. No special
characters except _ (Underscore) and (Dash) are allowed. If not
provided, system will return details of all proxies (up to 250
proxies) associated with the buyer.
fundingAccountNumber:
type: string
description: Denotes the funding account number which will be used
for generating the VIP or VPP accounts. The full 16 digits needs
to be passed for the VIP and VPP proxy pools. If not provided,
the system will use the default funding account.
minAvailableAccounts:
maxLength: 9
type: string
description: Denotes the minimum number of accounts that should
be available in the proxy pool at any given time. System reorders
accounts when the number of available accounts in the Ready to
Use status in the proxy pool is less than the value of this field
E.g. if set to 10,000, then accounts will be reordered when the
number of available accounts in the proxy pool is less than 10,000.
Required only if auto replenishment has been enabled for the buyer.
examples:
Default:
summary: Default
value:
authControlEnabled: true
clientId: B2BWS_1_1_9999
proxyAccountType: '2'
reOrderCount: '2'
minAvailableAccounts: '3'
proxyAccountNumber: TestProxyPool
proxyPoolType: '1'
messageId: '2020-03-01T03:47:20.000Z'
creditLimit: '10'
buyerId: '9999'
fundingAccountNumber: '4111111111111111'
initialOrderCount: '5'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
UpdateProxyPoolResponse:
required:
- messageId
- statusCode
- statusDesc
type: object
properties:
errors:
type: array
description: Errors List
items:
type: object
properties:
Error:
required:
- code
- statusDesc
type: object
properties:
code:
type: string
description: error code
statusDesc:
type: string
description: error description
messageId:
maxLength: 36
type: string
description: Unique ID which was sent in the request.
statusCode:
type: string
description: Status code of the response.
statusDesc:
type: string
description: Status description of the response. List of status
codes and descriptions can be found in the following link.
description: Success
examples:
Default:
summary: Default
value:
statusDesc: Proxypool account updated successfully.
proxyAccountNumber: TestA53
messageId: '1578984254588'
statusCode: PMUP000
'400':
description: Refer to the Error
Codes page for the list of error codes for this API.
content: {}
x-codegen-request-body-name: updateproxypool
x-operationVersions:
- label: v1 - Latest
operationPointer: "#/paths/~1vpa~1v1~1proxy~1UpdateProxyPool/post"
default: false
x-hideTryIt: true
"/vpa/v1/proxy/GetProxyPool":
post:
tags:
- Single Use Account Pool Maintenance Service
summary: Get Proxy Pool
description: The Get operation allows the consumer to get the details of a proxy.
operationId: Get Proxy Pool
requestBody:
description: Get Proxy Pool Request
content:
application/json:
schema:
required:
- buyerId
- clientId
- messageId
type: object
properties:
buyerId:
maxLength: 25
type: string
description: Denotes the buyer identifier as defined in Visa Payables
Automation. This will be provided by the issuer. Should be alphanumeric.
No special characters except _ (Underscore) and (Dash) are allowed.
Should be an existing buyer ID in the system and associated to
the bank (associated to the client ID).
clientId:
maxLength: 25
type: string
description: Denotes the client ID associated with the bank for
which the proxy is being setup. Should be alphanumeric and should
exist in the system. Visa will provide this during implementation.
messageId:
maxLength: 36
type: string
description: Unique identifier for identifying the request. Each
request sent to VPA requires its own unique ID.
proxyAccountNumber:
maxLength: 19
type: string
description: Denotes the Proxy Pool ID (or name of the proxy pool).
Should be alphanumeric. Should be an existing proxy pool number
for the buyer. No special characters except _ (Underscore) and (Dash)
are allowed. If not provided, system will return details of all
proxies (up to 250 proxies) associated with the buyer.
examples:
Default:
summary: Default
value:
clientId: B2BWS_1_1_9999
proxyAccountNumber: TestProxyPool
messageId: '2020-03-01T03:47:20.000Z'
buyerId: '9999'
required: true
responses:
'200':
description: Refer to the Error
Codes page for the list of error codes for this API.
content:
application/json:
schema:
type: object
properties:
GetProxyPoolResponse:
required:
- messageId
- statusCode
- statusDesc
type: object
properties:
errors:
type: array
description: Errors List
items:
required:
- code
type: object
properties:
code:
type: string
description: error code
description:
type: string
description: error description
messageId:
maxLength: 36
type: string
description: Unique ID which was sent in the request.
proxyList:
required:
- authControlEnabled
- creditLimit
- initialOrderCount
- minAvailableAccounts
- proxyAccountNumber
- proxyAccountType
- proxyPoolType
- reOrderCount
type: object
properties:
usedCards:
maxLength: 10
type: string
description: Total number of used accounts in the proxy
pool. These accoutns are currently in-use or still within
the hold period and will be become available again after
the hold period lapses, if applicable.
totalCards:
maxLength: 10
type: string
description: Denotes the total number of cards in the
proxy pool.
creditLimit:
maxLength: 14
type: string
description: Denotes the credit limit associated with
the proxy pool. All accounts in the proxy pool will
have the same credit limit. Required only if the bank
and buyer are enabled for bucketed proxy. Should be
an integer numeric value. Applicable only for regular
processor PANs.
deletedCards:
maxLength: 10
type: string
description: Total number of Deleted Accounts in the proxy
pool. These will not be used for any future requisitions.
reOrderCount:
maxLength: 9
type: string
description: Denotes the total number of accounts to be
reordered when the proxy pool has reached the Minimum
Available Account. This field is used only when the
auto replenishment of the proxy pool is enabled for
the buyer. Should be an integer numeric value. Required
only if auto replenishment has been enabled for the
buyer.
proxyPoolType:
maxLength: 1
type: string
description: 'Indicates if the Proxy pool is a multi use
pool (meaning the accounts are recycled) or a one time
use pool (meaning the accounts are used once and deleted).
Valid values are: (1) Multi Use Pool (2) One Time Use
Pool. If not provided, the system defaults to 1.'
enum:
- '1'
- '2'
availableCards:
maxLength: 10
type: string
description: Total number of active pseudo accounts in
the proxy pool. These are immediately available for
future requisitions.
proxyAccountType:
maxLength: 1
type: string
description: 'Denotes the account type. Valid values are:
(1) SUA adjustable (2) SUA. If not provided, the system
defaults to 2 for VIP/VIPP accounts.'
enum:
- '1'
- '2'
initialOrderCount:
maxLength: 9
type: string
description: Denotes the total number of accounts which
needs to be ordered at the time of setting up the proxy
pool. This field is used only when the auto replenishment
of the proxy pool is enabled for the buyer. Should be
an integer numeric value. Required only if auto replenishment
has been enabled for the buyer.
authControlEnabled:
type: boolean
description: Denotes if the auth control (VPC) is enabled
for the proxy pool or not. Should be set to True if
the bank is mandated for auth controls. Must be set
to True for VIP and VPP account pools.
proxyAccountNumber:
maxLength: 19
type: string
description: Denotes the Proxy Pool ID (or name of the
proxy pool). Should be alphanumeric. Should be an existing
proxy pool number for the buyer. No special characters
except _ (Underscore) and (Dash) are allowed. If not
provided, system will return details of all proxies
(up to 250 proxies) associated with the buyer.
fundingAccountNumber:
type: string
description: Denotes the funding account number which
will be used for generating the VIP or VPP accounts.
The full 16 digits needs to be passed for the VIP and
VPP proxy pools. If not provided, the system will use
the default funding account.
minAvailableAccounts:
maxLength: 9
type: string
description: Denotes the minimum number of accounts that
should be available in the proxy pool at any given time.
System reorders accounts when the number of available
accounts in the Ready to Use status in the proxy pool
is less than the value of this field E.g. if set to
10,000, then accounts will be reordered when the number
of available accounts in the proxy pool is less than
10,000. Required only if auto replenishment has been
enabled for the buyer.
description: Array containing the details of the proxies matching
the search criteria sent in the request.
statusCode:
maxLength: 6
type: string
description: Status code of the response.
statusDesc:
type: string
description: Status description of the response. List of status
codes and descriptions can be found in the following link.
description: Success
examples:
Default:
summary: Default
value:
proxyList:
- deletedCards: '0'
authControlEnabled: 'True'
usedCards: '3'
proxyAccountType: '2'
minAvailableAccounts: '3'
proxyAccountNumber: TestProxyPool
proxyPoolType: '2'
creditLimit: '10'
availableCards: '19'
reorderCount: '2'
totalCards: '22'
initialOrderCount: '5'
statusDesc: Get Proxy Pool Details retieved successfully
messageId: '2020-02-11T19:03:02.000Z'
statusCode: GP000
x-codegen-request-body-name: getproxypool
x-operationVersions:
- label: v1 - Latest
operationPointer: "#/paths/~1vpa~1v1~1proxy~1GetProxyPool/post"
default: false
x-hideTryIt: true
"/vpa/v1/proxy/ManageProxy":
post:
tags:
- Single Use Account Pool Maintenance Service
summary: Manage Proxy
description: ''
operationId: Manage Proxy
requestBody:
content:
application/json:
schema:
required:
- actionType
- buyerId
- clientId
- messageId
type: object
properties:
buyerId:
maxLength: 25
type: string
description: Buyer ID is the buyer identifier as defined in Visa
Payables Automation. Value format is 09.
clientId:
maxLength: 25
type: string
description: Client ID field is a unique identification of the financial
institution. This will be provided by Visa at the time of setup.
messageId:
maxLength: 36
type: string
description: Unique identifier for this request. Each request sent
to VPA requires its own unique ID.
actionType:
maxLength: 30
type: string
description: 1- Add account to proxy (no processor integration)
2- Update proxy account
3- Deactivate proxy account
4- Request proxy accounts (based on number records requested
to add to pool)
proxyAccountDetails:
type: object
properties:
proxyNumber:
maxLength: 19
type: string
description: Proxy number linked to the SUA pool to which the
specified account will be added.
accountLimit:
maxLength: 10
type: string
description: Credit limit of the account.
accountNumber:
maxLength: 16
type: string
description: Account number of the account that needs to be
added to the proxy pool. This field is required for action
type 1 (adding accounts to a proxy pool).
expirationDate:
maxLength: 6
type: string
description: Account's expiry date. Format is mm/yyyy
totalAccountsRequested:
maxLength: 5
type: string
description: Total number of accounts requested. This field
is applicable only when ActionType is 4 (bulk requesting accounts
to be added to a proxy pool).
description: This complex element contains the details of the account
to be added to the SUA proxy pool.
examples:
Default:
summary: Default
value:
actionType: 1
clientId: B2BWS_1_1_9999
messageId: '2017-04-06T03:47:20.000Z'
proxyAccountDetails:
accountLimit: 100
proxyNumber: 10000000000000000
accountNumber: 4111111111111111
expirationDate: 10/2020
buyerId: 9999
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
ManageProxyResponse:
required:
- messageId
- statusCode
- statusDesc
type: object
properties:
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric.
The values are specific to each method. For the details
of the various error codes returned for this method refer
to the "Error Codes" table.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
accountRequestId:
maxLength: 255
type: string
description: Card creation request ID associated with the
request. This ID is used for requesting single or multiple
card accounts from the processor.
description: Success
'400':
description: Error Codes
content:
application/json:
schema:
type: object
properties:
MPA001:
type: object
description: Proxy account added successfully.
MPA002:
type: object
description: Proxy account updated successfully.
MPA003:
type: object
description: Proxy account deactivated successfully.
MPA004:
type: object
description: Manage proxy accounts request failed with error.
MPA005:
type: object
description: Message ID is required.
MPA006:
type: object
description: Message ID cannot be more than 36 characters.
MPA007:
type: object
description: Message ID is duplicate.
MPA008:
type: object
description: Client ID is required.
MPA009:
type: object
description: Client ID cannot be more than 25 characters.
MPA010:
type: object
description: Invalid client ID.
MPA011:
type: object
description: Buyer ID is required.
MPA012:
type: object
description: Buyer ID cannot be more than 15 characters.
MPA013:
type: object
description: Invalid buyer ID.
MPA502:
type: object
description: Action type is mandatory.
MPA503:
type: object
description: Invalid action type.
MPA504:
type: object
description: Account number is required for Action types 1, 2,
and 3.
MPA505:
type: object
description: Expiration date is required for Action type 1.
MPA506:
type: object
description: ProxyAccountDetails tag is required.
MPA507:
type: object
description: ProxyAccountDetails tag can occur only once in the
request.
MPA508:
type: object
description: TotalAccountsRequested should contain only numbers.
MPA509:
type: object
description: TotalAccountsRequested is required for Action type
4.
MPA510:
type: object
description: TotalAccountsRequired must be between 1 to 100.
MPA511:
type: object
description: Proxy number provided does not match with buyer records.
MPA512:
type: object
description: Proxy number contains invalid characters.
MPA513:
type: object
description: Action type contains invalid characters.
MPA514:
type: object
description: Account limit contains invalid characters.
MPA515:
type: object
description: Account number contains invalid characters.
MPA516:
type: object
description: Invalid Visa account number.
MPA517:
type: object
description: Proxy number provided in the request is not active.
MPA518:
type: object
description: Account number provided in the request is already
associated with the proxy number.
MPA519:
type: object
description: Account number provided in the request is not associated
with the proxy number.
MPA520:
type: object
description: Account number provided in the request is already
deleted.
MPA521:
type: object
description: Account number cannot be deleted. It has open transactions.
MPA522:
type: object
description: New accounts cannot be requested. This proxy has
pending card requests.
MPA523:
type: object
description: Account number cannot be deleted. It has pending
VPC registration.
MPA524:
type: object
description: Account number belongs to a different proxy or different
proxy of a different buyer.
MPA525:
type: object
description: Proxy accounts requested successfully.
MPA527:
type: object
description: Account limit is applicable only for Lodged type
proxies.
MPA531:
type: object
description: Account limit does not match with proxy bucket amount.
MPA532:
type: object
description: Account currency code must match buyer currency code.
MPA533:
type: object
description: Expiration date cannot be updated for Account type
1.
MPA534:
type: object
description: Proxy number is required.
MPA535:
type: object
description: Expiration date should not be provided.
MPA536:
type: object
description: Account number should not be provided.
MPA537:
type: object
description: Currency code should not be provided.
MPA538:
type: object
description: TotalAccountsRequested should not be provided.
MPA539:
type: object
description: Currency code should be in 3 characters.
MPA540:
type: object
description: Currency code is invalid.
MPA541:
type: object
description: Account limit is mandatory.
MPA560:
type: object
description: Proxy number length should be between 1 and 19.
MPA566:
type: object
description: Account limit contains invalid characters.
MPA567:
type: object
description: Account limit cannot be more than XXXXXXXXXX.
MPA503a:
type: object
description: Account number is invalid.
MPA503b:
type: object
description: Expiration date is invalid, Supported date format
is MMYYYY.
x-codegen-request-body-name: manageproxy
x-operationVersions:
- label: v1 - Latest
operationPointer: "#/paths/~1vpa~1v1~1proxy~1ManageProxy/post"
default: false
"/vpa/v1/proxy/GetAccountStatus":
post:
tags:
- Single Use Account Pool Maintenance Service
summary: SUA Get Account Status
description: ''
operationId: SUA Get Account Status
requestBody:
content:
application/json:
schema:
required:
- ProxyNumber
- accountRequestID
- buyerId
- clientId
- messageId
type: object
properties:
buyerId:
maxLength: 25
type: string
description: Buyer ID is the buyer identifier as defined in Visa
Payables Automation (VPA). Value format is 09.
clientId:
maxLength: 25
type: string
description: Client ID field is a unique identification of the financial
institution. This will be provided by Visa at the time of setup.
messageId:
maxLength: 36
type: string
description: Unique identifier for this request. Each request sent
to VPA requires its own unique ID.
ProxyNumber:
maxLength: 19
type: string
description: Proxy number related to the account creation request.
accountRequestID:
maxLength: 25
type: string
description: A unique ID generated by the VPA system, which the
requester can use for checking the status of the card account
if it is requested from the processor.
examples:
Default:
summary: Default
value:
accountRequestId: 11423656
clientId: B2BWS_1_1_1940
messageId: '2017-04-06T03:47:20.000Z'
buyerId: 88888
proxyNumber: 10000000000000000
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
GetAccountResponse:
required:
- messageId
- statusCode
- statusDesc
- totalAccountsRequested
- totalRequestsFailed
- totalRequestsPending
- totalRequestsSucceeded
type: object
properties:
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric.
The values are specific to each method. For the details
of the various error codes returned for this method refer
to the "Error Codes" table.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
accountDetails:
type: array
description: This complex element contains the details of
accounts which has been already created successfully.
items:
type: object
properties:
accountLimit:
maxLength: 10
type: string
description: Credit limit of the account.
accountNumber:
maxLength: 16
type: string
description: Account number used for processing the
payment. The account number will be masked in the
response if the corresponding Client ID is configured
to be masked.
expirationDate:
maxLength: 6
type: string
description: Account expiration date. It is needed only
for Lodged (Fixed) type card accounts. The format
is MMYYYY. Note- Expiration Date is returned only
if the "Account Type" is 5 (reloadable).
totalRequestsFailed:
maxLength: 3
type: string
description: Total number of account creation requests that
failed.
totalRequestsPending:
maxLength: 3
type: string
description: Total number of account creation requests that
are pending.
totalAccountsRequested:
maxLength: 3
type: string
description: Total number of accounts requested.
totalRequestsSucceeded:
maxLength: 3
type: string
description: Total number of accounts successfully created.
description: Success
'400':
description: Error Codes
content:
application/json:
schema:
type: object
properties:
GAS005:
type: object
description: Message ID is required.
GAS006:
type: object
description: Message ID cannot be more than 36 characters.
GAS007:
type: object
description: Message ID is duplicate.
GAS008:
type: object
description: Client ID is required.
GAS009:
type: object
description: Client ID cannot be more than 25 characters.
GAS010:
type: object
description: Invalid client ID.
GAS011:
type: object
description: Buyer ID is required.
GAS012:
type: object
description: Buyer ID cannot be more than 15 characters.
GAS013:
type: object
description: Invalid buyer ID.
GAS511:
type: object
description: Bank and buyer should be activated for CVV2.
GAS512:
type: object
description: Security code unavailable. Contact your buyer.
GAS517:
type: object
description: Proxy number provided in the request is not active.
GAS531:
type: object
description: Get account status co'MPleted successfully.
GAS532:
type: object
description: GetAccount request failed with error.
GAS533:
type: object
description: Account request ID contains invalid characters.
GAS534:
type: object
description: Account request ID does not exist.
GAS535:
type: object
description: Account request ID is required.
GAS536:
type: object
description: Account request ID cannot be more than 10 characters.
GAS537:
type: object
description: Account request ID is not associated with this proxy
number.
GAS538:
type: object
description: Account request ID is not associated with this proxy
number and with this buyer.
GAS539:
type: object
description: Account creation is still in progress.
GAS727:
type: object
description: Proxy number is required.
x-codegen-request-body-name: getaccountstatus
x-operationVersions:
- label: v1 - Latest
operationPointer: "#/paths/~1vpa~1v1~1proxy~1GetAccountStatus/post"
default: false
"/vpa/v1/proxy/DeleteProxyPool":
delete:
tags:
- Single Use Account Pool Maintenance Service
summary: Delete Proxy Pool
description: The Delete operation allows the consumer to delete a proxy pool
from a buyer.
operationId: Delete Proxy Pool
requestBody:
content:
application/json:
schema:
required:
- buyerId
- clientId
- messageId
- proxyAccountNumber
type: object
properties:
buyerId:
maxLength: 25
type: string
description: " Denotes the buyer identifier as defined in Visa Payables
Automation. This will be provided by the Visa implementation team.
Should be alphanumeric. No special characters except _ (Underscore)
and (Dash) are allowed. Should be an existing buyer ID in the
system and associated to the bank (associated to the client ID)."
clientId:
maxLength: 25
type: string
description: Denotes the client ID associated with the bank for
which the proxy is being setup. Should be alphanumeric and should
exist in the system. Visa will provide this during implementation.
messageId:
maxLength: 36
type: string
description: Unique identifier for identifying the request. Each
request sent to VPA requires its own unique ID.
proxyAccountNumber:
maxLength: 19
type: string
description: Denotes the proxy pool account number. Should be alphanumeric.
Should be an existing proxy pool number for the buyer. No special
characters except _ (Underscore) and (Dash) are allowed. If not
provided, system will return details of all proxies (up to 250
proxies) associated with the buyer.
examples:
Default:
summary: Default
value:
clientId: B2BWS_1_1_9999
proxyAccountNumber: TestProxyPool
messageId: '2020-03-01T03:47:20.000Z'
buyerId: '9999'
required: true
responses:
'200':
description: ok
content:
application/json:
schema:
type: object
properties:
DeleteProxyPoolResponse:
required:
- messageId
- statusCode
- statusDesc
type: object
properties:
errors:
type: array
description: Errors List
items:
type: object
properties:
Error:
required:
- code
- statusDesc
type: object
properties:
code:
type: string
description: error code
statusDesc:
type: string
description: error description
messageId:
maxLength: 36
type: string
description: Unique ID which was sent in the request.
statusCode:
type: string
description: Status code of the response.
statusDesc:
type: string
description: Status description of the response. List of status
codes and descriptions can be found in the following link.
description: Success
examples:
Default:
summary: Default
value:
statusDesc: Proxy Pool Account deleted successfully
proxyAccountNumber: TestProxyPool
messageId: '2020-02-11T19:11:03.000Z'
statusCode: DP000
'400':
description: Refer to the Error
Codes page for the list of error codes for this API.
content: {}
x-codegen-request-body-name: deleteproxypool
x-operationVersions:
- label: v1 - Latest
operationPointer: "#/paths/~1vpa~1v1~1proxy~1DeleteProxyPool/delete"
default: false
x-hideTryIt: true
"/vpa/v1/proxy/CreateProxyPool":
post:
tags:
- Single Use Account Pool Maintenance Service
summary: Create Proxy Pool
description: The Create operation allows the consumer to create a new proxy
pool for a buyer.
operationId: Create Proxy Pool
requestBody:
content:
application/json:
schema:
required:
- buyerId
- clientId
- messageId
- proxyAccountNumber
type: object
properties:
buyerId:
maxLength: 25
type: string
description: Denotes the buyer identifier as defined in Visa Payables
Automation. This will be provided by the Visa implementation team.
Should be alphanumeric. No special characters except _ (Underscore)
and (Dash) are allowed. Should be an existing buyer ID in the
system and associated to the bank (associated to the client ID).
clientId:
maxLength: 25
type: string
description: Denotes the client ID associated with the bank for
which the proxy is being setup. Should be alphanumeric and should
exist in the system. Visa will provide this during implementation.
messageId:
maxLength: 36
type: string
description: Unique identifier for identifying the request. Each
request sent to VPA requires its own unique ID.
creditLimit:
maxLength: 14
type: string
description: Denotes the credit limit associated with the proxy
pool. All accounts in the proxy pool will have the same credit
limit. Required only if the bank and buyer are enabled for bucketed
proxy. Should be an integer numeric value. Applicable only for
regular processor PANs.
reOrderCount:
maxLength: 9
type: string
description: Denotes the total number of accounts to be reordered
when the proxy pool has reached the Minimum Available Account.
This field is used only when the auto replenishment of the proxy
pool is enabled for the buyer. Should be an integer numeric value.
Required only if auto replenishment has been enabled for the buyer.
proxyPoolType:
maxLength: 1
type: string
description: 'Indicates if the Proxy pool is a multi use pool (meaning
the accounts are recycled) or a one time use pool (meaning the
accounts are used once and deleted). Valid values are: (1) Multi
Use Pool (2) One Time Use Pool. If not provided, the system defaults
to 1.'
enum:
- '1'
- '2'
proxyAccountType:
maxLength: 1
type: string
description: 'Denotes the account type. Valid values are: (1) SUA
adjustable (2) SUA. If not provided, the system defaults to 2
for VIP/VIPP accounts.'
enum:
- '1'
- '2'
initialOrderCount:
maxLength: 9
type: string
description: Denotes the total number of accounts which needs to
be ordered at the time of setting up the proxy pool. This field
is used only when the auto replenishment of the proxy pool is
enabled for the buyer. Should be an integer numeric value. Required
only if auto replenishment has been enabled for the buyer.
authControlEnabled:
type: boolean
description: Denotes if the auth control (VPC) is enabled for the
proxy pool or not. Should be set to True if the bank is mandated
for auth controls. Must be set to True for VIP and VPP account
pools.
proxyAccountNumber:
maxLength: 19
type: string
description: Denotes the proxy pool account number. Should be alphanumeric.
Should be an existing proxy pool number for the buyer. No special
characters except _ (Underscore) and (Dash) are allowed. If not
provided, system will return details of all proxies (up to 250
proxies) associated with the buyer.
fundingAccountNumber:
type: string
description: Denotes the funding account number which will be used
for generating the VIP or VPP accounts. The full 16 digits needs
to be passed for the VIP and VPP proxy pools. If not provided,
the system will use the default funding account.
minAvailableAccounts:
maxLength: 9
type: string
description: Denotes the minimum number of accounts that should
be available in the proxy pool at any given time. System reorders
accounts when the number of available accounts in the Ready to
Use status in the proxy pool is less than the value of this field
E.g. if set to 10,000, then accounts will be reordered when the
number of available accounts in the proxy pool is less than 10,000.
Required only if auto replenishment has been enabled for the buyer.
examples:
Default:
summary: Default
value:
authControlEnabled: true
clientId: B2BWS_1_1_9999
proxyAccountType: '2'
reOrderCount: '2'
minAvailableAccounts: '3'
proxyAccountNumber: TestProxyPool
proxyPoolType: '1'
messageId: '2020-03-01T03:47:20.000Z'
buyerId: '9999'
fundingAccountNumber: '4111111111111111'
initialOrderCount: '5'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
CreateProxyPoolResponse:
required:
- messageId
- statusCode
- statusDesc
type: object
properties:
errors:
type: array
description: Errors List
items:
type: object
properties:
Error:
required:
- code
- statusDesc
type: object
properties:
code:
type: string
description: error code
statusDesc:
type: string
description: error description
messageId:
maxLength: 36
type: string
description: Unique ID which was sent in the request.
statusCode:
type: string
description: Status code of the response.
statusDesc:
type: string
description: Status description of the response. List of status
codes and descriptions can be found in the following link.
description: Success
examples:
Default:
summary: Default
value:
statusDesc: Proxy Pool account created successfully
proxyAccountNumber: '1234567898'
messageId: '1536776321'
statusCode: CP000
'400':
description: Refer to the Error
Codes page for the list of error codes for this API.
content: {}
x-codegen-request-body-name: createproxypool
x-operationVersions:
- label: v1 - Latest
operationPointer: "#/paths/~1vpa~1v1~1proxy~1CreateProxyPool/post"
default: false
x-hideTryIt: true
"/vpa/v1/payment/GetPaymentDetailURL":
post:
tags:
- Payment Service
summary: Get Payment Detail URL
description: ''
operationId: Get Payment Detail URL
requestBody:
content:
application/json:
schema:
required:
- buyerId
- clientId
- messageId
- originalMessageId
type: object
properties:
buyerId:
maxLength: 25
type: string
description: Buyer ID is the buyer identifier as defined in Visa
Payables Automation. Value format is 09.
clientId:
maxLength: 25
type: string
description: Client ID field is a unique identification of the financial
institution. This will be provided by Visa at the time of setup.
messageId:
maxLength: 36
type: string
description: Unique identifier for this request. Each request sent
to VPA requires its own unique ID.
accountNumber:
maxLength: 19
type: string
description: An existing Visa card account. Values- 09. Note- If
the account number is passed, it should correspond to the card
account number used for the payment.
originalMessageId:
maxLength: 36
type: string
description: The messageID of the original process payment request
for which the URL is needed.
examples:
Default:
summary: Default
value:
clientId: B2BWS_1_1_9999
messageId: '2017-04-06T03:47:20.000Z'
originalMessageId: 1486634011147
buyerId: 9999
accountNumber: 411111111111111
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
GetPaymentURLResponse:
required:
- messageId
- statusCode
- statusDesc
type: object
properties:
url:
maxLength: 400
type: string
description: URL for the credential verification application
which will authenticate the user before presenting the payment
details.
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric.
The values are specific to each method. For the details
of the various error codes returned for this method refer
to the "Error Codes" table below
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
description: Success
'400':
description: Error Codes
content:
application/json:
schema:
type: object
properties:
GURL001:
type: object
description: URL received successfully.
GURL003:
type: object
description: Invalid Client ID.
GURL004:
type: object
description: Invalid buyer ID
GURL005:
type: object
description: Invalid account number.
GURL025:
type: object
description: Bank or buyer is not subscribed.
GURL030:
type: object
description: Original message ID does not exist.
GURL035:
type: object
description: MessageID is required and cannot be more than 36
characters.
GURL043:
type: object
description: Original message ID is required and cannot be more
than 36 characters.
GURL161:
type: object
description: Payment has already expired.
GURL165:
type: object
description: URL generation is in progress.
GURL166:
type: object
description: URL generation failed.
GURL167:
type: object
description: Payment was not processed successfully or is in progress.
x-codegen-request-body-name: getpaymenturl
x-operationVersions:
- label: v1 - Latest
operationPointer: "#/paths/~1vpa~1v1~1payment~1GetPaymentDetailURL/post"
default: false
x-hideTryIt: true
"/vpa/v1/payment/GetPaymentDetails":
post:
tags:
- Payment Service
summary: Get Payment Details
description: ''
operationId: Get Payment Details
requestBody:
content:
application/json:
schema:
required:
- buyerId
- clientId
- messageId
- resultSetNo
type: object
properties:
status:
maxLength: 1
type: string
description: Status of payment. If you would like to get the details
of payments in a particular status, you can pass it in this field. The
status will be used along with the date range filter if specified
to get the payments.
Valid values are M-Matched, U- UnMatched,
R-Rejected, E-Expired, O-Error, A-All, C-Canceled.
toDate:
maxLength: 8
type: string
description: Specifies the end of date range. Format is MMDDYYYY
buyerId:
maxLength: 25
type: string
description: Buyer ID is the buyer identifier as defined in Visa
Payables Automation. Value format is 09.
clientId:
maxLength: 25
type: string
description: Client ID field is a unique identification of the financial
institution. This will be provided by Visa at the time of setup.
fromDate:
maxLength: 8
type: string
description: Specifies the beginning of date range for which the
payment details is requested. Format is MMDDYYYY. If "FromDate"
and "ToDate" is not provided, the system will retrieve the last
9 months data.
Note- The system retrieves only last
250 payments made during the specified date range sent in the
initial request. User can make subsequent calls to retrieve additional
data.
messageId:
maxLength: 36
type: string
description: Unique identifier for this request. Each request sent
to VPA requires its own unique ID.
resultSetNo:
maxLength: 3
type: string
description: Result Set Number.
trackingNumber:
maxLength: 36
type: string
description: The MessageID of the original process payment request
for which the payment is needed.
examples:
Default:
summary: Default
value:
fromDate: '02082017'
clientId: B2BWS_1_1_9999
toDate: '02082017'
messageId: '2017-04-06T03:47:20.000Z'
resultSetNo: '1'
buyerId: 9999
trackingNumber: 9999999958
status: A
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
GetPaymentResponse:
required:
- hasMoreElements
- messageId
- resultSetNo
- statusCode
- statusDesc
- totalRecordCount
type: object
properties:
payments:
required:
- accountNumber
- currencyCode
- paymentExpiryDate
- paymentGrossAmount
type: object
properties:
invoices:
type: array
description: This complex element contains the details
about the invoices associated with the payment.
items:
type: object
properties:
invoiceDate:
maxLength: 10
type: string
description: This contains the date of the invoice
being paid. Format is yyyy-MM-dd
invoiceAmount:
type: number
description: Invoice amount. maximum length is 16.
Maximum number of decimals is two.Format is XXXXXXXXXX9999.99
invoiceNumber:
maxLength: 30
type: string
description: Invoice Number.
purchaseOrderDate:
maxLength: 10
type: string
description: 'This contains the date on which the purchase
order was created. Format is YYYY-MM-DD '
purchaseOrderNumber:
maxLength: 20
type: string
description: This contains the purchase order number
associated with the invoice.
partialPaymentIndicator:
maxLength: 3
type: string
description: This field is used to indicate a partial
payment. Valid values are Yes, No.
supplier:
required:
- supplierID
type: object
properties:
supplierID:
maxLength: 30
type: string
description: Identifier used by the buyer to identify
the supplier. This has to be unique for a buyer.
It cannot contain spaces.
supplierName:
maxLength: 50
type: string
description: Name of supplier to be paid. It is mandatory
for new suppliers.
primaryEmailAddress:
maxLength: 70
type: string
description: Email address
alternateEmailAddresses:
type: array
description: This complex element can have up to five
alternate email addresses.
items:
type: object
properties:
localAlternateEmailAddress:
maxLength: 70
type: string
description: Supplier CC email address.
description: Supplier Class
paymentType:
maxLength: 1
type: string
description: "Type of payment processing- \n 1 - Payment
Instruction \n 2 - Payment Requisition"
currencyCode:
maxLength: 3
type: string
description: Payment currency code. ISO alpha currency
code will be returned in the response.
accountNumber:
maxLength: 19
type: string
description: Account number used for making the payment.
manualMatchStatus:
maxLength: 10
type: string
description: 'Valid values are I or G - Reconciled U
- Unreconciled P - Partially Reconciled Y - Forcibly
Reconciled '
paymentExpiryDate:
maxLength: 10
type: string
description: 'The date by which a supplier must collect
this payment. Format is YYYY-MM-DD. '
systemMatchStatus:
maxLength: 10
type: string
description: Valid values are Matched, Unmatched, and
Expired.
paymentDescription:
type: string
description: Description of the payment.
paymentGrossAmount:
maxLength: 16
type: string
description: Payment gross amount. Format is 99999999999999.99
paymentRequestDate:
maxLength: 10
type: string
description: 'Payment requested date. Format is YYYY-MM-DD. '
description: Payments Class.
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric.
The values are specific to each method. For the details
of the various error codes returned for this method refer
to the "Error Codes" table below.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
resultSetNo:
maxLength: 3
type: string
description: Result Set Number.
hasMoreElements:
maxLength: 1
type: string
description: Value is "Y" if more records available. Value
is "N" if there are no more records available.
totalRecordCount:
maxLength: 20
type: string
description: Total Payment Records Count for the requested
parameters.
description: OK
'400':
description: Error Codes
content:
application/json:
schema:
type: object
properties:
GPD002:
type: object
description: Message id is not Unique
GPD005:
type: object
description: Message ID is required.
GPD006:
type: object
description: Message ID cannot be more than 36 characters.
GPD007:
type: object
description: Message ID is duplicate.
GPD008:
type: object
description: Client ID is required.
GPD009:
type: object
description: Client ID cannot be more than 25 characters.
GPD010:
type: object
description: Invalid client ID.
GPD011:
type: object
description: Buyer ID is required.
GPD012:
type: object
description: Buyer ID cannot be more than 15 characters.
GPD013:
type: object
description: Invalid buyer ID.
GPD539:
type: object
description: Get Payment Details completed successfully.
GPD540:
type: object
description: Get Payment Details failed with error.
GPD541:
type: object
description: Tracking number does not belong to this buyer.
GPD542:
type: object
description: Tracking number contains invalid characters.
GPD543:
type: object
description: Tracking number should not be more than 10 characters.
GPD544:
type: object
description: Tracking number does not exist in the system.
GPD545:
type: object
description: Status code contains invalid characters.
GPD546:
type: object
description: Invalid status code.
GPD547:
type: object
description: Status code should not be more than 1 character.
GPD548:
type: object
description: Invalid From Date format.
GPD549:
type: object
description: From Date should not be more than 6 characters.
GPD550:
type: object
description: From Date should not be in the future.
GPD551:
type: object
description: From Date contains invalid characters.
GPD552:
type: object
description: Invalid To Date format.
GPD553:
type: object
description: To Date should not be more than 6 characters.
GPD554:
type: object
description: To Date should not be in the past.
GPD555:
type: object
description: To Date contains invalid characters.
GPD556:
type: object
description: To Date should be greater than From Date
GPD602:
type: object
description: The value you passed in the ResultSetNo field is
invalid
x-codegen-request-body-name: getpaymentdetails
x-operationVersions:
- label: v1 - Latest
operationPointer: "#/paths/~1vpa~1v1~1payment~1GetPaymentDetails/post"
default: false
"/vpa/v1/payment/ResendPayment":
post:
tags:
- Payment Service
summary: Resend Payment
description: ''
operationId: Resend Payment
requestBody:
content:
application/json:
schema:
required:
- buyerId
- clientId
- messageId
- originalMessageId
type: object
properties:
buyerId:
maxLength: 25
type: string
description: Buyer ID is the buyer identifier as defined in Visa
Payables Automation. Value format is 09.
clientId:
maxLength: 25
type: string
description: Client ID field is a unique identification of the financial
institution. This will be provided by Visa at the time of setup.
messageId:
maxLength: 36
type: string
description: Unique identifier for this request. Each request sent
to VPA requires its own unique ID.
emailNotes:
maxLength: 256
type: string
description: This contains the text to be included on email notifications
and remittance advice. If this field is not provided, the value
from the original request will be used.
accountNumber:
maxLength: 19
type: string
description: An existing Visa card account. Values are 09. Note-
If the account number is passed, it should correspond to the card
account number used for the payment.
expirationDate:
maxLength: 10
type: string
description: The date by which a supplier must collect his payment.
Format is YYYY-MM-DD
originalMessageId:
maxLength: 36
type: string
description: The messageID of the original process payment request
that is being resent.
primaryEmailAddress:
maxLength: 70
type: string
description: This contains the email address for the supplier that
will receive the payment instruction. It must be a valid email
address. If the primary email address is provided, the payment
advice will be sent to the new primary email address provided
in the request. If it is not, the email address in the original
request will be used.
alternateEmailAddresses:
type: array
description: This complex element will contain up to five alternate
email addresses.
items:
type: object
properties:
localAlternateEmailAddress:
maxLength: 70
type: string
description: Supplier CC email address.
supplierProfileUpdateIndicator:
maxLength: 1
type: string
description: This field contains value as Y if supplier profile
has to be updated and N if supplier profile should not be updated.
By default, the system will not update the supplier profile with
the new values sent in the request.
examples:
Default:
summary: Default
value:
alternateEmailAddresses:
- alternateEmailAddress: aaa1@bbb.com
- alternateEmailAddress: aaa2@bbb.com
- alternateEmailAddress: aaa3@bbb.com
- alternateEmailAddress: aaa4@bbb.com
- alternateEmailAddress: aaa5@bbb.com
emailNotes: resend payment
clientId: B2BWS_1_1_9999
supplierProfileUpdateIndicator: Y
messageId: '2017-04-06T03:47:20.000Z'
originalMessageId: 1486626459243
buyerId: 9999
accountNumber: 4111111111111111
primaryEmailAddress: aaa@bbb.com
expirationDate: '2017-03-30'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
ResendResponse:
required:
- messageId
- statusCode
- statusDesc
type: object
properties:
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric.
The values are specific to each method. For the details
of the various error codes returned for this method refer
to the "Error Codes" table.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
description: Success
'400':
description: Error Codes
content:
application/json:
schema:
type: object
properties:
RSP001:
type: object
description: Resend Payment initiated successfully.
RSP003:
type: object
description: Invalid Client ID.
RSP004:
type: object
description: Invalid buyer ID.
RSP005:
type: object
description: Invalid account number.
RSP012:
type: object
description: Invalid primary email address.
RSP013:
type: object
description: Invalid alternate email address.
RSP025:
type: object
description: Bank is not subscribed.
RSP029:
type: object
description: Original message ID and account number do not match.
RSP030:
type: object
description: Original message ID does not exist.
RSP035:
type: object
description: Invalid message ID.
RSP043:
type: object
description: Invalid original message ID.
RSP049:
type: object
description: ExpirationDate is invalid. Supported date format
is YYYY-MM-DD.
RSP161:
type: object
description: Payment has already expired.
RSP162:
type: object
description: SupplierProfileUpdateIndicator is invalid.
RSP163:
type: object
description: PrimaryEmailAddress is required.
RSP167:
type: object
description: Payment was not processed successfully or is in progress.
RSP173:
type: object
description: Invalid email notes.
RSP182:
type: object
description: Invalid alternate address tag.
RSP186:
type: object
description: Expiration Date is invalid. Expiration Date cannot
be past date
RSP029a:
type: object
description: Original message ID and account number do not match.
x-codegen-request-body-name: resendpayment
x-operationVersions:
- label: v1 - Latest
operationPointer: "#/paths/~1vpa~1v1~1payment~1ResendPayment/post"
default: false
"/pop/v1/recipes/processPayment":
post:
tags:
- Payment Service
summary: Process Payment - Recipe
description: ProcessPayment Recipe API
requestBody:
description: Process payment request payload
content:
application/json:
schema:
"$ref": "#/components/schemas/ProcessPaymentRequestDTO"
examples:
Process Payment Recipe:
summary: Process Payment Recipe
value:
actionType: 1
corporate_internal_id: 1-2-3029-11181
payment:
cardAccountExpiryDate: 10/2025
paymentExpiryDate: '2025-03-10'
accountLimit: 100
invoices:
- purchaseOrderDate: '2017-02-01'
purchaseOrderNumber: PO1234
invoiceNumber: INV01
invoiceAmount: 100
invoiceDate: '2017-02-01'
- purchaseOrderDate: '2017-03-01'
purchaseOrderNumber: PO1234
invoiceNumber: INV02
invoiceAmount: 200
invoiceDate: '2017-03-01'
supplier:
supplierName: TestVPASupplier111111
alternateEmailAddresses:
- alternateEmailAddress: aaa1@bbb.com
- alternateEmailAddress: aaa2@bbb.com
- alternateEmailAddress: aaa3@bbb.com
- alternateEmailAddress: aaa4@bbb.com
- alternateEmailAddress: aaa5@bbb.com
emailNotes: Email Notes
supplierID: 111111
supplierCity: Austin
supplierAddressLine2: Address2
supplierAddressLine1: Address1
supplierState: TX
supplierCountryCode: USA
supplierPostalCode: 78759
primaryEmailAddress: aaa@bbb.com
accountType: 1
accountNumber: 48X7XXXX6XX7XX369
currencyCode: USD
paymentGrossAmount: 300
paymentRequestDate: '2017-02-01'
paymentType: CCC
buyerId: 11181
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
'201':
description: Created
content: {}
'401':
description: Unauthorized
content: {}
'403':
description: Forbidden
content: {}
'404':
description: Not Found
content: {}
x-codegen-request-body-name: processPaymentRequestDTO
x-operationVersions:
- label: v1 - Latest
operationPointer: "#/paths/~1pop~1v1~1recipes~1processPayment/post"
default: false
x-hideTryIt: true
"/vpa/v1/payment/CancelPayment":
post:
tags:
- Payment Service
summary: Cancel Payment
description: ''
operationId: Cancel Payment
requestBody:
content:
application/json:
schema:
required:
- buyerId
- clientId
- messageId
- originalMessageId
type: object
properties:
buyerId:
maxLength: 15
type: string
description: Buyer ID is the buyer identifier as defined in Visa
Payables Automation. Value format is 09.
clientId:
maxLength: 50
type: string
description: Client ID field is a unique identification of the financial
institution. This will be provided by Visa at the time of setup.
messageId:
maxLength: 36
type: string
description: Unique identifier for this request. Each request sent
to VPA requires its own unique ID.
cancelReason:
maxLength: 255
type: string
description: Contains the reason for canceling the payment.
accountNumber:
maxLength: 19
type: string
description: An existing Visa card account. Values are 09. Note-
If the account number is passed, it should correspond to the card
account number used for the payment.
originalMessageId:
maxLength: 36
type: string
description: The messageId of the original process payment request
that is being canceled.
examples:
Default:
summary: Default
value:
clientId: B2BWS_1_1_9999
messageId: '2017-04-06T03:47:20.000Z'
originalMessageId: 9999999958
buyerId: 9999
cancelReason: cancel payment
accountNumber: 4111111111111111
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
CancelResponse:
required:
- grossAmount
- messageID
- statusCode
- statusDesc
- supplierName
type: object
properties:
messageID:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric.
The values are specific to each method. For the details
of the various error codes returned for this method refer
to the "Error Codes" table
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
supplierID:
maxLength: 20
type: string
description: Identifier used by the buyer to identify the
supplier. This is the supplier id of the supplier whose
payment is being canceled.
grossAmount:
maxLength: 50
type: string
description: Contains the payment gross amount of the payment
being cancelled
supplierName:
maxLength: 50
type: string
description: Name of supplier whose payment is being canceled.
description: Success
'400':
description: Error Codes
content:
application/json:
schema:
type: object
properties:
CP002:
type: object
description: The message ID sent in the request should be unique
for each request.
CP003:
type: object
description: The client ID sent in the request is not found in
the system.
CP004:
type: object
description: The buyer information sent in the request is not
set up in the system.
CP025:
type: object
description: The bank or buyer has not been set up in VPA yet.
CP029:
type: object
description: The account number and the original message ID combination
is not found in the system.
CP030:
type: object
description: The original message ID sent in the request is not
be found in the system.
CP031:
type: object
description: The payment identified by the original message ID
has already been collected by the supplier.
CP032:
type: object
description: Cancel payment is not supported for DPS buyers.
CP037:
type: object
description: A system error occurred while canceling the payment.
Please try your request after sometime. If the issue persist,
contact your system administrator.
CP038:
type: object
description: Cancel payment is not supported for STP payments.
CP161:
type: object
description: The payment identified by the original message ID
has already been canceled.
CP162:
type: object
description: Payment is already canceled.
CP167:
type: object
description: The payment identified by the original message ID
cannot be canceled because the original payment was not processed
successfully.
x-codegen-request-body-name: cancelPayment
x-operationVersions:
- label: v1 - Latest
operationPointer: "#/paths/~1vpa~1v1~1payment~1CancelPayment/post"
default: false
"/vpa/v1/payment/ProcessPayments":
post:
tags:
- Payment Service
summary: Process Payments
description: ''
operationId: Process Payments
requestBody:
content:
application/json:
schema:
required:
- actionType
- buyerId
- clientId
- messageId
- payment
type: object
properties:
buyerId:
maxLength: 25
type: string
description: Buyer ID is the buyer identifier as defined in Visa
Payables Automation. Value format is 09.
payment:
required:
- currencyCode
- paymentGrossAmount
type: object
properties:
invoices:
type: array
description: This complex element contains the details about
the invoice associated with the payment.
items:
type: object
properties:
invoiceDate:
maxLength: 10
type: string
description: This contains the date of the invoice being
paid. Format is MM/DD/YY.
invoiceAmount:
maxLength: 16
type: string
description: Invoice amount. maximum length is 16. Maximum
number of decimals is two. Format is XXXXXXXXXX9999.99
invoiceNumber:
maxLength: 30
type: string
description: Invoice Number.
referenceFields:
type: array
description: Reference value which the buyer wants to
pass as part of the payment. The buyer can send any
reference information about the payment as part of this
field. This field value can be optionally included
in email notifications to suppliers and in the reconciliation
file.
items:
type: string
purchaseOrderDate:
maxLength: 10
type: string
description: This contains the date on which the purchase
order was created. Format is MM/DD/YY.
purchaseOrderNumber:
maxLength: 20
type: string
description: This contains the purchase order number associated
with the invoice.
partialPaymentIndicator:
maxLength: 3
type: string
description: This field is used to indicate a partial
payment. Valid values are Yes, No.
supplier:
required:
- supplierID
type: object
properties:
STPID:
maxLength: 19
type: string
description: STP ID to be associated with supplier of type
STP. Format- 09. STPID is required new STP suppliers. You
can get the STPID for the supplier you want to pay using
the supplier matching service.
emailNotes:
maxLength: 10
type: string
description: This contains the text to be included on email
notifications and remittance advice.
supplierID:
maxLength: 30
type: string
description: Identifier used by the buyer to identify the
supplier. This has to be unique for a buyer. It cannot
contain spaces.
supplierCity:
maxLength: 50
type: string
description: Supplier city.
supplierName:
maxLength: 50
type: string
description: Name of supplier to be paid. It is mandatory
for new suppliers.
supplierState:
maxLength: 1
type: string
description: Supplier state.
eftAchSupplierID:
maxLength: 8
type: string
description: EFT/ACH Supplier id in the Invapay system.
supplierPostalCode:
maxLength: 20
type: string
description: Supplier postal code. It is mandatory for new
suppliers and only if the country mandates it.
primaryEmailAddress:
maxLength: 70
type: string
description: Email address
supplierCountryCode:
maxLength: 3
type: string
description: Supplier country code. It is alphanumeric.
VPA supports all ISO alphanumeric country code.For example-
USA.
supplierAddressLine1:
maxLength: 100
type: string
description: Supplier address line 1.
supplierAddressLine2:
maxLength: 100
type: string
description: Supplier address line 2.
alternateEmailAddresses:
type: array
description: This complex element can have up to five alternate
email addresses.
items:
type: object
properties:
localAlternateEmailAddress:
maxLength: 70
type: string
description: Supplier CC email address.
supplierProfileUpdateIndicator:
maxLength: 1
type: string
description: Y Implies that supplier profile has to be
updated. N Implies that supplier profile should not
be updated. By default, it will not update the supplier
profile.
description: Supplier Class
accountType:
maxLength: 1
type: string
description: "Account Type. Valid values are-
\n 1- Lodged
Adjustable Limit account
\n 2- Lodged account.
\n Note- This field is required only if the account is a
new account which is not already lodged to the supplier for
which the payment is made."
paymentType:
maxLength: 3
type: string
description: Payment type. Valid values are
CCC - Credit
Card Payment
STP - Straight Through Processing payment
accountLimit:
maxLength: 16
type: string
description: Credit limit of the account.
Note- This
field is required only if the account is a new account which
is not already lodged to the supplier for which the payment
is made.
currencyCode:
maxLength: 3
type: string
description: Payment Currencye Code. A valid ISO alpha currency
code should be passed. If the currency passed is not one
of the supported currencies setup in the buyer profile, the
payment will be rejected.
accountNumber:
maxLength: 19
type: string
description: |-
Account number can be an existing Visa account, a new account in the VPA system, or a proxy number. If this column is blank, the following logic is used for determining the account number
1. Lodged account is used if there is one for the supplier.
2. If the supplier does not have a lodged card account, system should
pick the card account from the pool based on the matrix in Account Picking logic table.
expirationDate:
maxLength: 7
type: string
description: Account's expiry date. Note- This field is required
only if the account is a new account which is not already
lodged to the supplier for which the payment is made.
paymentExpiryDate:
maxLength: 10
type: string
description: The date by which a supplier must collect a payment.
Format is YYYY-MM-DD.
paymentDescription:
maxLength: 100
type: string
description: Description of the payment.
paymentGrossAmount:
maxLength: 16
type: string
description: Payment gross amount. Format is 99999999999999.99
paymentRequestDate:
maxLength: 10
type: string
description: Payment requested date. If this field is blank,
system will set the current date as the payment request date.Format
is YYYY-MM-DD.
description: Payment Class
clientId:
maxLength: 25
type: string
description: Client ID field is a unique identification of the financial
institution. This will be provided by Visa at the time of setup.
messageId:
maxLength: 36
type: string
description: Unique identifier for this request. Each request sent
to VPA requires its own unique ID.
actionType:
maxLength: 1
type: string
description: "Type of payment processing. \n 1 - Payment Instruction
\ \n 2 - Payment Requisition"
paymentDescription:
maxLength: 100
type: string
description: Description of the payment.
examples:
Default:
summary: Default
value:
actionType: 1
clientId: B2BWS_1_1_9999
messageId: '2017-04-06T03:47:20.000Z'
payment:
cardAccountExpiryDate: 10/2022
paymentExpiryDate: '2017-03-10'
accountLimit: 100
invoices:
- purchaseOrderDate: '2017-02-01'
purchaseOrderNumber: PO1234
invoiceNumber: INV01
invoiceAmount: 100
invoiceDate: '2017-02-01'
- purchaseOrderDate: '2017-03-01'
purchaseOrderNumber: PO1234
invoiceNumber: INV02
invoiceAmount: 200
invoiceDate: '2017-03-01'
supplier:
supplierName: TestVPASupplier111111
alternateEmailAddresses:
- alternateEmailAddress: aaa1@bbb.com
- alternateEmailAddress: aaa2@bbb.com
- alternateEmailAddress: aaa3@bbb.com
- alternateEmailAddress: aaa4@bbb.com
- alternateEmailAddress: aaa5@bbb.com
emailNotes: Email Notes
supplierID: 111111
supplierCity: Austin
supplierAddressLine2: Address2
supplierAddressLine1: Address1
supplierState: TX
supplierCountryCode: USA
supplierPostalCode: 78759
primaryEmailAddress: aaa@bbb.com
accountType: 2
accountNumber: 4111111111111111
currencyCode: USD
paymentGrossAmount: 200
paymentRequestDate: '2017-02-01'
paymentType: CCC
buyerId: 9999
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
ProcessResponse:
required:
- expirationDate
- messageId
- statusCode
- statusDesc
type: object
properties:
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric.
The values are specific to each method. For the details
of the various error code returned for this method refer
to the "Error Codes" table below.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
accountNumber:
maxLength: 19
type: string
description: Account number used for processing the payment.
The account number will be masked in the response if the
corresponding Client ID is configured to be masked.
expirationDate:
maxLength: 7
type: string
description: The date the card account expires. Format is
MM/YYYY Note- The card account expiration date is sent for
all Payment Requisitions and Single Use Account payments.
description: Success
'400':
description: Error Codes
content:
application/json:
schema:
type: object
properties:
PP001:
type: object
description: Successfully processed.
PP002:
type: object
description: Message ID is not unique.
PP003:
type: object
description: Invalid Client ID.
PP004:
type: object
description: Invalid buyer.
PP005:
type: object
description: Invalid card account number.
PP006:
type: object
description: Invalid payment amount.
PP007:
type: object
description: Invalid payment date.
PP008:
type: object
description: Invalid supplier ID.
PP009:
type: object
description: Invalid currency code.
PP010:
type: object
description: Buyer does not match with the issuer.
PP011:
type: object
description: Account number does not match with the buyer.
PP012:
type: object
description: Invalid primary email address
PP013:
type: object
description: Invalid alternate email address
PP014:
type: object
description: Invalid invoice number
PP015:
type: object
description: Invalid invoice date.
PP016:
type: object
description: Internal error.
PP019:
type: object
description: Failed to set payment control.
PP020:
type: object
description: Payment control validation failed.
PP021:
type: object
description: Payment control validation failed.
PP022:
type: object
description: Card account is currently being used for other transaction.
PP024:
type: object
description: Payment gross amount not equal to sum of invoice
amounts.
PP025:
type: object
description: Bank or buyer not subscribed for the service.
PP027:
type: object
description: Request is already processed.
PP031:
type: object
description: Payment control cannot be added as the account already
has 10 exact match rules set.
PP032:
type: object
description: Transaction amount should be greater than zero.
PP035:
type: object
description: Invalid message ID.
PP036:
type: object
description: Invalid invoice amount.
PP037:
type: object
description: Invalid supplier name.
PP038:
type: object
description: Invalid supplier city.
PP039:
type: object
description: Invalid supplier state.
PP040:
type: object
description: Invalid supplier country.
PP041:
type: object
description: Invalid supplier postal code.
PP042:
type: object
description: Invalid supplier address line.
PP046:
type: object
description: Payment currency code does not match with buyer’s
configured currency code.
PP047:
type: object
description: Invalid action type.
PP049:
type: object
description: Invalid payment expiration date.
PP050:
type: object
description: Supplier ID is required.
PP051:
type: object
description: SupplierID is not associated with any STP supplier.
PP052:
type: object
description: Incorrect supplier and STP ID combination.
PP053:
type: object
description: STP ID does not exist.
PP055:
type: object
description: STP supplier ID not exist.
PP056:
type: object
description: Invalid STP supplier ID.
PP057:
type: object
description: Invoice tag is mandatory.
PP058:
type: object
description: Invalid purchase order number.
PP059:
type: object
description: Invalid purchase order date.
PP060:
type: object
description: Invalid email notes.
PP061:
type: object
description: Invalid reference fields.
PP062:
type: object
description: Account expiry date is not available for the card.
PP063:
type: object
description: Payment expiration date provided is in the past.
PP064:
type: object
description: No single use card accounts available.
PP065:
type: object
description: Invalid card (VRZ card) when processor interaction
is disabled.
PP066:
type: object
description: Supplier is inactive for this payment.
PP067:
type: object
description: Corporate available balance validation failed.
PP068:
type: object
description: Corporate available balance for buyer is locked by
another process.
PP069:
type: object
description: CyberSource communication error.
PP075:
type: object
description: CyberSource request 200- The authorization request
was approved by the issuing bank but declined by CyberSource
because it did not pass the Address Verification Service (AVS)
check.
PP076:
type: object
description: CyberSource request 201- The issuing bank has questions
about the request. You do not receive an authorization code
programmatically but you might receive one verbally by calling
the processor.
PP077:
type: object
description: CyberSource request 202- Expired card. You might
also receive this if the expiration date you provided does not
match the date the issuing bank has on file.
PP078:
type: object
description: CyberSource request 203- General decline of the card.
No other information provided by the issuing bank.
PP079:
type: object
description: CyberSource request 208- Inactive card or card not
authorized for card-not- present transactions.
PP080:
type: object
description: CyberSource request 231- Invalid account number.
PP081:
type: object
description: CyberSource request 232- The card type is not accepted
by the payment processor.
PP082:
type: object
description: CyberSource request 233- General decline by the processor.
PP083:
type: object
description: CyberSource request 234- There is a problem with
your CyberSource merchant configuration.
PP084:
type: object
description: CyberSource request 236- Processor failure.
PP085:
type: object
description: CyberSource request 238- CyberSource request 101-
The authorization has already been captured.
PP086:
type: object
description: CyberSource request 240- The card type sent is invalid
or does not correlate with the credit card number.
PP087:
type: object
description: CyberSource request 250- The request was received
but there was a timeout at the payment processor.
PP088:
type: object
description: Processor interaction failed.
PP096:
type: object
description: Account for STP payment should not have VPC enabled.
PP097:
type: object
description: Payment control interaction failed.
PP098:
type: object
description: Account currency code does not match with payment
currency code.
PP163:
type: object
description: Primary email address is required if supplier enabled
for notification.
PP170:
type: object
description: Invalid payment description.
PP171:
type: object
description: Invalid payment date.
PP174:
type: object
description: Bank and buyer product type is not matching.
PP175:
type: object
description: Problem while setting the gross amount rule in VPC.
PP176:
type: object
description: Account is registered in VPC but not enabled for
VPC.
PP177:
type: object
description: Supplier should be of type STP to process STP payments.
PP178:
type: object
description: Payment requisition is disabled.
PP179:
type: object
description: Account is deleted.
PP181:
type: object
description: Invalid reference tag.
PP182:
type: object
description: Invalid alternate address tag.
PP183:
type: object
description: Failure to remove payment control.
PP184:
type: object
description: Either bank or buyer is not having STP participation
enabled.
PP185:
type: object
description: No card account available in pool.
PP186:
type: object
description: The account type sent in the web service request
is invalid.
PP561:
type: object
description: The month you have entered for the card expiry date
is invalid. Please enter a valid month.
PP562:
type: object
description: The card expiry date you have entered is in the past.
Please enter a future date.
PP563:
type: object
description: The year you have entered for the card expiry date
is invalid. Please enter a valid year.
PP564:
type: object
description: Account number field is mandatory when expiration
date is provided.
PP565:
type: object
description: The card expiry date sent in the request is invalid.
Please correct and re-submit.
PP566:
type: object
description: Card expiration date field is mandatory for a new
card account in the request.
PP567:
type: object
description: Payment Requisition requires a valid proxy account
number.
PP568:
type: object
description: The account type sent in the web service request
is invalid.
PP569:
type: object
description: Account type is not applicable for SUA payments.
PP576:
type: object
description: The Account Limit field is mandatory for lodged card
payments.
PP577:
type: object
description: The Account Limit sent in the request is greater
than the maximum allowed limit Max allowed limit.
PP582:
type: object
description: SupplierName is mandatory.
PP586:
type: object
description: The Account Limit field should be numeric.
PP587:
type: object
description: Account Limit cannot have precision value.
PP589:
type: object
description: The Process Payment web service supports only max
number allowed invoices
PP590:
type: object
description: Payment cannot be processed for a Closed Account
PP591:
type: object
description: The currency sent in the payment instruction does
not match with the allowed currencies for the buyer. Please
work with your administrator to add the new currency in the
allowable list before submitting a payment.
PP594:
type: object
description: The value you sent in the AccountNumber field is
invalid. Please pass a valid pseudo account, and proxy number
of the funding account associated with your buyer.
PP595:
type: object
description: Error occurred while generating a new pseudo account.
Please try your request later.
PP596:
type: object
description: The value you sent for the funding account field
is not uniquely identifying the funding account. Please send
the entire 16 digit funding account number.
PP069a:
type: object
description: CyberSource request 101- The request is missing one
or more required fields.
PP069b:
type: object
description: CyberSource request 102- One or more fields in the
request contain invalid data.
PP069c:
type: object
description: CyberSource request 150- Error- General system failure.
PP069d:
type: object
description: CyberSource request 151- The request was received
but there was a server timeout. This error does not include
timeouts between the client and the server.
PP069e:
type: object
description: CyberSource request 152- The request was received,
but a service did not finish running in time.
PP088a:
type: object
description: Processor interaction failed.
PP088b:
type: object
description: Processor interaction failed.
PP088c:
type: object
description: Processor interaction failed.
PP088d:
type: object
description: Processor interaction failed.
PP088e:
type: object
description: Processor interaction failed.
PP088f:
type: object
description: Processor interaction failed.
PP088g:
type: object
description: Processor interaction failed.
PP567a:
type: object
description: The account type passed in the web service request
is different from what is setup in the VPA system.
PP5967:
type: object
description: The default payment currency of the lodged pseudo
account you have sent in the request is different from the payment
currency. Please pass the correct pseudo account.
x-codegen-request-body-name: processpayment
x-operationVersions:
- label: v1 - Latest
operationPointer: "#/paths/~1vpa~1v1~1payment~1ProcessPayments/post"
default: false
components:
schemas:
UpdateBuyerRequest:
required:
- clientId
- contactInfo
- messageId
type: object
properties:
clientId:
maxLength: 25
type: string
description: ClientID uniquely identifies a financial institution. This
will be provided by Visa implementation team.
messageId:
maxLength: 36
type: string
description: Unique identifier for this request. Each request sent to VPA
requires its own unique ID.
vanConfig:
"$ref": "#/components/schemas/VanConfigForUpdate"
contactInfo:
"$ref": "#/components/schemas/ContactInfoForUpdate"
proxyConfig:
"$ref": "#/components/schemas/ProxyConfigForUpdate"
billingConfig:
"$ref": "#/components/schemas/BillingConfigForUpdate"
paymentConfig:
"$ref": "#/components/schemas/PaymentConfigForUpdate"
processorConfig:
"$ref": "#/components/schemas/ProcessorConfigForUpdate"
stpPaymentConfig:
"$ref": "#/components/schemas/StpPaymentConfigForUpdate"
paymentFileConfig:
"$ref": "#/components/schemas/PaymentFileCommConfigForUpdate"
webServicesConfig:
"$ref": "#/components/schemas/WebServicesConfigForUpdate"
boostPaymentConfig:
"$ref": "#/components/schemas/BoostPaymentConfigForUpdate"
buyerFeatureConfig:
"$ref": "#/components/schemas/BuyerFeatureConfigForUpdate"
responseFileConfig:
"$ref": "#/components/schemas/ResponseFileConfigForUpdate"
stripePaymentConfig:
"$ref": "#/components/schemas/StripePaymentConfigForUpdate"
paymentSecurityConfig:
"$ref": "#/components/schemas/PaymentSecurityConfigForUpdate"
approvalWorkflowConfig:
"$ref": "#/components/schemas/ApprovalWorkflowConfigForUpdate"
reconciliationFileConfig:
"$ref": "#/components/schemas/ReconciliationFileConfigForUpdate"
paymentNotificationConfig:
"$ref": "#/components/schemas/PaymentNotificationConfigForUpdate"
authorizationControlConfig:
"$ref": "#/components/schemas/AuthorizationControlConfigForUpdate"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/RvaReconciliationFileConfigForUpdate"
description: Profile details of the buyer being updated.
Supplier-1:
title: Supplier
required:
- supplierID
type: object
properties:
emailNotes:
type: string
supplierID:
type: string
supplierCity:
type: string
supplierName:
type: string
supplierState:
type: string
supplierPostalCode:
type: string
primaryEmailAddress:
type: string
supplierCountryCode:
type: string
supplierAddressLine1:
type: string
supplierAddressLine2:
type: string
alternateEmailAddresses:
type: array
items:
"$ref": "#/components/schemas/AlternateEmailAddr"
CreateBuyerTemplateRequest-4:
required:
- clientId
- messageId
- paymentConfig
- paymentNotificationConfig
- templateName
type: object
properties:
clientId:
maxLength: 25
type: string
description: ClientID associated with the bank. This will be provided by
Visa implementation team.
messageId:
maxLength: 36
type: string
description: Unique identifier for identifying the request.
vanConfig:
"$ref": "#/components/schemas/VanConfig"
contactInfo:
"$ref": "#/components/schemas/ContactInfo"
proxyConfig:
"$ref": "#/components/schemas/ProxyConfig"
templateName:
maxLength: 50
type: string
description: Client-provided name of the template. Alphanumeric. No special
characters other than _ - * & ' ! , . '#' and – (Dash) are allowed.
It has to be unique within a Bank.
billingConfig:
"$ref": "#/components/schemas/BillingConfig"
paymentConfig:
"$ref": "#/components/schemas/PaymentConfig"
processorConfig:
"$ref": "#/components/schemas/ProcessorConfig"
stpPaymentConfig:
"$ref": "#/components/schemas/STPPaymentConfig"
webServicesConfig:
"$ref": "#/components/schemas/WebServicesConfig-2"
boostPaymentConfig:
"$ref": "#/components/schemas/BoostPaymentConfig"
buyerFeatureConfig:
"$ref": "#/components/schemas/BuyerFeatureConfig"
responseFileConfig:
"$ref": "#/components/schemas/ResponseFileConfig"
stripePaymentConfig:
"$ref": "#/components/schemas/StripePaymentConfig"
templateDescription:
maxLength: 256
type: string
description: Client-defined template description. Supports AlphaNumeric
characters.
paymentFileCommConfig:
"$ref": "#/components/schemas/PaymentFileCommConfig"
paymentSecurityConfig:
"$ref": "#/components/schemas/PaymentSecurityConfig"
approvalWorkflowConfig:
"$ref": "#/components/schemas/ApprovalWorkflowConfig"
reconciliationFileConfig:
"$ref": "#/components/schemas/ReconciliationFileConfig"
paymentNotificationConfig:
"$ref": "#/components/schemas/PaymentNotificationConfig"
authorizationControlConfig:
"$ref": "#/components/schemas/AuthorizationControlConfig"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/RVAReconciliationFileConfig"
description: Create Buyer Template Request
CreateBuyerTemplateRequest-3:
required:
- clientId
- messageId
- paymentConfig
- paymentNotificationConfig
- templateName
type: object
properties:
clientId:
maxLength: 25
type: string
description: ClientID associated with the bank. This will be provided by
Visa implementation team.
messageId:
maxLength: 36
type: string
description: Unique identifier for identifying the request.
vanConfig:
"$ref": "#/components/schemas/VanConfig"
contactInfo:
"$ref": "#/components/schemas/ContactInfo-1"
proxyConfig:
"$ref": "#/components/schemas/ProxyConfig"
templateName:
maxLength: 50
type: string
description: Client-provided name of the template. Alphanumeric. No special
characters other than _ - * & ' ! , . '#' and – (Dash) are allowed.
It has to be unique within a Bank.
billingConfig:
"$ref": "#/components/schemas/BillingConfig"
paymentConfig:
"$ref": "#/components/schemas/PaymentConfig"
processorConfig:
"$ref": "#/components/schemas/ProcessorConfig"
stpPaymentConfig:
"$ref": "#/components/schemas/STPPaymentConfig"
webServicesConfig:
"$ref": "#/components/schemas/WebServicesConfig-2"
boostPaymentConfig:
"$ref": "#/components/schemas/BoostPaymentConfig"
buyerFeatureConfig:
"$ref": "#/components/schemas/BuyerFeatureConfig"
responseFileConfig:
"$ref": "#/components/schemas/ResponseFileConfig"
stripePaymentConfig:
"$ref": "#/components/schemas/StripePaymentConfig"
templateDescription:
maxLength: 256
type: string
description: Client-defined template description. Supports AlphaNumeric
characters.
paymentFileCommConfig:
"$ref": "#/components/schemas/PaymentFileCommConfig"
paymentSecurityConfig:
"$ref": "#/components/schemas/PaymentSecurityConfig"
approvalWorkflowConfig:
"$ref": "#/components/schemas/ApprovalWorkflowConfig"
reconciliationFileConfig:
"$ref": "#/components/schemas/ReconciliationFileConfig"
paymentNotificationConfig:
"$ref": "#/components/schemas/PaymentNotificationConfig"
authorizationControlConfig:
"$ref": "#/components/schemas/AuthorizationControlConfig"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/RVAReconciliationFileConfig"
description: Create Buyer Template Request
ErrorItem:
type: object
properties:
errorCode:
type: string
errorDescription:
type: string
description: Error Item
CreateBuyerTemplateRequest-2:
required:
- clientId
- messageId
- paymentConfig
- paymentNotificationConfig
- templateName
type: object
properties:
clientId:
maxLength: 25
type: string
description: ClientID associated with the bank. This will be provided by
Visa implementation team.
messageId:
maxLength: 36
type: string
description: Unique identifier for identifying the request.
vanConfig:
"$ref": "#/components/schemas/VanConfig"
contactInfo:
"$ref": "#/components/schemas/ContactInfo"
proxyConfig:
"$ref": "#/components/schemas/ProxyConfig"
templateName:
maxLength: 50
type: string
description: Client-provided name of the template. Alphanumeric. No special
characters other than _ - * & ' ! , . '#' and – (Dash) are allowed.
It has to be unique within a Bank.
billingConfig:
"$ref": "#/components/schemas/BillingConfig"
paymentConfig:
"$ref": "#/components/schemas/PaymentConfig"
processorConfig:
"$ref": "#/components/schemas/ProcessorConfig"
stpPaymentConfig:
"$ref": "#/components/schemas/STPPaymentConfig"
webServicesConfig:
"$ref": "#/components/schemas/WebServicesConfig-1"
boostPaymentConfig:
"$ref": "#/components/schemas/BoostPaymentConfig"
buyerFeatureConfig:
"$ref": "#/components/schemas/BuyerFeatureConfig"
responseFileConfig:
"$ref": "#/components/schemas/ResponseFileConfig"
stripePaymentConfig:
"$ref": "#/components/schemas/StripePaymentConfig"
templateDescription:
maxLength: 256
type: string
description: Client-defined template description. Supports AlphaNumeric
characters.
paymentFileCommConfig:
"$ref": "#/components/schemas/PaymentFileCommConfig"
paymentSecurityConfig:
"$ref": "#/components/schemas/PaymentSecurityConfig"
approvalWorkflowConfig:
"$ref": "#/components/schemas/ApprovalWorkflowConfig"
reconciliationFileConfig:
"$ref": "#/components/schemas/ReconciliationFileConfig"
paymentNotificationConfig:
"$ref": "#/components/schemas/PaymentNotificationConfig"
authorizationControlConfig:
"$ref": "#/components/schemas/AuthorizationControlConfig"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/RVAReconciliationFileConfig"
description: Create Buyer Template Request
CreateBuyerTemplateRequest-1:
required:
- clientId
- messageId
- paymentConfig
- paymentNotificationConfig
- templateName
type: object
properties:
clientId:
maxLength: 25
type: string
description: ClientID associated with the bank. This will be provided by
Visa implementation team.
messageId:
maxLength: 36
type: string
description: Unique identifier for identifying the request.
vanConfig:
"$ref": "#/components/schemas/VanConfig"
contactInfo:
"$ref": "#/components/schemas/ContactInfo"
proxyConfig:
"$ref": "#/components/schemas/ProxyConfig"
templateName:
maxLength: 50
type: string
description: Client-provided name of the template. Alphanumeric. No special
characters other than _ - * & ' ! , . '#' and – (Dash) are allowed.
It has to be unique within a Bank.
billingConfig:
"$ref": "#/components/schemas/BillingConfig"
paymentConfig:
"$ref": "#/components/schemas/PaymentConfig"
processorConfig:
"$ref": "#/components/schemas/ProcessorConfig"
stpPaymentConfig:
"$ref": "#/components/schemas/STPPaymentConfig"
webServicesConfig:
"$ref": "#/components/schemas/WebServicesConfig"
boostPaymentConfig:
"$ref": "#/components/schemas/BoostPaymentConfig"
buyerFeatureConfig:
"$ref": "#/components/schemas/BuyerFeatureConfig-1"
responseFileConfig:
"$ref": "#/components/schemas/ResponseFileConfig"
stripePaymentConfig:
"$ref": "#/components/schemas/StripePaymentConfig"
templateDescription:
maxLength: 256
type: string
description: Client-defined template description. Supports AlphaNumeric
characters.
paymentFileCommConfig:
"$ref": "#/components/schemas/PaymentFileCommConfig"
paymentSecurityConfig:
"$ref": "#/components/schemas/PaymentSecurityConfig"
approvalWorkflowConfig:
"$ref": "#/components/schemas/ApprovalWorkflowConfig"
reconciliationFileConfig:
"$ref": "#/components/schemas/ReconciliationFileConfig"
paymentNotificationConfig:
"$ref": "#/components/schemas/PaymentNotificationConfig"
authorizationControlConfig:
"$ref": "#/components/schemas/AuthorizationControlConfig"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/RVAReconciliationFileConfig"
description: Create Buyer Template Request
UpdateBillingConfig:
type: object
properties:
billingBID:
type: string
description: The 11 digit Visa Billing BID that will be billed for the service.
This is in the format of 8 digit Visa BID plus 3 digit country code. E.g.
12345678840 where 840 is country code for United States.
billingType:
type: string
description: Identifies who will be billed for use of the service. Valid
Values are I, T or M. Select I if the issuer will be billed (standard).
Select T if Third party / fintech will be billed. Select M if billing
needs to be manually billed (not common).
BErrorResponse:
type: object
properties:
errorObject:
"$ref": "#/components/schemas/BError"
responseStatus:
"$ref": "#/components/schemas/BResponse"
description: Create Buyer Template Error Response
ProcessPaymentErrorResponse:
title: ProcessPaymentErrorResponse
type: object
properties:
PP001:
type: object
description: Successfully processed.
PP002:
type: object
description: Message ID is not unique.
PP003:
type: object
description: Invalid Client ID.
PP004:
type: object
description: Invalid buyer.
PP005:
type: object
description: Invalid card account number.
PP006:
type: object
description: Invalid payment amount.
PP007:
type: object
description: Invalid payment date.
PP008:
type: object
description: Invalid supplier ID.
PP009:
type: object
description: Invalid currency code.
PP010:
type: object
description: Buyer does not match with the issuer.
PP011:
type: object
description: Account number does not match with the buyer.
PP012:
type: object
description: Invalid primary email address
PP013:
type: object
description: Invalid alternate email address
PP014:
type: object
description: Invalid invoice number
PP015:
type: object
description: Invalid invoice date.
PP016:
type: object
description: Internal error.
PP019:
type: object
description: Failed to set payment control.
PP020:
type: object
description: Payment control validation failed.
PP021:
type: object
description: Payment control validation failed.
PP022:
type: object
description: Card account is currently being used for other transaction.
PP024:
type: object
description: Payment gross amount not equal to sum of invoice amounts.
PP025:
type: object
description: Bank or buyer not subscribed for the service.
PP027:
type: object
description: Request is already processed.
PP031:
type: object
description: Payment control cannot be added as the account already has
10 exact match rules set.
PP032:
type: object
description: Transaction amount should be greater than zero.
PP035:
type: object
description: Invalid message ID.
PP036:
type: object
description: Invalid invoice amount.
PP037:
type: object
description: Invalid supplier name.
PP038:
type: object
description: Invalid supplier city.
PP039:
type: object
description: Invalid supplier state.
PP040:
type: object
description: Invalid supplier country.
PP041:
type: object
description: Invalid supplier postal code.
PP042:
type: object
description: Invalid supplier address line.
PP046:
type: object
description: Payment currency code does not match with buyer’s configured
currency code.
PP047:
type: object
description: Invalid action type.
PP049:
type: object
description: Invalid payment expiration date.
PP050:
type: object
description: Supplier ID is required.
PP051:
type: object
description: SupplierID is not associated with any STP supplier.
PP052:
type: object
description: Incorrect supplier and STP ID combination.
PP053:
type: object
description: STP ID does not exist.
PP055:
type: object
description: STP supplier ID not exist.
PP056:
type: object
description: Invalid STP supplier ID.
PP057:
type: object
description: Invoice tag is mandatory.
PP058:
type: object
description: Invalid purchase order number.
PP059:
type: object
description: Invalid purchase order date.
PP060:
type: object
description: Invalid email notes.
PP061:
type: object
description: Invalid reference fields.
PP062:
type: object
description: Account expiry date is not available for the card.
PP063:
type: object
description: Payment expiration date provided is in the past.
PP064:
type: object
description: No single use card accounts available.
PP065:
type: object
description: Invalid card (VRZ card) when processor interaction is disabled.
PP066:
type: object
description: Supplier is inactive for this payment.
PP067:
type: object
description: Corporate available balance validation failed.
PP068:
type: object
description: Corporate available balance for buyer is locked by another
process.
PP069:
type: object
description: CyberSource communication error.
PP075:
type: object
description: CyberSource request 200- The authorization request was approved
by the issuing bank but declined by CyberSource because it did not pass
the Address Verification Service (AVS) check.
PP076:
type: object
description: CyberSource request 201- The issuing bank has questions about
the request. You do not receive an authorization code programmatically
but you might receive one verbally by calling the processor.
PP077:
type: object
description: CyberSource request 202- Expired card. You might also receive
this if the expiration date you provided does not match the date the issuing
bank has on file.
PP078:
type: object
description: CyberSource request 203- General decline of the card. No other
information provided by the issuing bank.
PP079:
type: object
description: CyberSource request 208- Inactive card or card not authorized
for card-not- present transactions.
PP080:
type: object
description: CyberSource request 231- Invalid account number.
PP081:
type: object
description: CyberSource request 232- The card type is not accepted by the
payment processor.
PP082:
type: object
description: CyberSource request 233- General decline by the processor.
PP083:
type: object
description: CyberSource request 234- There is a problem with your CyberSource
merchant configuration.
PP084:
type: object
description: CyberSource request 236- Processor failure.
PP085:
type: object
description: CyberSource request 238- CyberSource request 101- The authorization
has already been captured.
PP086:
type: object
description: CyberSource request 240- The card type sent is invalid or does
not correlate with the credit card number.
PP087:
type: object
description: CyberSource request 250- The request was received but there
was a timeout at the payment processor.
PP088:
type: object
description: Processor interaction failed.
PP096:
type: object
description: Account for STP payment should not have VPC enabled.
PP097:
type: object
description: Payment control interaction failed.
PP098:
type: object
description: Account currency code does not match with payment currency
code.
PP163:
type: object
description: Primary email address is required if supplier enabled for notification.
PP170:
type: object
description: Invalid payment description.
PP171:
type: object
description: Invalid payment date.
PP174:
type: object
description: Bank and buyer product type is not matching.
PP175:
type: object
description: Problem while setting the gross amount rule in VPC.
PP176:
type: object
description: Account is registered in VPC but not enabled for VPC.
PP177:
type: object
description: Supplier should be of type STP to process STP payments.
PP178:
type: object
description: Payment requisition is disabled.
PP179:
type: object
description: Account is deleted.
PP181:
type: object
description: Invalid reference tag.
PP182:
type: object
description: Invalid alternate address tag.
PP183:
type: object
description: Failure to remove payment control.
PP184:
type: object
description: Either bank or buyer is not having STP participation enabled.
PP185:
type: object
description: No card account available in pool.
PP186:
type: object
description: The account type sent in the web service request is invalid.
PP561:
type: object
description: The month you have entered for the card expiry date is invalid.
Please enter a valid month.
PP562:
type: object
description: The card expiry date you have entered is in the past. Please
enter a future date.
PP563:
type: object
description: The year you have entered for the card expiry date is invalid.
Please enter a valid year.
PP564:
type: object
description: Account number field is mandatory when expiration date is provided.
PP565:
type: object
description: The card expiry date sent in the request is invalid. Please
correct and re-submit.
PP566:
type: object
description: Card expiration date field is mandatory for a new card account
in the request.
PP567:
type: object
description: Payment Requisition requires a valid proxy account number.
PP568:
type: object
description: The account type sent in the web service request is invalid.
PP569:
type: object
description: Account type is not applicable for SUA payments.
PP576:
type: object
description: The Account Limit field is mandatory for lodged card payments.
PP577:
type: object
description: The Account Limit sent in the request is greater than the maximum
allowed limit Max allowed limit.
PP582:
type: object
description: SupplierName is mandatory.
PP586:
type: object
description: The Account Limit field should be numeric.
PP587:
type: object
description: Account Limit cannot have precision value.
PP589:
type: object
description: The Process Payment web service supports only max number allowed
invoices
PP590:
type: object
description: Payment cannot be processed for a Closed Account
PP591:
type: object
description: The currency sent in the payment instruction does not match
with the allowed currencies for the buyer. Please work with your administrator
to add the new currency in the allowable list before submitting a payment.
PP594:
type: object
description: The value you sent in the AccountNumber field is invalid. Please
pass a valid pseudo account, and proxy number of the funding account associated
with your buyer.
PP595:
type: object
description: Error occurred while generating a new pseudo account. Please
try your request later.
PP596:
type: object
description: The value you sent for the funding account field is not uniquely
identifying the funding account. Please send the entire 16 digit funding
account number.
PP069a:
type: object
description: CyberSource request 101- The request is missing one or more
required fields.
PP069b:
type: object
description: CyberSource request 102- One or more fields in the request
contain invalid data.
PP069c:
type: object
description: CyberSource request 150- Error- General system failure.
PP069d:
type: object
description: CyberSource request 151- The request was received but there
was a server timeout. This error does not include timeouts between the
client and the server.
PP069e:
type: object
description: CyberSource request 152- The request was received, but a service
did not finish running in time.
PP088a:
type: object
description: Processor interaction failed.
PP088b:
type: object
description: Processor interaction failed.
PP088c:
type: object
description: Processor interaction failed.
PP088d:
type: object
description: Processor interaction failed.
PP088e:
type: object
description: Processor interaction failed.
PP088f:
type: object
description: Processor interaction failed.
PP088g:
type: object
description: Processor interaction failed.
PP567a:
type: object
description: The account type passed in the web service request is different
from what is setup in the VPA system.
PP5967:
type: object
description: The default payment currency of the lodged pseudo account you
have sent in the request is different from the payment currency. Please
pass the correct pseudo account.
description: Error Codes
UpdateWebServicesConfig-1:
type: object
properties:
apiCodes:
maxItems: 200
uniqueItems: true
type: array
items:
maxLength: 10
type: string
description: Reserved for Future use. The system will default the apiCodes
to what is set for the bank.
clientId:
maxLength: 40
type: string
description: Reserved for Future use. The system will default the client
ID to what is set for the bank.
vbdsClientId:
maxLength: 50
type: string
description: vbdsClientId is the unique id generated for third parties wanting
to subscribe for auth/settlement data in VBDS system. Should be numeric. Can
be set at any time if it is blank. But cannot be changed if it is already
set if the sync Buyer Profiles field is set to true.
webServicesEnabled:
type: boolean
description: Denotes if the web services is enabled for the template (Buyer). Valid
Values are 'True' and 'False'. The value can be set to true only if the
bank is enabled for this Option. Can be enabled (set to true) at any time. But
cannot be disabled if sync Buyer Profiles field is set to true.
suppressSupplierNotification:
type: boolean
description: Denotes if all supplier notifications needs to be suppressed. If
this field is set to true, then the web service consumers should handle
the supplier communication themselves. Valid Values are 'True' or 'False'.
This field can be edited at any time.
ReconciliationFileConfigForCreate-1:
type: object
properties:
fileLevel:
maxLength: 1
type: string
description: Denotes if the recon COMM File configuration is defined to
be delivered to the bank(B) or Company (C). Valid values are B - Bank
and C - Company.
commFileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the recon file outbound.
Required if the file level is B. The Visa implementation team provides
this value after the outbound recon file configuration has been completed.
fileFormat:
type: integer
description: Denotes the format in which the recon file needs to be generated.
Needs to be numeric. Valid values are 1 – XLS V0, 2 – CSV V0, 3 - XLS
V1, 4 – CSV V1
deliveryTime:
maxLength: 6
type: string
description: Denotes the delivery type or day when the recon file needs
to be generated and delivered. If the value for this field (the tag is
not sent) is not provided, the system defaults it to'1:00' AM for the
daily frequency and 2 for weekly and 1 for monthly frequency. Valid
format for the time for the daily frequency is 'HH:MM' in 24 hours format. Valid
values for the Weekly frequency 1 to 7 denoting the days. 1 being Sunday
and 7 being Saturday and Monthly Frequency 1 to 31
templateName:
maxLength: 100
type: string
description: Denotes the name of the recon template to be used for generating
the reconciliation file. If the value for this field (the tag is not sent)
is not provided, the system defaults it to the latest recon standard template.
deliveryFrequency:
type: integer
description: Denotes the frequency in which the recon file needs to be delivered.
Needs to be numeric. Valid values are 1 – Daily 2 – Weekly 3 - Monthly
recipientLoginIds:
maxItems: 80
uniqueItems: true
type: array
description: Contains the list of user ids of bank/buyer users who will
be receiving the recon file in their VOL mailbox. You can setup upto 80
user ids to receive the recon file. The user ids should have the VOL mailbox
service entitled to them.
items:
type: string
adhocReconciliationReportEnabled:
type: boolean
description: Denotes if Adhoc Reconciliation functionality is enabled for
the buyer. If the value for this field (the tag is not sent) is not provided,
the system defaults it to False. Valid Values are 'True' and 'False'.
The value can be set to true only if the bank is enabled for Adhoc Reconciliation.
onlinePaymentReconciliationEnabled:
type: boolean
description: Denotes if Online payment Reconciliation functionality is enabled
for the buyers. If the value for this field (the tag is not sent) is
not provided, the system defaults it to False. Valid Values are 'True'
and 'False'. The value can be set to true only if the bank is enabled
for Online Payment Reconciliation.
VanConfigForGet:
type: object
properties:
fcsBankId:
maxLength: 4
type: string
description: Denotes the Bank Identifier in the TSYS VPP FCS system. If
the value for this field (the tag is not sent) is not provided, the system
defaults it to the bank FCS ID if there is only one setup at the bank
level. Supports alphanumeric values. Required if the buyer is enabled
for VANs.
vanEnabled:
type: boolean
description: Denotes if "VANs" (VPP Tokens) are enabled for the buyer. Valid
Values are 'True' and 'False'. The value can be set to true only if the
bank is enabled for this Option.
aceClientId:
type: string
description: Denotes the number used to identify the bank on the Tsys ACE
Decision Max system for account assignment.
readOnly: true
admClientId:
maxLength: 4
type: string
description: Denotes the number the TSYS VPP system uses to identify the
company on the ACE Decision Max system for account assignment.
mcADMOptionId:
maxLength: 5
type: string
description: Denotes the option that will be used to assign the virtual
account number in the TSYS VPP platform. For the TS1 platform only, the
option must be set up to assign a virtual account number from the same
BIN as the primary account number. This field will be populated only if
it is a Mastercard Bank.
processingType:
maxLength: 4
type: string
description: Denotes the Processing type for the virtual account number
(VAN).
visaADMOptionId:
maxLength: 5
type: string
description: Denotes the option that will be used to assign the virtual
account number in the TSYS VPP platform. For the TS1 platform only, the
option must be set up to assign a virtual account number from the same
BIN as the primary account number. This field will be populated only if
it is a Visa Bank.
settlementExpirationDays:
type: integer
description: Denotes the number of days after which settlement will not
be honored on the virtual account (VAN).
readOnly: true
UpdateRVAReconciliationFileConfig:
type: object
properties:
commFileId:
maxLength: 40
type: string
description: Comm file Id refers to Comm File info associated with the Request
Virtua Account recon file outbound delivery. Required if RVAReconFileDelivery
is set to Comms. This field Can be edited at any time.
templateId:
maxLength: 2
type: string
description: Denotes the template identifier associated with the RVA recon
template to be used for generating the RVA recon file. This field Can
be edited at any time.
GetPaymentSecurityConfig:
type: object
properties:
customSecurityQuestions:
maxItems: 3
uniqueItems: true
type: array
description: The questions (text) which will be used at random (Only one
of the questions will be displayed) to authenticate the supplier when
they click on the URL sent in the payment advice notification for viewing
the full card details. The system sends the security questions and answers
to the supplier when the supplier is setup for the buyer. At least one
question needs to be sent if custom security question is enabled for the
template.
items:
maxLength: 100
type: string
description: Upto 3 custom security questions could be used.
defaultSecurityQuestion:
maxLength: 256
type: string
description: Denotes the text for the default security question which will
be displayed to the supplier when they click on the URL sent in the payment
advice notification for viewing the full card details.
defaultSecurityFieldCode:
maxLength: 1
pattern: "^[\\d]+$"
type: string
description: Denotes the field system uses to authenticate the supplier
when they click on the URL sent in the payment advice notification for
viewing the full card details.
customSecurityQuestionsEnabled:
type: boolean
description: Denotes if the buyer wants to use custom security questions
to authenticate the supplier when they click on the URL sent in the payment
advice notification for viewing the full card details.
ProxyConfigForCreate:
type: object
properties:
holdDays:
maxLength: 3
pattern: "^[\\d]+$"
type: string
description: Denotes the number of days an account picked up for a payment
in a proxy will be kept on hold before being used for another payment. For
payments, the hold days start from the day the payment was processed and
for Request Virtual Account, the hold days start from the day the end
date of the RVA has reached. Should be a numeric value between 1 to 999.
If the value for this field (the tag is not sent) is not provided, the
system defaults it to 90 days.
autoRefreshEnabled:
type: boolean
description: Denotes if auto replenishment is enabled for proxies associated
with the buyer. If the value for this field (the tag is not sent) is
not provided, the system defaults it to False for memo account buyers
and to true for VIP and VPP enabled buyers. The value of this field
should be set to true for VIP and VPP enabled buyers. Valid Values are
'True' and 'False'. The value can be set to true only if the bank is enabled
for auto replenishment.
bucketedProxyEnabled:
type: boolean
description: Denotes if bucketed proxy is enabled for proxies associated
with the buyer. If the value for this field (the tag is not sent) is
not provided, the system defaults it to False. Valid Values are 'True'
and 'False'. The value can be set to true only if the bank is enabled
for bucketed proxy.
StpPaymentConfigForCreate:
type: object
properties:
stpPaymentEnabled:
type: boolean
description: Denotes if STP payments is enabled for the buyer. Optional
field. If the value for this field (the tag is not sent) is not provided,
the system defaults it to 'False'. Valid values are 'True' or 'False'.
This field can be set to true only if the bank STP Payment option is set
to 'True'.
accountHolderLastName:
maxLength: 100
type: string
description: Denotes the Account Holder Last Name which will be used while
processing the STP payment. If the value for this field (the tag is not
sent) is not provided, system defaults to the buyer primary contact person's
name (The value from the first space character until the end of the field
will be used as the last name).
accountHolderFirstName:
maxLength: 100
type: string
description: Denotes the Account Holder First Name which will be used while
processing the STP payment. If the value for this field (the tag is not
sent) is not provided, system defaults to the buyer primary contact person's
name (The value upto the first space character will be used as the first
name)
remittanceNotificationEnabled:
type: boolean
description: Denotes if the STP Payment Remittance notification is enabled
for a buyer. Optional field. If the value for this field (the tag is
not sent) is not provided, the system defaults it to 'False'. Valid values
are 'True' or 'False'. This field can be set to true only if the bank
STP Payment Remittance Notification option is set to 'True'. The STP supplier
will be getting the payment remittance notification only if this field
is enabled.
ContactInfoForCreate:
required:
- addressLine1
- buyerName
- city
- companyId
- contactName
- countryCode
- zipCode
type: object
properties:
city:
maxLength: 20
type: string
description: Contains the City Name of the buyer's contact address.
state:
maxLength: 27
type: string
description: Contains the state of the buyer's contact address.
phone1:
maxLength: 20
type: string
description: Contains the buyer contact phone number 1. Field is alphanuemeric.
Special characters allowed are - (dash), ( (Open braces),) (close braces).
phone2:
maxLength: 20
type: string
description: Contains the buyer contact phone number 2. Field is alphanumeric.
Special characters allowed are - (dash), ( (Open braces),) (close braces).
phone3:
maxLength: 20
type: string
description: Contains the buyer contact phone number 3. Field is alphanumeric.
Special characters allowed are - (dash), ( (Open braces),) (close braces).
buyerId:
maxLength: 25
pattern: "^[\\d]+$"
type: string
description: Contains the buyer identifier as defined in Visa Payables Automation.
This is often the ID defined at the processor. Value format is 0–9. It
is a mandatory field.
zipCode:
maxLength: 9
type: string
description: Optional. Contains the Postal Code of the buyer's contact address. Do
not include special characters, e.g. hyphen, in the zipcode. If a special
character is provided it will be removed and processed with only nine
digits. Null is allowed.
buyerName:
maxLength: 100
type: string
description: Contains the name of the buyer. It is a mandatory field.
companyId:
maxLength: 10
pattern: "^[\\d]+$"
type: string
description: Contains the buyer identifier as defined at the issuer processor.
Value format is 0–9. It is a mandatory field.
phone1Ext:
maxLength: 20
type: string
description: Contains the extension of the buyer contact phone number 1.
Field is alphanumeric. Special characters allowed are - (dash), ( (Open
braces),) (close braces).
phone2Ext:
maxLength: 20
type: string
description: Contains the extension of the buyer contact phone number 2.
Field is alphanumeric. Special characters allowed are - (dash), ( (Open
braces),) (close braces).
phone3Ext:
maxLength: 20
type: string
description: Contains the extension of the buyer contact phone number 3.
Field is alphanumeric. Special characters allowed are - (dash), ( (Open
braces),) (close braces).
templateId:
maxLength: 30
pattern: "^[\\w-]+$"
type: string
description: Contains the unique identifier for a Template asscoiated with
the bank. Template id of the template which was sent in the response when
you created a new template. This field should be blank if the buyer is
created without a template.
contactName:
maxLength: 100
type: string
description: Contains the name of the primary contact person in the buyer.
The input should be alphabets.
countryCode:
maxLength: 3
pattern: "^[a-zA-Z]{3}$"
type: string
description: Contains the ISO alpha country code of the buyer's contact
address. For example- USA.
addressLine1:
maxLength: 40
type: string
description: Contains the line 1 of the buyer's contact address.
addressLine2:
maxLength: 40
type: string
description: Contains the line 2 of the buyer's contact address.
addressLine3:
maxLength: 80
type: string
description: Contains the line 3 of the buyer's contact address.
emailAddress:
maxLength: 100
type: string
description: Contains the buyer's contact Email Address. Should be an valid
email address.
implementationType:
type: integer
description: Valid Values are:1 – VPA UI, 2 – VPA API and 3 – Visa Commercial
Pay. Select 1 if buyer will use VPA user interface (issuer direct use
of VPA). Select 2 if buyer is created by a third party fintech and will
use the VPA APIs. Select 3 if buyer is created in VPA for Visa Commercial
Pay service.
BuyerFeatureConfigForGetV2-1:
type: object
properties:
cardMaskingDigits:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in all places other than UI like the recon file,
response file, etc.
vcfDataFeedIndicator:
type: string
description: Denotes if the financial institution will be providing buyer/business(VCF)
data for the buyer. Valid Values are 'Y' and 'N'.
pseudoAccountsEnabled:
type: boolean
description: Denotes if "Pseudo Accounts" (VIP Tokens) option is enabled
for the buyer.
fullAccountViewEnabled:
type: boolean
description: Denotes if "Full Account View" functionality is enabled for
the buyer.
cardMaskingDigitsOnline:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in the UI.
onlinePaymentInstructionEnabled:
type: boolean
description: Denotes if Online payment instruction (Pay Now) functionality
is enabled for the buyer.
onlinePaymentRequisitionEnabled:
type: boolean
description: Denotes if Online payment Requisition functionality is enabled
for the buyer.
ContactInfoForGet:
type: object
properties:
city:
maxLength: 20
type: string
description: Contains the City Name of the buyer's contact address.
state:
maxLength: 27
type: string
description: Contains the state of the buyer's contact address.
phone1:
maxLength: 20
type: string
description: Contains the buyer contact phone number 1.
phone2:
maxLength: 20
type: string
description: Contains the buyer contact phone number 2.
phone3:
maxLength: 20
type: string
description: Contains the buyer contact phone number 3.
buyerId:
maxLength: 25
pattern: "^[\\d]+$"
type: string
description: Contains the buyer identifier as defined in Visa Payables Automation.
This is often the ID defined at the processor.
zipCode:
maxLength: 10
type: string
description: Contains the Postal Code of the buyer's contact address.
buyerName:
maxLength: 100
type: string
description: Contains the name of the buyer.
companyId:
maxLength: 10
pattern: "^[\\d]+$"
type: string
description: Contains the company identifier as defined at the issuer processor.
phone1Ext:
maxLength: 20
type: string
description: Contains the extension of the buyer contact phone number 1.
phone2Ext:
maxLength: 20
type: string
description: Contains the extension of the buyer contact phone number 2.
phone3Ext:
maxLength: 20
type: string
description: Contains the extension of the buyer contact phone number 3.
templateId:
maxLength: 30
pattern: "^[\\w-]+$"
type: string
description: Contains the unique identifier for a Template asscoiated with
the bank.
contactName:
maxLength: 100
type: string
description: Contains the name of the primary contact person in the buyer
countryCode:
maxLength: 3
pattern: "^[a-zA-Z]{3}$"
type: string
description: Contains the ISO alpha country code of the buyer's contact
address. For example- USA.
addressLine1:
maxLength: 40
type: string
description: Contains the line 1 of the buyer's contact address.
addressLine2:
maxLength: 40
type: string
description: Contains the line 2 of the buyer's contact address.
addressLine3:
maxLength: 80
type: string
description: Contains the line 3 of the buyer's contact address.
emailAddress:
maxLength: 100
type: string
description: Contains the buyer's contact Email Address.
implementationType:
type: integer
description: Valid Values are:1 – VPA UI, 2 – VPA API and 3 – Visa Commercial
Pay. 1 denotes buyer uses VPA UI (issuer direct use of VPA). 2 denotes
buyer using a third party fintech user interface and third party is using
VPA APIs. 3 denotes buyer uses Visa Commercial Pay service.
WebServicesConfigForGetV2:
type: object
properties:
apiCodes:
maxItems: 200
uniqueItems: true
type: array
description: Denotes the codes associated with APIs which needs to be enabled
for the buyer. The APIs should be a subset of what is enabled for the
bank. The API codes and the corresponding APIs can be found below ....
items:
maxLength: 10
type: string
clientId:
maxLength: 40
type: string
description: Denotes the client id associated with the bank under which
the buyer is being created. The Visa implementation team will be providing
this.
vbdsClientId:
maxLength: 50
type: string
description: vbdsClientId is the unique id generated for third parties wanting
to subscribe for auth/settlement data in VBDS system.
webServicesEnabled:
type: boolean
description: Denotes if the web services is enabled for the Buyer. Valid
Values are 'True' and 'False'.
vbdsDataSubscription:
type: array
description: This complex element captures information about the subscription
to Data APIs. This is optional and if this object is not provided, the
subscription defaults to bank configuration for the given vbdsClientId.
items:
type: object
properties:
dataSubscriptionType:
type: number
description: 'This field is mandatory if vbdsDataSubcription object
is provided. This field accepts the following subscription types.
Provide the numeric code associated with the API(s) you want to
subscribe to: 5001(Transaction Data API), 5003(Starter Data API),
5004(Authorization Data API (Pull)), 5005(Authorization Data API
(Push))'
dataSubscriptionAccountType:
type: array
description: This is optional. If no value is provided, all the account
types enabled at the bank level for the client are subscribed to
the APIs specified in dataSubscriptionType. Subscribe/unsubscribe
is allowed only for the account types enabled at the bank level
for the provided client.
items:
type: object
properties:
subscribed:
type: boolean
description: 'This field indicates if the accountType should
be susbcribed to the specified Data API(s). E.g. if you want
to subscribe the account type to the API provide ''true''
here. To unsubscribe an account type to an API, provide ''false''.
Valid Values are ''True'' and ''False''.The valid value must
be provided for the account type. '
accountType:
type: string
description: 'This field accepts following values. Please use
the 4-character alpha code: VIPT:VIP / Pseudo Account:Pseudo
Account generated by Visa, NVPA:Non virtual account:Physical
cards, MEMO:Processor account:Virtual accounts generated at
the Processor, FUNA:Funding Account:Parent Account for Visa
Pseudo Accounts or TSYS VPP VAN tokens, VPPT:VPP Token:TSYS
generated tokens (Also referred to as TSYS VPP VANs)'
suppressSupplierNotification:
type: boolean
description: Denotes if all supplier notifications needs to be suppressed. If
this field is set to true, then the web service consumers should handle
the supplier communication themselves. Valid Values are 'True' or 'False'.
ResponseFileConfigForCreate:
type: object
properties:
fileLevel:
maxLength: 1
type: string
description: Denotes if the response COMM File configuration is defined
to be delivered to the bank(B) or Company (C). Valid values are B and
C.
commFileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the Response file
outbound. Required if the file level is B. The Visa implementation team
provides this value after the outbound response file configuration has
been completed.
fileFormat:
type: integer
description: Denotes the format in which the response file needs to be generated.
Needs to be numeric. Valid values are 1 – XLS V0, 2 – CSV V0, 3 - XLS
V1, 4 – CSV V1
recipientLoginIds:
maxItems: 50
uniqueItems: true
type: array
description: Contains the list of user ids of bank/buyer users who will
be receiving the response file in their VOL mailbox. You can setup upto
50 user ids to receive the response file. The user ids should have the
VOL mailbox service entitled to them.
items:
type: string
UpdateSTPPaymentConfig:
type: object
properties:
stpPaymentEnabled:
type: boolean
description: Denotes if the STP Payments is enabled for a template (buyer).Optional
field. Valid values are 'True' or 'False'. This field can be set to true
only if the bank STP Payments option is set to 'True'. This field can
be enabled (set to true) at any time but cannot be disabled if the sync
Buyer Profiles is set to true.
remittanceNotificationEnabled:
type: boolean
description: Denotes if the STP Payment Remittance notification is enabled
for a template (buyer). Valid values are 'True' or 'False'. This field
can be set to true only if the bank STP Payment Remittance Notification
option is set to 'True'. Only if this field is enabled, the STP supplier
will be getting the payment remittance notification. This field can be
edited at any time.
ResponseFileConfigForGet-1:
type: object
properties:
fileLevel:
maxLength: 1
type: string
description: Denotes if the response COMM File configuration is defined
to be delivered to the bank(B) or Company (C).
commFileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the Response file
outbound. The Visa implementation team provides this value after the outbound
response file configuration has been completed.
fileFormat:
type: integer
description: Denotes the format in which the response file needs to be generated.
Valid values are 1 – XLS V0, 2 – CSV V0, 3 - XLS V1, 4 – CSV V1
recipientLoginIds:
maxItems: 80
uniqueItems: true
type: array
description: Contains the list of user ids of bank/buyer users who will
be receiving the response file in their VOL mailbox.
items:
type: string
AuthorizationControlConfig:
type: object
properties:
alertsEnabled:
type: boolean
description: Denotes if the system needs to send an alert when an authorization
on a VPC enabled card is approved or declined. Valid values are 'True'
and 'False'. This field can be set to True only if the authControlEnabled
is set to true for the template.
issuerHoldingBID:
maxLength: 8
pattern: "^[\\d]+$"
type: string
description: Denotes the Holding BID (business id) for the issuer. Should
be numeric. Should be set only if authControlEnabled is set to true for
the template.
authControlEnabled:
type: boolean
description: Denotes if the authorization controls needs to be enabled for
the template (in turn the buyer). Auth controls is mandated for VPP and
VIP buyers. If the value for this field (the tag is not sent) is not
provided, the system defaults it to True if mandate auth controls is set
to 'True' for the bank otherwise the system defaults it to False.
UpdateBoostPaymentConfig:
type: object
properties:
boostPaymentEnabled:
type: boolean
description: Denotes if the Boost Payments is enabled for a template (buyer).Optional
field. Valid values are 'True' or 'False'. This field can be set to true
only if the bank Boost Payments option is set to 'True'. This field
can be enabled (set to true) at any time but cannot be disabled if the
sync Buyer Profiles is set to true.
GetBuyerSuccessResponseV2-1:
type: object
properties:
responseObject:
"$ref": "#/components/schemas/GetBuyerResponseV2-1"
responseStatus:
"$ref": "#/components/schemas/Response"
description: Response for a successful fetch of a Buyer
BuyerFeatureConfigForUpdate:
type: object
properties:
cardMaskingDigits:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in all places other than UI like the recon file,
response file, etc. Should be Numeric. Should be between 4 and 12. This
field can be updated at any time.
pseudoAccountsEnabled:
type: boolean
description: Denotes if "Pseudo Accounts" (VIP Tokens) option is enabled
for the buyer. Valid Values are 'True' and 'False'. The value can be
set to true only if the bank is enabled for this Option. This field can
be enabled (set to true) but can not be disabled (set to false).
fullAccountViewEnabled:
type: boolean
description: Denotes if "Full Account View" functionality is enabled for
the buyer. Valid Values are 'True' and 'False'. The value can be set
to true only if the bank is enabled for this functionality. This field
can be updated at any time.
cardMaskingDigitsOnline:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in the UI. Should be Numeric. Should be between
4 and 12. This field can be updated at any time.
onlinePaymentInstructionEnabled:
type: boolean
description: Denotes if Online payment instruction (Pay Now) functionality
is enabled for the buyer. Valid Values are 'True' and 'False'. The value
can be set to true only if the bank is enabled for Online Payment Instructions. This
field can be updated at any time.
onlinePaymentRequisitionEnabled:
type: boolean
description: Denotes if Online payment Requisition functionality is enabled
for the buyer. If the value for this field (the tag is not sent) is not
provided, the system defaults it to False. Valid Values are 'True' and
'False'. The value can be set to true only if the bank is enabled for
Online Payment Requisitions. This field can be updated at any time.
GetReconciliationFileConfig:
type: object
properties:
commFileId:
maxLength: 40
type: string
description: Comm file Id refers to Comm File info associated with the recon
file outbound delivery.Required if ReconFileDelivery is set to Comms.
templateName:
maxLength: 100
type: string
description: Denotes the name of the custom Reconciliation template to be
used for generating the reconciliation file for all buyers using the template.
adhocReconciliationReportEnabled:
type: boolean
description: Denotes if Adhoc Reconciliation functionality is enabled for
the template (buyers).
onlinePaymentReconciliationEnabled:
type: boolean
description: Denotes if Online payment Reconciliation functionality is enabled
for the template (buyers).
GetBuyerSuccessResponse:
type: object
properties:
responseObject:
"$ref": "#/components/schemas/GetBuyerResponse"
responseStatus:
"$ref": "#/components/schemas/Response"
description: Response for a successful fetch of a Buyer
VanConfigForCreate:
type: object
properties:
fcsBankId:
maxLength: 4
type: string
description: Denotes the Bank Identifier in the TSYS VPP FCS system. This
value will be provided by the Visa implementation team. If the value for
this field (the tag is not sent) is not provided, the system defaults
it to the bank FCS ID if there is only one setup at the bank level. Supports
alphanumeric values. Required if the buyer is enabled for VANs.
vanEnabled:
type: boolean
description: Denotes if "VANs" (VPP Tokens) are enabled for the buyer. Valid
Values are 'True' and 'False'. The value can be set to true only if the
bank is enabled for this Option.
admClientId:
maxLength: 4
type: string
description: Denotes the number the TSYS VPP system uses to identify the
company on the ACE Decision Max system for account assignment. This value
will be provided by the Visa implementation team.
mcADMOptionId:
maxLength: 5
type: string
description: Denotes the option that will be used to assign the virtual
account number in the TSYS VPP platform. For the TS1 platform only, the
option must be set up to assign a virtual account number from the same
BIN as the primary account number. This value will be provided by the
Visa implementation team. If it is a Mastercard bank, then this field
is required.
processingType:
maxLength: 4
type: string
description: Denotes the Processing type for the virtual account number
(VAN). This value will be provided by the Visa implementation team.
visaADMOptionId:
maxLength: 5
type: string
description: Denotes the option that will be used to assign the virtual
account number in the TSYS VPP platform. For the TS1 platform only, the
option must be set up to assign a virtual account number from the same
BIN as the primary account number. If it is a Visa bank, then this field
is required. This value will be provided by the Visa implementation team.
BuyerFeatureConfigForGetV2:
type: object
properties:
cardMaskingDigits:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in all places other than UI like the recon file,
response file, etc.
vcfDataFeedIndicator:
type: string
description: 'The vcfDataFeedIndicator is used for indicating the source
of transactions/settlement data for this company. This value should be
“Yes” if the FI/Processor is going to send settled transactions for the
company [e.g. inbound Visa Commercial Format (VCF)]. It should be “No”
if the company requires Visa to pull the settlement data over the Visa
Network. '
pseudoAccountsEnabled:
type: boolean
description: Denotes if "Pseudo Accounts" (VIP Tokens) option is enabled
for the buyer.
fullAccountViewEnabled:
type: boolean
description: Denotes if "Full Account View" functionality is enabled for
the buyer.
cardMaskingDigitsOnline:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in the UI.
onlinePaymentInstructionEnabled:
type: boolean
description: Denotes if Online payment instruction (Pay Now) functionality
is enabled for the buyer.
onlinePaymentRequisitionEnabled:
type: boolean
description: Denotes if Online payment Requisition functionality is enabled
for the buyer.
GetBuyerSuccessResponseV2-2:
type: object
properties:
responseObject:
"$ref": "#/components/schemas/GetBuyerResponseV2-2"
responseStatus:
"$ref": "#/components/schemas/Response"
description: Response for a successful fetch of a Buyer
RvaReconciliationFileConfigForCreate:
type: object
properties:
fileLevel:
maxLength: 1
type: string
description: Denotes if the RVA recon COMM File configuration is defined
to be delivered to the bank(B) or Company (C). Valid values are B - Bank
and C - Company.
commFileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the RVA recon file
outbound. Required if the file level is B. The Visa implementation team
provides this value after the outbound RVA recon file configuration has
been completed.
fileFormat:
type: integer
description: Denotes the format in which the RVA recon file needs to be
generated. Needs to be numeric. Valid values are 1 – XLS V0, 2 – CSV V0,
3 - XLS V1, 4 – CSV V1
templateId:
maxLength: 5
type: string
description: Denotes the id of the recon template to be used for generating
the RVA reconciliation file. The template id is returned in the response
when you create a new template. If the value for this field (the tag
is not sent) is not provided, the system defaults it to the latest RVA
recon standard template (currentyly 1). Valid values are 1 - RVA Recon
standard template Version 1.0
deliveryTime:
maxLength: 6
type: string
description: Denotes the delivery type or day when the RVA recon file needs
to be generated and delivered. If the value for this field (the tag is
not sent) is not provided, the system defaults it to'1:00' AM for the
daily frequency and 1 for weekly and monthly frequency. Valid format
for the time for the daily frequency is 'HH:MM' in 24 hours format. Valid
values for the Weekly frequency 1 to 7 denoting the days. 1 being Sunday
and 7 being Saturday and Monthly Frequency 1 to 31
deliveryFrequency:
type: integer
description: Denotes the frequency in which the RVA recon file needs to
be delivered. Needs to be numeric. Valid values are 1 – Daily 2 – Weekly
3 - Monthly
recipientLoginIds:
maxItems: 50
uniqueItems: true
type: array
description: Contains the list of user ids of bank/buyer users who will
be receiving the RVA recon file in their VOL mailbox. You can setup upto
50 user ids to receive the RVA recon file.The user ids should have the
VOL mailbox service entitled to them.
items:
type: string
GetBuyerSuccessResponseV2-3:
type: object
properties:
responseObject:
"$ref": "#/components/schemas/GetBuyerResponseV2-3"
responseStatus:
"$ref": "#/components/schemas/Response"
description: Response for a successful fetch of a Buyer
ApprovalWorkflowConfigForCreate:
type: object
properties:
workflowConfigEnabled:
type: boolean
description: Denotes if the Approval Workflow is enabled for the Buyer. If
the value for this field (the tag is not sent) is not provided, the system
defaults it false. Valid Values are 'True' and 'False'. The value can
be set to true only if the bank is enabled for this Option.
workflowFunctionCodes:
uniqueItems: true
type: array
description: Denotes the codes for the functionalities for which Approval
Workflow needs to be enabled. Valid Values are AUCL - Card Limit Update,
LCRC - Lodge/New Card, PYIN - Payment Instruction, PYRN - Payment Requisition
At least one function should be passed in this field if workflowconfigenabled
field is set to true for the buyer.
items:
pattern: "^[a-zA-Z]{4}$"
type: string
enum:
- AUCL
- LCRC
- PYIN
- PYRN
GetBuyerTemplateResponse:
type: object
properties:
vanConfig:
"$ref": "#/components/schemas/GetVanConfig"
templateId:
maxLength: 30
type: string
description: Unique Identifier for a Template. It should be alphanumeric. Should
be an existing template id associated with the bank (associated to the
client id). The template id is returned in the response of the GetTemplate
API.
contactInfo:
"$ref": "#/components/schemas/GetContactInfo"
proxyConfig:
"$ref": "#/components/schemas/GetProxyConfig"
templateName:
maxLength: 50
type: string
description: Name of the template
billingConfig:
"$ref": "#/components/schemas/GetBillingConfig"
paymentConfig:
"$ref": "#/components/schemas/GetPaymentConfig"
processorConfig:
"$ref": "#/components/schemas/GetProcessorConfig"
stpPaymentConfig:
"$ref": "#/components/schemas/GetSTPPaymentConfig"
webServicesConfig:
"$ref": "#/components/schemas/GetWebServicesConfig"
boostPaymentConfig:
"$ref": "#/components/schemas/GetBoostPaymentConfig"
buyerFeatureConfig:
"$ref": "#/components/schemas/GetBuyerFeatureConfig"
responseFileConfig:
"$ref": "#/components/schemas/GetResponseFileConfig"
stripePaymentConfig:
"$ref": "#/components/schemas/GetStripePaymentConfig"
templateDescription:
maxLength: 256
type: string
description: Description of the template.
paymentFileCommConfig:
"$ref": "#/components/schemas/GetPaymentFileCommConfig"
paymentSecurityConfig:
"$ref": "#/components/schemas/GetPaymentSecurityConfig"
approvalWorkflowConfig:
"$ref": "#/components/schemas/GetApprovalWorkflowConfig"
reconciliationFileConfig:
"$ref": "#/components/schemas/GetReconciliationFileConfig"
paymentNotificationConfig:
"$ref": "#/components/schemas/GetPaymentNotificationConfig"
authorizationControlConfig:
"$ref": "#/components/schemas/GetAuthorizationControlConfig"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/GetRVAReconciliationFileConfig"
description: Get Buyer Template Response
Payment-1:
title: Payment
required:
- currencyCode
- paymentGrossAmount
type: object
properties:
invoices:
type: array
items:
"$ref": "#/components/schemas/Invoices-1"
supplier:
"$ref": "#/components/schemas/Supplier-1"
accountType:
type: string
paymentType:
type: string
accountLimit:
type: string
currencyCode:
type: string
accountNumber:
type: string
paymentExpiryDate:
type: string
paymentGrossAmount:
type: string
paymentRequestDate:
type: string
cardAccountExpiryDate:
type: string
GetBuyerTemplateResponseV2-2:
type: object
properties:
vanConfig:
"$ref": "#/components/schemas/GetVanConfig"
templateId:
maxLength: 30
type: string
description: Unique Identifier for a Template. It should be alphanumeric. Should
be an existing template id associated with the bank (associated to the
client id). The template id is returned in the response of the GetTemplate
API.
contactInfo:
"$ref": "#/components/schemas/GetContactInfo"
proxyConfig:
"$ref": "#/components/schemas/GetProxyConfig"
templateName:
maxLength: 50
type: string
description: Name of the template
billingConfig:
"$ref": "#/components/schemas/GetBillingConfig"
paymentConfig:
"$ref": "#/components/schemas/GetPaymentConfig"
processorConfig:
"$ref": "#/components/schemas/GetProcessorConfig"
stpPaymentConfig:
"$ref": "#/components/schemas/GetSTPPaymentConfig"
webServicesConfig:
"$ref": "#/components/schemas/GetWebServicesConfig-1"
boostPaymentConfig:
"$ref": "#/components/schemas/GetBoostPaymentConfig"
buyerFeatureConfig:
"$ref": "#/components/schemas/GetBuyerFeatureConfigV2"
responseFileConfig:
"$ref": "#/components/schemas/GetResponseFileConfig"
stripePaymentConfig:
"$ref": "#/components/schemas/GetStripePaymentConfig"
templateDescription:
maxLength: 256
type: string
description: Description of the template.
paymentFileCommConfig:
"$ref": "#/components/schemas/GetPaymentFileCommConfig"
paymentSecurityConfig:
"$ref": "#/components/schemas/GetPaymentSecurityConfig"
approvalWorkflowConfig:
"$ref": "#/components/schemas/GetApprovalWorkflowConfig"
reconciliationFileConfig:
"$ref": "#/components/schemas/GetReconciliationFileConfig"
paymentNotificationConfig:
"$ref": "#/components/schemas/GetPaymentNotificationConfig"
authorizationControlConfig:
"$ref": "#/components/schemas/GetAuthorizationControlConfig"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/GetRVAReconciliationFileConfig"
description: Get Buyer Template Response V2
ProcessorConfigForGet:
type: object
properties:
embossedLine2:
type: string
description: Denotes the default embossedLine2 for cards. This usually
is the buyer name prefixed by a running number for FIS and buyer name
followed by a running number for other processors
readOnly: true
processorFields:
type: object
additionalProperties:
type: object
properties: {}
suaEmbossedLine1:
type: string
description: Denotes the default embossedLine1 for SUA cards. This usually
is the buyer name prefixed by a running number for FIS and buyer name
followed by a running number for other processors
readOnly: true
closeAccountEnabled:
type: boolean
description: Default to Yes if processor integration is enabled for the
bank. Default to N if Processor integration is not enabled for the bank.
Default to Y if the buyer is enabled for VIP/VPP tokens.
lodgedEmbossedLine1:
type: string
description: Denotes the default embossedLine1 for lodged cards. This usually
is the Supplier name prefixed by a running number for FIS and Supplier
name followed by a running number for other processors
readOnly: true
description: 'This section is used if the issuer has processor integration enabled. When
using processor PANs, the following processors can be enabled for processor
integration: FIS, FDR, TS1, TS2, and TSUK. When using Visa Pseudo accounts
or TSYS VANs, processor integration is not required but if it is enabled the
system goes to the processor to retrieve the latest values (such as expiry
date, current balance and available balance for the funding accounts). The
fields vary for each processor so refer to the details
Buyer Setup Details page for more information on which fields are required
for each processor. If using TSYS VPP VANs or Visa VIP Pseudo Accounts, defaults
values can be used. Please refer to the Buyer Setup Details page for the
defaults'
GetBuyerTemplateResponseV2-1:
type: object
properties:
vanConfig:
"$ref": "#/components/schemas/GetVanConfig"
templateId:
maxLength: 30
type: string
description: Unique Identifier for a Template. It should be alphanumeric. Should
be an existing template id associated with the bank (associated to the
client id). The template id is returned in the response of the GetTemplate
API.
contactInfo:
"$ref": "#/components/schemas/GetContactInfo"
proxyConfig:
"$ref": "#/components/schemas/GetProxyConfig"
templateName:
maxLength: 50
type: string
description: Name of the template
billingConfig:
"$ref": "#/components/schemas/GetBillingConfig"
paymentConfig:
"$ref": "#/components/schemas/GetPaymentConfig"
processorConfig:
"$ref": "#/components/schemas/GetProcessorConfig"
stpPaymentConfig:
"$ref": "#/components/schemas/GetSTPPaymentConfig"
webServicesConfig:
"$ref": "#/components/schemas/GetWebServicesConfig"
boostPaymentConfig:
"$ref": "#/components/schemas/GetBoostPaymentConfig"
buyerFeatureConfig:
"$ref": "#/components/schemas/GetBuyerFeatureConfigV2-1"
responseFileConfig:
"$ref": "#/components/schemas/GetResponseFileConfig"
stripePaymentConfig:
"$ref": "#/components/schemas/GetStripePaymentConfig"
templateDescription:
maxLength: 256
type: string
description: Description of the template.
paymentFileCommConfig:
"$ref": "#/components/schemas/GetPaymentFileCommConfig"
paymentSecurityConfig:
"$ref": "#/components/schemas/GetPaymentSecurityConfig"
approvalWorkflowConfig:
"$ref": "#/components/schemas/GetApprovalWorkflowConfig"
reconciliationFileConfig:
"$ref": "#/components/schemas/GetReconciliationFileConfig"
paymentNotificationConfig:
"$ref": "#/components/schemas/GetPaymentNotificationConfig"
authorizationControlConfig:
"$ref": "#/components/schemas/GetAuthorizationControlConfig"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/GetRVAReconciliationFileConfig"
description: Get Buyer Template Response V2
BError:
type: object
properties:
errorList:
type: array
items:
"$ref": "#/components/schemas/BErrorItem"
description: Error object
CancelPaymentRequest:
title: CancelPaymentRequest
required:
- accountingSoftwareEntityId
- buyerId
- issuerId
- messageId
- vendorId
type: object
properties:
buyerId:
type: string
description: Buyer ID is the buyer identifier as defined in Visa Payables
Automation. Value format is 09.
issuerId:
type: string
description: A '-' (hyphen) separated field which contains the region id,
processor id and bank id
vendorId:
type: string
description: Identifier used by the buyer to identify the vendor. This is
the vendor id of the vendor whose payment is being canceled.
clientKey:
type: string
description: Client key for secure communication
messageId:
type: string
description: Unique ID specific to this API call.
cancelReason:
type: string
description: Contains the reason for canceling the payment.
accountNumber:
type: string
description: An existing Visa card account. Values are 09. Note- If the
account number is passed, it should correspond to the card account number
used for the payment.
codeChallenge:
type: string
description: Code Challenge for secure communication
accountingSoftwareEntityId:
type: string
description: Unique ID used by that particular accounting software entity
example: bill Id with respect to QuickBooks Online(QBO)
description: Cancel payment request payload
BillingConfig:
type: object
properties:
billingBID:
type: string
description: The 11 digit Visa Billing BID that will be billed for the service.
This is in the format of 8 digit Visa BID plus 3 digit country code. E.g.
12345678840 where 840 is country code for United States.
billingType:
type: string
description: Identifies who will be billed for use of the service. I indicates
issuer will be billed (standard). T indicates Third party / fintech will
be billed. M indicates manual billing is set up.
AlternateEmailAddress:
type: object
properties:
alternateEmailAddress:
type: string
ResponseFileConfigForCreate-1:
type: object
properties:
fileLevel:
maxLength: 1
type: string
description: Denotes if the response COMM File configuration is defined
to be delivered to the bank(B) or Company (C). Valid values are B and
C.
commFileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the Response file
outbound. Required if the file level is B. The Visa implementation team
provides this value after the outbound response file configuration has
been completed.
fileFormat:
type: integer
description: Denotes the format in which the response file needs to be generated.
Needs to be numeric. Valid values are 1 – XLS V0, 2 – CSV V0, 3 - XLS
V1, 4 – CSV V1
recipientLoginIds:
maxItems: 80
uniqueItems: true
type: array
description: Contains the list of user ids of bank/buyer users who will
be receiving the response file in their VOL mailbox. You can setup upto
80 user ids to receive the response file. The user ids should have the
VOL mailbox service entitled to them.
items:
type: string
GetBuyerTemplateResponse-1:
type: object
properties:
vanConfig:
"$ref": "#/components/schemas/GetVanConfig"
templateId:
maxLength: 30
type: string
description: Unique Identifier for a Template. It should be alphanumeric. Should
be an existing template id associated with the bank (associated to the
client id). The template id is returned in the response of the GetTemplate
API.
contactInfo:
"$ref": "#/components/schemas/GetContactInfo"
proxyConfig:
"$ref": "#/components/schemas/GetProxyConfig"
templateName:
maxLength: 50
type: string
description: Name of the template
billingConfig:
"$ref": "#/components/schemas/GetBillingConfig"
paymentConfig:
"$ref": "#/components/schemas/GetPaymentConfig"
processorConfig:
"$ref": "#/components/schemas/GetProcessorConfig"
stpPaymentConfig:
"$ref": "#/components/schemas/GetSTPPaymentConfig"
webServicesConfig:
"$ref": "#/components/schemas/GetWebServicesConfig-1"
boostPaymentConfig:
"$ref": "#/components/schemas/GetBoostPaymentConfig"
buyerFeatureConfig:
"$ref": "#/components/schemas/GetBuyerFeatureConfig"
responseFileConfig:
"$ref": "#/components/schemas/GetResponseFileConfig"
stripePaymentConfig:
"$ref": "#/components/schemas/GetStripePaymentConfig"
templateDescription:
maxLength: 256
type: string
description: Description of the template.
paymentFileCommConfig:
"$ref": "#/components/schemas/GetPaymentFileCommConfig"
paymentSecurityConfig:
"$ref": "#/components/schemas/GetPaymentSecurityConfig"
approvalWorkflowConfig:
"$ref": "#/components/schemas/GetApprovalWorkflowConfig"
reconciliationFileConfig:
"$ref": "#/components/schemas/GetReconciliationFileConfig"
paymentNotificationConfig:
"$ref": "#/components/schemas/GetPaymentNotificationConfig"
authorizationControlConfig:
"$ref": "#/components/schemas/GetAuthorizationControlConfig"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/GetRVAReconciliationFileConfig"
description: Get Buyer Template Response
CreateBuyerTemplateResponse:
required:
- templateId
type: object
properties:
templateId:
maxLength: 30
type: string
description: Unique Identifier for a Template. It should be alphanumeric. Should
be an existing template id associated with the bank (associated to the
client id). The template id is returned in the response of the CreateTemplate
API.
description: Create Buyer Template Response
ProxyConfigForGet:
type: object
properties:
holdDays:
maxLength: 3
pattern: "^[\\d]+$"
type: string
description: Denotes the number of days an account picked up for a payment
in a proxy will be kept on hold before being used for another payment. For
payments, the hold days start from the day the payment was processed and
for Request Virtual Account, the hold days start from the day the end
date of the RVA has reached.
autoRefreshEnabled:
type: boolean
description: Denotes if auto replenishment is enabled for proxies associated
with the buyer.
bucketedProxyEnabled:
type: boolean
description: Denotes if bucketed proxy is enabled for proxies associated
with the buyer. Valid Values are 'True' and 'False'.
GetBuyerSuccessResponse-1:
type: object
properties:
responseObject:
"$ref": "#/components/schemas/GetBuyerResponse-1"
responseStatus:
"$ref": "#/components/schemas/Response"
description: Response for a successful fetch of a Buyer
AlternateEmailAddr:
title: AlternateEmailAddr
type: object
properties:
alternateEmailAddress:
type: string
PaymentFileCommConfigForUpdate:
type: object
properties:
edi824FileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the EDI 824 outbound
response file. The COMM file definition should exist in the system. The
Visa implementation team provides this value after the outbound edi 824
file configuration has been completed. This field can be updated at anytime.
edi997FileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the EDI 997 outbound
ack file. The COMM file definition should exist in the system. The Visa
implementation team provides this value after the the outbound edi 997
file configuration has been completed. This field can be updated at anytime.
inboundFileId:
maxLength: 40
type: string
description: Denotes the Comm file ID associated with the inbound payment
file (EDI 820 or SFF). The COMM file definition should exist in the system. The
Visa implementation team provides this value after the inbound file configuration
has been completed. This field can be updated at anytime
GetBuyerTemplateSuccessResponse-1:
type: object
properties:
responseObject:
"$ref": "#/components/schemas/GetBuyerTemplateResponse-1"
responseStatus:
"$ref": "#/components/schemas/Response"
description: Get Buyer Template Success Response
BuyerFeatureConfig:
type: object
properties:
cardMaskingDigits:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in all places other than UI like the recon file,
response file, etc. Should be Numeric. Should be between 4 and 12
vcfDataFeedIndicator:
type: string
description: 'The vcfDataFeedIndicator is used for indicating the source
of transactions/settlement data for this company. This value should be
“Yes” if the FI/Processor is going to send settled transactions for the
company [e.g. inbound Visa Commercial Format (VCF)]. It should be “No”
if the company requires Visa to pull the settlement data over the Visa
Network. '
pseudoAccountsEnabled:
type: boolean
description: Denotes if "Pseudo Accounts" (VIP Tokens) option is enabled
for the template (buyers). Valid Values are 'True' and 'False'. If the
value for this field (the tag is not sent) is not provided, the system
defaults it false. The value can be set to true only if the bank is
enabled for this Option.
fullAccountViewEnabled:
type: boolean
description: Denotes if "Full Account View" functionality is enabled for
the template (buyers). Valid Values are 'True' and 'False'. If the value
for this field (the tag is not sent) is not provided, the system defaults
it to the bank setting for this field. The value can be set to true
only if the bank is enabled for this functionality.
cardMaskingDigitsOnline:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in the UI. Should be Numeric. Should be between
4 and 12
onlinePaymentInstructionEnabled:
type: boolean
description: Denotes if Online payment instruction (Pay Now) functionality
is enabled for the template (buyers). Valid Values are 'True' and 'False'.
If the value for this field (the tag is not sent) is not provided, the
system defaults it to False. The value can be set to true only if
the bank is enabled for Online Payment Instructions.
onlinePaymentRequisitionEnabled:
type: boolean
description: Denotes if Online payment Requisition functionality is enabled
for the template (buyers). Valid Values are 'True' and 'False'. If the
value for this field (the tag is not sent) is not provided, the system
defaults it to False. The value can be set to true only if the bank
is enabled for Online Payment Requisitions.
UpdateStripePaymentConfig:
type: object
properties:
stripePaymentEnabled:
type: boolean
description: Denotes if Stripe payments is enabled for the template (buyer). Optional
field. Valid values are 'True' or 'False'. This field can be set to true
only if the bank Stripe Payment option is set to 'True'. This field can
be enabled (set to true) at any time but cannot be disabled if the sync
Buyer Profiles is set to true.
remittanceNotificationEnabled:
type: boolean
description: Denotes if the Stripe Payment Remittance notification is enabled
for a template (buyer). Valid values are 'True' or 'False'. This field
can be set to true only if the bank Stripe Payment Remittance Notification
option is set to 'True'. Only if this field is enabled, the Stripe supplier
will be getting the payment remittance notification. This field can be
edited at any time.
WebServicesConfigForCreate:
type: object
properties:
apiCodes:
maxItems: 200
uniqueItems: true
type: array
description: Reserved for Future use. The system will default the apiCodes
to what is set for the bank.
items:
maxLength: 10
type: string
clientId:
maxLength: 40
type: string
description: Reserved for Future use. The system will default the client
ID to what is set for the bank.
vbdsClientId:
maxLength: 50
type: string
description: vbdsClientId is the unique id generated for third parties wanting
to subscribe for auth/settlement data in VBDS system. Field is alphanumeric.
webServicesEnabled:
type: boolean
description: Denotes if the web services is enabled for the Buyer. If the
value for this field (the tag is not sent) is not provided, the system
defaults it false. Valid Values are 'True' and 'False'. The value can
be set to true only if the bank is enabled for this Option.
suppressSupplierNotification:
type: boolean
description: Denotes if all supplier notifications needs to be suppressed. If
this field is set to true, then the web service consumers should handle
the supplier communication themselves. If the value for this field (the
tag is not sent) is not provided, the system defaults it to False. Valid
Values are 'True' or 'False'.
ErrorResponse:
type: object
properties:
errorObject:
"$ref": "#/components/schemas/Error"
responseStatus:
"$ref": "#/components/schemas/Response"
description: Create Buyer Template Error Response
WebServicesConfig:
type: object
properties:
apiCodes:
maxItems: 200
uniqueItems: true
type: array
items:
maxLength: 10
type: string
description: Reserved for Future use. The system will default the apiCodes
to what is set for the bank.
clientId:
maxLength: 40
type: string
description: Reserved for Future use. The system will default the client
ID to what is set for the bank.
vbdsClientId:
maxLength: 50
type: string
description: vbdsClientId is the unique id generated for third parties wanting
to subscribe for auth/settlement data in VBDS system. Should be alphanumeric.
webServicesEnabled:
type: boolean
description: Denotes if the web services is enabled for the template (Buyer). Valid
Values are 'True' and 'False'. If the value for this field (the tag is
not sent) is not provided, the system defaults it false. The value can
be set to true only if the bank is enabled for this Option.
suppressSupplierNotification:
type: boolean
description: Denotes if all supplier notifications needs to be suppressed.
Valid Values are 'True' or 'False'. If this field is set to true, then
the web service consumers should handle the supplier communication themselves. If
the value for this field (the tag is not sent) is not provided, the system
defaults it to False.
POPErrorResponse:
title: POPErrorResponse
required:
- errorResponse
- messageId
- statusCode
type: object
properties:
messageId:
type: string
description: Unique ID specific to this API call.
statusCode:
type: integer
description: HTTP Error status code
errorResponse:
"$ref": "#/components/schemas/ErrorResponse-1"
statusDescription:
type: string
description: HTTP Error status description
description: Error Response for POP APIs
UpdateWebServicesConfig:
type: object
properties:
apiCodes:
maxItems: 200
uniqueItems: true
type: array
items:
maxLength: 10
type: string
description: Reserved for Future use. The system will default the apiCodes
to what is set for the bank.
clientId:
maxLength: 40
type: string
description: Reserved for Future use. The system will default the client
ID to what is set for the bank.
vbdsClientId:
maxLength: 50
type: string
description: vbdsClientId is the unique id generated for third parties wanting
to subscribe for auth/settlement data in VBDS system. Should be alphanumeric. Can
be set at any time if it is blank. But cannot be changed if it is already
set if the sync Buyer Profiles field is set to true.
webServicesEnabled:
type: boolean
description: Denotes if the web services is enabled for the template (Buyer). Valid
Values are 'True' and 'False'. The value can be set to true only if the
bank is enabled for this Option. Can be enabled (set to true) at any time. But
cannot be disabled if sync Buyer Profiles field is set to true.
suppressSupplierNotification:
type: boolean
description: Denotes if all supplier notifications needs to be suppressed. If
this field is set to true, then the web service consumers should handle
the supplier communication themselves. Valid Values are 'True' or 'False'.
This field can be edited at any time.
UpdateReconciliationFileConfig:
type: object
properties:
adhocReconciliationReportEnabled:
type: boolean
description: Denotes if Adhoc Reconciliation functionality is enabled for
the template (buyers). Valid Values are 'True' and 'False'. The value
can be set to true only if the bank is enabled for Adhoc Reconciliation. This
field Can be edited at any time.
onlinePaymentReconciliationEnabled:
type: boolean
description: Denotes if Online payment Reconciliation functionality is enabled
for the template (buyers). Valid Values are 'True' and 'False'. The value
can be set to true only if the bank is enabled for Online Payment Reconciliation. This
field Can be edited at any time.
ResponseFileConfig:
type: object
properties:
commFileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the Response file
outbound.
UpdateVanConfig:
type: object
properties:
fcsBankId:
maxLength: 4
type: string
description: Denotes the Bank Identifier in the TSYS VPP FCS system. Supports
alphanumeric values. Required if the template is enabled for VANs. Can
be set at any time if it is blank. But cannot be changed if it is already
set if the sync Buyer Profiles field is set to true.
vanEnabled:
type: boolean
description: Denotes if "VANs" (VPP Tokens) are enabled for the template
(buyers). Valid Values are 'True' and 'False'. The value can be set to
true only if the bank is enabled for this Option. Can be set to true
any time. But cannot be disabled if the sync Buyer Profiles field is
set to true.
PaymentFileCommConfigForGet:
type: object
properties:
edi824FileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the EDI 824 outbound
response file.
edi997FileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the EDI 997 outbound
ack file.
inboundFileId:
maxLength: 40
type: string
description: Denotes the Comm file ID associated with the inbound payment
file (EDI 820 or SFF).
UpdateResponseFileConfig:
type: object
properties:
commFileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the Response file
outbound. This field Can be edited at any time.
ResponseFileConfigForGet:
type: object
properties:
fileLevel:
maxLength: 1
type: string
description: Denotes if the response COMM File configuration is defined
to be delivered to the bank(B) or Company (C).
commFileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the Response file
outbound. The Visa implementation team provides this value after the outbound
response file configuration has been completed.
fileFormat:
type: integer
description: Denotes the format in which the response file needs to be generated.
Valid values are 1 – XLS V0, 2 – CSV V0, 3 - XLS V1, 4 – CSV V1
recipientLoginIds:
maxItems: 50
uniqueItems: true
type: array
description: Contains the list of user ids of bank/buyer users who will
be receiving the response file in their VOL mailbox.
items:
type: string
ApprovalWorkflowConfigForUpdate:
type: object
properties:
workflowConfigEnabled:
type: boolean
description: Denotes if the Approval Workflow is enabled for the Buyer. Valid
Values are 'True' and 'False'. The value can be set to true only if the
bank is enabled for this Option. This field can be updated to true at
any time. But cannot be updated to false.
workflowFunctionCodes:
uniqueItems: true
type: array
description: Denotes the codes for the functionalities for which Approval
Workflow needs to be enabled. Valid Values are AUCL - Card Limit Update,
LCRC - Lodge/New Card, PYIN - Payment Instruction, PYRN - Payment Requisition
At least one function should be passed in this field if workflowconfigenabled
field is set to true for the buyer. This field can be updated at any
time.
items:
pattern: "^[a-zA-Z]{4}$"
type: string
enum:
- AUCL
- LCRC
- PYIN
- PYRN
POPErrorResponse-1:
title: POPErrorResponse
required:
- errorResponse
- messageId
- statusCode
type: object
properties:
messageId:
type: string
description: Unique ID specific to this API call.
statusCode:
type: integer
description: HTTP Error status code
errorResponse:
"$ref": "#/components/schemas/ErrorResponse-1"
statusDescription:
type: string
description: HTTP Error status description
description: Error Response for POP APIs
AuthorizationControlConfigForCreate:
type: object
properties:
alertsEnabled:
type: boolean
description: Denotes if the system needs to send an alert when an authorization
on a VPC enabled card is approved or declined. Valid values are 'True'
and 'False'. This field can be set to True only if the authControlEnabled
is set to true for the buyer.
issuerHoldingBID:
pattern: "^[\\d]{8}$"
type: string
description: Denotes the Holding BID (business id) for the issuer. Should
be numeric. Should be set only if authControlEnabled is set to true for
the buyer.
authControlEnabled:
type: boolean
description: Denotes if the authorization controls needs to be enabled for
the buyer. Auth controls is mandated for VPP and VIP buyers. If the
value for this field (the tag is not sent) is not provided, the system
defaults it to True if mandate auth controls is set to 'True' for the
bank otherwise the system defaults it to False.
StpPaymentConfigForGet:
type: object
properties:
stpPaymentEnabled:
type: boolean
description: Denotes if STP payments is enabled for the buyer. Valid values
are 'True' or 'False'.
accountHolderLastName:
maxLength: 100
type: string
description: Denotes the Account Holder's last Name which will be used while
processing the STP payment.
accountHolderFirstName:
maxLength: 100
type: string
description: Denotes the Account Holder's first Name which will be used
while processing the STP payment.
remittanceNotificationEnabled:
type: boolean
description: Denotes if the STP Payment Remittance notification is enabled
for a buyer. Optional field. Valid values are 'True' or 'False'. The
STP supplier will be getting the payment remittance notification only
if this field is enabled.
StripePaymentConfigForCreate:
type: object
properties:
stripePaymentEnabled:
type: boolean
description: Denotes if Stripe payments is enabled for the buyer. Optional
field. If the value for this field (the tag is not sent) is not provided,
the system defaults it to 'False'. Valid values are 'True' or 'False'.
This field can be set to true only if the bank Stripe Payment option is
set to 'True'.
remittanceNotificationEnabled:
type: boolean
description: Denotes if the Stripe Payment Remittance notification is enabled
for a buyer. Optional field. If the value for this field (the tag is
not present) is not provided, the system defaults it to 'False'. Valid
values are 'True' or 'False'. This field can be set to true only if the
bank Stripe Payment Remittance Notification option is set to 'True'. The
Stripe supplier will be getting the payment remittance notification only
if this field is enabled.
BillingConfigForGet:
type: object
properties:
billingBID:
type: string
description: The 11 digit Visa Billing BID that will be billed for the service.
This is in the format of 8 digit Visa BID plus 3 digit country code. E.g.
12345678840 where 840 is country code for United States.
billingType:
type: string
description: Identifies who will be billed for use of the service. I indicates
issuer will be billed (standard). T indicates Third party / fintech will
be billed. M indicates manual billing is set up.
ApprovalWorkflowConfigForGet:
type: object
properties:
workflowConfigEnabled:
type: boolean
description: Denotes if the Approval Workflow is enabled for the Buyer.
workflowFunctionCodes:
uniqueItems: true
type: array
description: Denotes the codes for the functionalities for which Approval
Workflow needs to be enabled. Valid Values are AUCL - Card Limit Update,
LCRC - Lodge/New Card, PYIN - Payment Instruction, PYRN - Payment Requisition
items:
pattern: "^[a-zA-Z]{4}$"
type: string
enum:
- AUCL
- LCRC
- PYIN
- PYRN
OnboardingResponse:
type: object
properties:
clientKey:
type: string
description: Client key for secure communication
messageId:
type: string
description: Unique identifier for the message
errorMessage:
type: string
description: Error message, if any
codeChallenge:
type: string
description: Code Challenge for secure communication
CreateBuyerRequest-1:
required:
- clientId
- contactInfo
- messageId
type: object
properties:
clientId:
maxLength: 25
type: string
description: ClientID uniquely identifies a financial institution. This
will be provided by Visa implementation team.
messageId:
maxLength: 36
type: string
description: Unique identifier for identifying the request.
vanConfig:
"$ref": "#/components/schemas/VanConfigForCreate"
contactInfo:
"$ref": "#/components/schemas/ContactInfoForCreate"
proxyConfig:
"$ref": "#/components/schemas/ProxyConfigForCreate"
billingConfig:
"$ref": "#/components/schemas/BillingConfigForCreate"
paymentConfig:
"$ref": "#/components/schemas/PaymentConfigForCreate"
processorConfig:
"$ref": "#/components/schemas/ProcessorConfigForCreate"
stpPaymentConfig:
"$ref": "#/components/schemas/StpPaymentConfigForCreate"
paymentFileConfig:
"$ref": "#/components/schemas/PaymentFileCommConfigForCreate"
webServicesConfig:
"$ref": "#/components/schemas/WebServicesConfigForCreate"
boostPaymentConfig:
"$ref": "#/components/schemas/BoostPaymentConfigForCreate"
buyerFeatureConfig:
"$ref": "#/components/schemas/BuyerFeatureConfigForCreate-1"
responseFileConfig:
"$ref": "#/components/schemas/ResponseFileConfigForCreate"
stripePaymentConfig:
"$ref": "#/components/schemas/StripePaymentConfigForCreate"
paymentSecurityConfig:
"$ref": "#/components/schemas/PaymentSecurityConfigForCreate"
approvalWorkflowConfig:
"$ref": "#/components/schemas/ApprovalWorkflowConfigForCreate"
reconciliationFileConfig:
"$ref": "#/components/schemas/ReconciliationFileConfigForCreate"
paymentNotificationConfig:
"$ref": "#/components/schemas/PaymentNotificationConfigForCreate"
authorizationControlConfig:
"$ref": "#/components/schemas/AuthorizationControlConfigForCreate"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/RvaReconciliationFileConfigForCreate"
description: Buyer Profile Details for creating a new buyer.
CreateBuyerRequest-2:
required:
- clientId
- contactInfo
- messageId
type: object
properties:
clientId:
maxLength: 25
type: string
description: ClientID uniquely identifies a financial institution. This
will be provided by Visa implementation team.
messageId:
maxLength: 36
type: string
description: Unique identifier for identifying the request.
vanConfig:
"$ref": "#/components/schemas/VanConfigForCreate"
contactInfo:
"$ref": "#/components/schemas/ContactInfoForCreate"
proxyConfig:
"$ref": "#/components/schemas/ProxyConfigForCreate"
billingConfig:
"$ref": "#/components/schemas/BillingConfigForCreate"
paymentConfig:
"$ref": "#/components/schemas/PaymentConfigForCreate"
processorConfig:
"$ref": "#/components/schemas/ProcessorConfigForCreate"
stpPaymentConfig:
"$ref": "#/components/schemas/StpPaymentConfigForCreate"
paymentFileConfig:
"$ref": "#/components/schemas/PaymentFileCommConfigForCreate"
webServicesConfig:
"$ref": "#/components/schemas/WebServicesConfigForCreate-1"
boostPaymentConfig:
"$ref": "#/components/schemas/BoostPaymentConfigForCreate"
buyerFeatureConfig:
"$ref": "#/components/schemas/BuyerFeatureConfigForCreate"
responseFileConfig:
"$ref": "#/components/schemas/ResponseFileConfigForCreate-1"
stripePaymentConfig:
"$ref": "#/components/schemas/StripePaymentConfigForCreate"
paymentSecurityConfig:
"$ref": "#/components/schemas/PaymentSecurityConfigForCreate"
approvalWorkflowConfig:
"$ref": "#/components/schemas/ApprovalWorkflowConfigForCreate"
reconciliationFileConfig:
"$ref": "#/components/schemas/ReconciliationFileConfigForCreate-1"
paymentNotificationConfig:
"$ref": "#/components/schemas/PaymentNotificationConfigForCreate"
authorizationControlConfig:
"$ref": "#/components/schemas/AuthorizationControlConfigForCreate"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/RvaReconciliationFileConfigForCreate-1"
description: Buyer Profile Details for creating a new buyer.
CreateBuyerRequest-3:
required:
- clientId
- contactInfo
- messageId
type: object
properties:
clientId:
maxLength: 25
type: string
description: ClientID uniquely identifies a financial institution. This
will be provided by Visa implementation team.
messageId:
maxLength: 36
type: string
description: Unique identifier for identifying the request.
vanConfig:
"$ref": "#/components/schemas/VanConfigForCreate"
contactInfo:
"$ref": "#/components/schemas/ContactInfoForCreate-1"
proxyConfig:
"$ref": "#/components/schemas/ProxyConfigForCreate"
billingConfig:
"$ref": "#/components/schemas/BillingConfigForCreate"
paymentConfig:
"$ref": "#/components/schemas/PaymentConfigForCreate"
processorConfig:
"$ref": "#/components/schemas/ProcessorConfigForCreate"
stpPaymentConfig:
"$ref": "#/components/schemas/StpPaymentConfigForCreate"
paymentFileConfig:
"$ref": "#/components/schemas/PaymentFileCommConfigForCreate"
webServicesConfig:
"$ref": "#/components/schemas/WebServicesConfigForCreate-2"
boostPaymentConfig:
"$ref": "#/components/schemas/BoostPaymentConfigForCreate"
buyerFeatureConfig:
"$ref": "#/components/schemas/BuyerFeatureConfigForCreate"
responseFileConfig:
"$ref": "#/components/schemas/ResponseFileConfigForCreate-1"
stripePaymentConfig:
"$ref": "#/components/schemas/StripePaymentConfigForCreate"
paymentSecurityConfig:
"$ref": "#/components/schemas/PaymentSecurityConfigForCreate"
approvalWorkflowConfig:
"$ref": "#/components/schemas/ApprovalWorkflowConfigForCreate"
reconciliationFileConfig:
"$ref": "#/components/schemas/ReconciliationFileConfigForCreate-1"
paymentNotificationConfig:
"$ref": "#/components/schemas/PaymentNotificationConfigForCreate"
authorizationControlConfig:
"$ref": "#/components/schemas/AuthorizationControlConfigForCreate"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/RvaReconciliationFileConfigForCreate-1"
description: Buyer Profile Details for creating a new buyer.
ContactInfoForCreate-1:
required:
- addressLine1
- buyerName
- city
- companyId
- contactName
- countryCode
- state
- zipCode
type: object
properties:
city:
maxLength: 20
type: string
description: Contains the City Name of the buyer's contact address.
state:
maxLength: 27
type: string
description: Contains the state of the buyer's contact address.
phone1:
maxLength: 20
type: string
description: Contains the buyer contact phone number 1. Field is alphanuemeric.
Special characters allowed are - (dash), ( (Open braces),) (close braces).
phone2:
maxLength: 20
type: string
description: Contains the buyer contact phone number 2. Field is alphanumeric.
Special characters allowed are - (dash), ( (Open braces),) (close braces).
phone3:
maxLength: 20
type: string
description: Contains the buyer contact phone number 3. Field is alphanumeric.
Special characters allowed are - (dash), ( (Open braces),) (close braces).
buyerId:
maxLength: 25
pattern: "^[\\d]+$"
type: string
description: Contains the buyer identifier as defined in Visa Payables Automation.
This is often the ID defined at the processor. Value format is 0–9. It
is a mandatory field.
zipCode:
maxLength: 9
type: string
description: Contains the Postal Code of the buyer's contact address. Do
not include special characters, e.g. hyphen, in the zipcode. If a special
character is provided it will be removed and processed with only nine
digits. Null is allowed.
buyerName:
maxLength: 100
type: string
description: Contains the name of the buyer. It is a mandatory field.
companyId:
maxLength: 10
pattern: "^[\\d]+$"
type: string
description: Contains the buyer identifier as defined at the issuer processor.
Value format is 0–9. It is a mandatory field.
phone1Ext:
maxLength: 20
type: string
description: Contains the extension of the buyer contact phone number 1.
Field is alphanumeric. Special characters allowed are - (dash), ( (Open
braces),) (close braces).
phone2Ext:
maxLength: 20
type: string
description: Contains the extension of the buyer contact phone number 2.
Field is alphanumeric. Special characters allowed are - (dash), ( (Open
braces),) (close braces).
phone3Ext:
maxLength: 20
type: string
description: Contains the extension of the buyer contact phone number 3.
Field is alphanumeric. Special characters allowed are - (dash), ( (Open
braces),) (close braces).
templateId:
maxLength: 30
pattern: "^[\\w-]+$"
type: string
description: Contains the unique identifier for a Template asscoiated with
the bank. Template id of the template which was sent in the response when
you created a new template. This field should be blank if the buyer is
created without a template.
contactName:
maxLength: 100
type: string
description: Contains the name of the primary contact person in the buyer.
The input should be alphabets.
countryCode:
maxLength: 3
pattern: "^[a-zA-Z]{3}$"
type: string
description: Contains the ISO alpha country code of the buyer's contact
address. For example- USA.
addressLine1:
maxLength: 40
type: string
description: Contains the line 1 of the buyer's contact address.
addressLine2:
maxLength: 40
type: string
description: Contains the line 2 of the buyer's contact address.
addressLine3:
maxLength: 80
type: string
description: Contains the line 3 of the buyer's contact address.
emailAddress:
maxLength: 100
type: string
description: Contains the buyer's contact Email Address. Should be an valid
email address.
implementationType:
type: integer
description: Valid Values are:1 – VPA UI, 2 – VPA API and 3 – Visa Commercial
Pay. Select 1 if buyer will use VPA user interface (issuer direct use
of VPA). Select 2 if buyer is created by a third party fintech and will
use the VPA APIs. Select 3 if buyer is created in VPA for Visa Commercial
Pay service.
CreateBuyerRequest-4:
required:
- clientId
- contactInfo
- messageId
type: object
properties:
clientId:
maxLength: 25
type: string
description: ClientID uniquely identifies a financial institution. This
will be provided by Visa implementation team.
messageId:
maxLength: 36
type: string
description: Unique identifier for identifying the request.
vanConfig:
"$ref": "#/components/schemas/VanConfigForCreate"
contactInfo:
"$ref": "#/components/schemas/ContactInfoForCreate"
proxyConfig:
"$ref": "#/components/schemas/ProxyConfigForCreate"
billingConfig:
"$ref": "#/components/schemas/BillingConfigForCreate"
paymentConfig:
"$ref": "#/components/schemas/PaymentConfigForCreate"
processorConfig:
"$ref": "#/components/schemas/ProcessorConfigForCreate"
stpPaymentConfig:
"$ref": "#/components/schemas/StpPaymentConfigForCreate"
paymentFileConfig:
"$ref": "#/components/schemas/PaymentFileCommConfigForCreate"
webServicesConfig:
"$ref": "#/components/schemas/WebServicesConfigForCreate-2"
boostPaymentConfig:
"$ref": "#/components/schemas/BoostPaymentConfigForCreate"
buyerFeatureConfig:
"$ref": "#/components/schemas/BuyerFeatureConfigForCreate"
responseFileConfig:
"$ref": "#/components/schemas/ResponseFileConfigForCreate-1"
stripePaymentConfig:
"$ref": "#/components/schemas/StripePaymentConfigForCreate"
paymentSecurityConfig:
"$ref": "#/components/schemas/PaymentSecurityConfigForCreate"
approvalWorkflowConfig:
"$ref": "#/components/schemas/ApprovalWorkflowConfigForCreate"
reconciliationFileConfig:
"$ref": "#/components/schemas/ReconciliationFileConfigForCreate-1"
paymentNotificationConfig:
"$ref": "#/components/schemas/PaymentNotificationConfigForCreate"
authorizationControlConfig:
"$ref": "#/components/schemas/AuthorizationControlConfigForCreate"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/RvaReconciliationFileConfigForCreate-1"
description: Buyer Profile Details for creating a new buyer.
RvaReconciliationFileConfigForGet:
type: object
properties:
fileLevel:
maxLength: 1
type: string
description: Denotes if the RVA recon COMM File configuration is defined
to be delivered to the bank(B) or Company (C). Valid values are B - Bank
and C - Company.
commFileId:
type: string
description: Denotes the Comm File ID associated with the RVA recon file
outbound. The COMM file definition should exist in the system. The Visa
implementation team provides this value after the outbound RVA recon file
configuration has been completed.
fileFormat:
type: integer
description: Denotes the format in which the RVA recon file needs to be
generated. Valid values are 1 – XLS V0, 2 – CSV V0, 3 - XLS V1, 4 – CSV
V1
templateId:
maxLength: 5
type: string
description: Denotes the id of the recon template to be used for generating
the RVA reconciliation file. Valid values are 1 - RVA Recon standard template
Version 1.0
deliveryTime:
maxLength: 6
type: string
description: Denotes the delivery type or day when the RVA recon file needs
to be generated and delivered. Valid format for the time for the daily
frequency is 'HH:MM' in 24 hours format. Valid values for the Weekly
frequency 1 to 7 denoting the days. 1 being Sunday and 7 being Saturday
and Monthly Frequency 1 to 31
deliveryFrequency:
type: integer
description: Denotes the frequency in which the RVA recon file needs to
be delivered. Valid values are 1 – Daily 2 – Weekly 3 - Monthly
recipientLoginIds:
maxItems: 50
uniqueItems: true
type: array
description: Contains the list of user ids of bank/buyer users who will
be receiving the RVA recon file in their VOL mailbox.
items:
type: string
BillingConfigForCreate:
type: object
properties:
billingBID:
type: string
description: The 11 digit Visa Billing BID that will be billed for the service.
This is in the format of 8 digit Visa BID plus 3 digit country code. E.g.
12345678840 where 840 is country code for United States.
billingType:
type: string
description: Identifies who will be billed for use of the service. I indicates
issuer will be billed (standard). T indicates Third party / fintech will
be billed. M indicates manual billing is set up.
BoostPaymentConfigForUpdate:
type: object
properties:
boostPaymentEnabled:
type: boolean
description: Denotes if Boost payments is enabled for the buyer. Valid
values are 'True' or 'False'. This field can be set to true only if the
bank Boost Payment option is set to 'True'. You can enable Boost payments
for a buyer at any time. But you cannot disable it (update it to false)
if there are Boost suppliers present for the buyer
GetBuyerFeatureConfigV2-1:
type: object
properties:
cardMaskingDigits:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in all places other than UI like the recon file,
response file, etc.
vcfDataFeedIndicator:
type: string
description: Denotes if the financial institution will be providing buyer/business(VCF)
data for the buyer. Valid Values are 'Y' and 'N'.
pseudoAccountsEnabled:
type: boolean
description: Denotes if "Pseudo Accounts" (VIP Tokens) option is enabled
for the template (buyers).
fullAccountViewEnabled:
type: boolean
description: Denotes if "Full Account View" functionality is enabled for
the template (buyers).
cardMaskingDigitsOnline:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in the UI.
onlinePaymentInstructionEnabled:
type: boolean
description: Denotes if Online payment instruction (Pay Now) functionality
is enabled for the template (buyers).
onlinePaymentRequisitionEnabled:
type: boolean
description: Denotes if Online payment Requisition functionality is enabled
for the template (buyer).
RvaReconciliationFileConfigForCreate-1:
type: object
properties:
fileLevel:
maxLength: 1
type: string
description: Denotes if the RVA recon COMM File configuration is defined
to be delivered to the bank(B) or Company (C). Valid values are B - Bank
and C - Company.
commFileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the RVA recon file
outbound. Required if the file level is B. The Visa implementation team
provides this value after the outbound RVA recon file configuration has
been completed.
fileFormat:
type: integer
description: Denotes the format in which the RVA recon file needs to be
generated. Needs to be numeric. Valid values are 1 – XLS V0, 2 – CSV V0,
3 - XLS V1, 4 – CSV V1
templateId:
maxLength: 5
type: string
description: Denotes the id of the recon template to be used for generating
the RVA reconciliation file. The template id is returned in the response
when you create a new template. If the value for this field (the tag
is not sent) is not provided, the system defaults it to the latest RVA
recon standard template (currentyly 1). Valid values are 1 - RVA Recon
standard template Version 1.0
deliveryTime:
maxLength: 6
type: string
description: Denotes the delivery type or day when the RVA recon file needs
to be generated and delivered. If the value for this field (the tag is
not sent) is not provided, the system defaults it to'1:00' AM for the
daily frequency and 1 for weekly and monthly frequency. Valid format
for the time for the daily frequency is 'HH:MM' in 24 hours format. Valid
values for the Weekly frequency 1 to 7 denoting the days. 1 being Sunday
and 7 being Saturday and Monthly Frequency 1 to 31
deliveryFrequency:
type: integer
description: Denotes the frequency in which the RVA recon file needs to
be delivered. Needs to be numeric. Valid values are 1 – Daily 2 – Weekly
3 - Monthly
recipientLoginIds:
maxItems: 80
uniqueItems: true
type: array
description: Contains the list of user ids of bank/buyer users who will
be receiving the RVA recon file in their VOL mailbox. You can setup upto
80 user ids to receive the RVA recon file.The user ids should have the
VOL mailbox service entitled to them.
items:
type: string
GetBillingConfig:
type: object
properties:
billingBID:
type: string
description: The 11 digit Visa Billing BID that will be billed for the service.
This is in the format of 8 digit Visa BID plus 3 digit country code. E.g.
12345678840 where 840 is country code for United States.
billingType:
type: string
description: Identifies who will be billed for use of the service. I indicates
issuer will be billed (standard). T indicates Third party / fintech will
be billed. M indicates manual billing is set up.
GetBoostPaymentConfig:
type: object
properties:
boostPaymentEnabled:
type: boolean
description: Denotes if the Boost Payments is enabled for a template (buyer).
BuyerFeatureConfig-1:
type: object
properties:
cardMaskingDigits:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in all places other than UI like the recon file,
response file, etc. Should be Numeric. Should be between 4 and 12
vcfDataFeedIndicator:
type: string
description: Denotes if the financial institution will be providing buyer/business(VCF)
data for the buyer. Valid Values are 'Y' and 'N'.
pseudoAccountsEnabled:
type: boolean
description: Denotes if "Pseudo Accounts" (VIP Tokens) option is enabled
for the template (buyers). Valid Values are 'True' and 'False'. If the
value for this field (the tag is not sent) is not provided, the system
defaults it false. The value can be set to true only if the bank is
enabled for this Option.
fullAccountViewEnabled:
type: boolean
description: Denotes if "Full Account View" functionality is enabled for
the template (buyers). Valid Values are 'True' and 'False'. If the value
for this field (the tag is not sent) is not provided, the system defaults
it to the bank setting for this field. The value can be set to true
only if the bank is enabled for this functionality.
cardMaskingDigitsOnline:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in the UI. Should be Numeric. Should be between
4 and 12
onlinePaymentInstructionEnabled:
type: boolean
description: Denotes if Online payment instruction (Pay Now) functionality
is enabled for the template (buyers). Valid Values are 'True' and 'False'.
If the value for this field (the tag is not sent) is not provided, the
system defaults it to False. The value can be set to true only if
the bank is enabled for Online Payment Instructions.
onlinePaymentRequisitionEnabled:
type: boolean
description: Denotes if Online payment Requisition functionality is enabled
for the template (buyers). Valid Values are 'True' and 'False'. If the
value for this field (the tag is not sent) is not provided, the system
defaults it to False. The value can be set to true only if the bank
is enabled for Online Payment Requisitions.
AuthorizationControlConfigForGet:
type: object
properties:
alertsEnabled:
type: boolean
description: Denotes if the system needs to send an alert when an authorization
on a VPC enabled card is approved or declined.
issuerHoldingBID:
pattern: "^[\\d]{8}$"
type: string
description: Denotes the Holding BID (business id) for the issuer.
authControlEnabled:
type: boolean
description: Denotes if the authorization controls needs to be enabled for
the buyer. Auth controls is mandated for VPP and VIP buyers.
defaultAuthControlEnabled:
type: boolean
description: Denotes if the “Auth Control” option needs to be enabled by
default for all the new suppliers created.
readOnly: true
authControlPaymentTemplate:
type: string
description: Denotes the name of the email template which will be used for
generating the email notifications if auth control is enabled.
readOnly: true
WebServicesConfigForGetV2-1:
type: object
properties:
apiCodes:
maxItems: 200
uniqueItems: true
type: array
description: Denotes the codes associated with APIs which needs to be enabled
for the buyer. The APIs should be a subset of what is enabled for the
bank. The API codes and the corresponding APIs can be found below ....
items:
maxLength: 10
type: string
clientId:
maxLength: 40
type: string
description: Denotes the client id associated with the bank under which
the buyer is being created. The Visa implementation team will be providing
this.
vbdsClientId:
maxLength: 50
type: string
description: vbdsClientId is the unique id generated for third parties wanting
to subscribe for auth/settlement data in VBDS system.
webServicesEnabled:
type: boolean
description: Denotes if the web services is enabled for the Buyer. Valid
Values are 'True' and 'False'.
vbdsDataSubscription:
type: array
description: This complex element captures information about the subscription
to Data APIs. This is optional and if this object is not provided, the
subscription defaults to bank configuration for the given vbdsClientId.
items:
type: object
properties:
dataSubscriptionType:
type: number
description: 'This field is mandatory if vbdsDataSubcription object
is provided. This field accepts the following subscription types.
Provide the numeric code associated with the API(s) you want to
subscribe to: 5001(Transaction Data API), 5003(Starter Data API),
5004(Authorization Data API (Pull)), 5005(Authorization Data API
(Push))'
dataSubscriptionAccountType:
type: array
description: This is optional. If no value is provided, all the account
types enabled at the bank level for the client are subscribed to
the APIs specified in dataSubscriptionType. Subscribe/unsubscribe
is allowed only for the account types enabled at the bank level
for the provided client.
items:
type: object
properties:
subscribed:
type: boolean
description: 'This field indicates if the accountType should
be subscribed to the specified Data API(s). E.g. if you want
to subscribe the account type to the API provide ''true''
here. To unsubscribe an account type to an API, provide ''false''.
Valid Values are ''True'' and ''False''.The valid value must
be provided for the account type. '
accountType:
type: string
description: 'This field accepts following values. Please use
the 4-character alpha code: VIPT:VIP/Pseudo Account-Pseudo
Account generated by Visa, NVPA:Non virtual account-Physical
cards, MEMO:Processor account-Virtual accounts generated at
the Processor, FUNA:Funding Account-Parent Account for Visa
Pseudo Accounts or TSYS VPP VAN tokens, VPPT:VPP Token-TSYS
generated tokens (Also referred to as TSYS VPP VANs)'
suppressSupplierNotification:
type: boolean
description: Denotes if all supplier notifications needs to be suppressed. If
this field is set to true, then the web service consumers should handle
the supplier communication themselves. Valid Values are 'True' or 'False'.
VanConfig:
type: object
properties:
fcsBankId:
maxLength: 4
type: string
description: Denotes the Bank Identifier in the TSYS VPP FCS system. If
the value for this field (the tag is not sent) is not provided, the system
defaults it to the bank FCS ID if there is only one setup at the bank
level. Supports alphanumeric values. Required if the template is enabled
for VANs.
vanEnabled:
type: boolean
description: Denotes if "VANs" (VPP Tokens) are enabled for the template
(buyers). Valid Values are 'True' and 'False'. The value can be set to
true only if the bank is enabled for this Option.
UpdateProcessorConfig:
type: object
properties:
closeAccount:
type: boolean
description: Used to close an account
Invoices:
type: object
properties:
invoiceDate:
type: string
description: This contains the date of the invoice being paid. Format is
MM/DD/YY.
invoiceAmount:
type: string
description: Invoice amount. maximum length is 16. Maximum number of decimals
is two. Format is XXXXXXXXXX9999.99
invoiceNumber:
type: string
description: Invoice Number.
purchaseOrderDate:
type: string
description: This contains the date on which the purchase order was created.
Format is MM/DD/YY.
purchaseOrderNumber:
type: string
description: This contains the purchase order number associated with the
invoice.
PaymentNotificationConfig:
required:
- dateFormat
type: object
properties:
dateFormat:
maxLength: 10
type: string
description: Denotes the date format which will be used for parsing date
fields in the payment files in EDI or CVV tab format. Should be one of
the VPA system supported date formats. This field is required. Refer to
Date
Formats table.
defaultBuyerLanguageCode:
maxLength: 10
type: string
description: Denotes the language which will be used in notifications sent
to the buyer. A valid locale (language code) should be provided. For
example "en_US" for US english. If the value for this field is not provided,
the system defaults it to 'en_US'. Refer to the Language
Code table for langauge codes.
attachRemittanceFileDetails:
type: boolean
description: Denotes if the remittance details file (containing the invoice
details) will be attached to the payment advice notification while processig
a payment. Valid values are 'True' or 'False'. Optional field. If the
value for this field (the tag is not sent) is not provided, the system
defaults it to value set for this option for the bank. This field can
be set to true only if the bank attach remittance details file option
is set to 'True'.
supplierReminderNotificationDays:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of days before the payment expiration date
when the system sends a reminder notification to the supplier. Optional
Field. If the value for this field (the tag is not sent) is not provided,
the system defaults it to 7 days. Should be between 0 and 100. This value
should be specified only when suppress supplier notification is disabled
and supplier reminder notification is enabled for the template.
supplierReminderNotificationEnabled:
type: boolean
description: Denotes if the system will send the payment reminder notification
to the supplier (before the configured number of days (supplier reminder
notification days) from the payment expiration date) to remind them to
collect the payment. If the value for this field (the tag is not sent)
is not provided, the system defaults it to 'False' if the suppress supplier
notification is enabled and to 'True' if the suppress supplier notifiation
is disabled. This field can be set to true only if the bank supplier
reminder notification option is set to 'True' and suppress supplier notification
option for the template is set to false.
BoostPaymentConfig:
type: object
properties:
boostPaymentEnabled:
type: boolean
description: Denotes if the Boost Payments is enabled for a template (buyer).
Valid values are 'True' or 'False'. Optional field. If the value for this
field (the tag is not sent) is not provided, the system defaults it to
'False'. This field can be set to true only if the bank Boost Payments
option is set to 'True'.
UpdateBuyerTemplateSuccessResponse:
type: object
properties:
responseObject:
"$ref": "#/components/schemas/UpdateBuyerTemplateResponse"
responseStatus:
"$ref": "#/components/schemas/Response"
description: Update Buyer Template Success Response
UpdateBuyerTemplateRequest:
required:
- clientId
- messageId
- templateId
type: object
properties:
clientId:
maxLength: 25
type: string
description: Denotes the client ID associated with the bank for which the
template is being defined. Should be alphanumeric and should exist in
the system. Visa will provide this during implementation. This field
cannot be updated.
messageId:
maxLength: 36
type: string
description: Unique identifier for this request. Each request sent to VPA
requires its own unique ID.
vanConfig:
"$ref": "#/components/schemas/UpdateVanConfig"
templateId:
maxLength: 30
type: string
description: Unique Identifier for a Template. It should be alphanumeric. Should
be an existing template id associated with the bank (associated to the
client id). The template id is returned in the response of the CreateTemplate
API.
contactInfo:
"$ref": "#/components/schemas/UpdateContactInfo"
proxyConfig:
"$ref": "#/components/schemas/UpdateProxyConfig"
templateName:
maxLength: 50
type: string
description: Name of the template. Can be updated at any time. Alphanumeric.
No special characters other than _ - * & ' ! , . '#' and – (Dash) are
allowed. It has to be unique within a Bank.
billingConfig:
"$ref": "#/components/schemas/UpdateBillingConfig"
paymentConfig:
"$ref": "#/components/schemas/UpdatePaymentConfig"
processorConfig:
"$ref": "#/components/schemas/UpdateProcessorConfig"
stpPaymentConfig:
"$ref": "#/components/schemas/UpdateSTPPaymentConfig"
syncBuyerProfiles:
type: boolean
description: "- Valid values are True or False - If set to Y, all existing
buyers associated with this template will adopt these changes. Updating
existing buyers could disrupt payments in progress so before syncing profiles,
ensure there will be no negative impacts to existing buyers. If set to
N, changes will only be applied to future buyers created after the update
Template API is sent."
webServicesConfig:
"$ref": "#/components/schemas/UpdateWebServicesConfig"
boostPaymentConfig:
"$ref": "#/components/schemas/UpdateBoostPaymentConfig"
buyerFeatureConfig:
"$ref": "#/components/schemas/UpdateBuyerFeatureConfig"
stripePaymentConfig:
"$ref": "#/components/schemas/UpdateStripePaymentConfig"
templateDescription:
maxLength: 256
type: string
description: Supports AlphaNumeric characters. Can be updated at any time.
paymentSecurityConfig:
"$ref": "#/components/schemas/UpdatePaymentSecurityConfig"
approvalWorkflowConfig:
"$ref": "#/components/schemas/UpdateApprovalWorkflowConfig"
reconciliationFileConfig:
"$ref": "#/components/schemas/UpdateReconciliationFileConfig"
paymentNotificationConfig:
"$ref": "#/components/schemas/UpdatePaymentNotificationConfig"
authorizationControlConfig:
"$ref": "#/components/schemas/UpdateAuthorizationControlConfig"
description: Update Buyer Template Request
UpdatePaymentFileCommConfig:
type: object
properties:
edi824FileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the EDI 824 outbound
response file. This field Can be edited at any time.
edi997FileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the EDI 997 outbound
ack file. This field Can be edited at any time.
inboundFileId:
maxLength: 40
type: string
description: Denotes the Comm file ID associated with the EDI 820 inbound
payment file. This field Can be edited at any time.
description: PaymentFileCommConfig contains the comm file configuration for
inbound EDI 820, and outbound EDI 997 and EDI 824.
BoostPaymentConfigForCreate:
type: object
properties:
boostPaymentEnabled:
type: boolean
description: Denotes if Boost payments is enabled for the buyer. Optional
field. If the value for this field (the tag is not sent) is not provided,
the system defaults it to 'False'. Valid values are 'True' or 'False'.
This field can be set to true only if the bank Boost Payment option is
set to 'True'.
BillingConfigForUpdate:
type: object
properties:
billingBID:
type: string
description: The 11 digit Visa Billing BID that will be billed for the service.
This is in the format of 8 digit Visa BID plus 3 digit country code. E.g.
12345678840 where 840 is country code for United States.
billingType:
type: string
description: Identifies who will be billed for use of the service. I indicates
issuer will be billed (standard). T indicates Third party / fintech will
be billed. M indicates manual billing is set up.
UpdatePaymentNotificationConfig:
type: object
properties:
dateFormat:
maxLength: 10
type: string
description: Denotes the date format which will be used for parsing date
fields in the payment files in EDI or CVV tab format. Should be one of
the VPA system supported date formats. This field can be updated at any
time. Refer to Date
Formats table.
defaultBuyerLanguageCode:
maxLength: 10
type: string
description: Denotes the language which will be used in notifications sent
to the buyer. A valid locale (language code) should be provided. For
example "en_US" for US english. Refer to the Language
Code table for langauge codes. This field can be updated at any time.
attachRemittanceFileDetails:
type: boolean
description: Denotes if the remittance details file (containing the invoice
details) will be attached to the payment advice notification while processig
a payment. Valid values are 'True' or 'False'. This field can be set to
true only if the bank attach remittance details file option is set to
'True'. This field can be edited at any time.
supplierReminderNotificationDays:
maxLength: 2
pattern: "^[\\d]*$"
type: string
description: Denotes the number of days before the payment expiration date
when the system sends a reminder notification to the supplier. Should
be between 0 and 100. This value should be specified only when suppress
supplier notification is disabled and supplier reminder notification is
enabled for the template. This field can be edited at any time.
supplierReminderNotificationEnabled:
type: boolean
description: Denotes if the system will send the payment reminder notification
to the supplier (before the configured number of days (supplier reminder
notification days) from the payment expiration date) to remind them to
collect the payment. This field can be set to true only if the bank supplier
reminder notification option is set to 'True' and suppress supplier notification
option for the template is set to false. This field can be edited at
any time.
UpdateProxyConfig:
type: object
properties:
holdDays:
maxLength: 3
pattern: "^[\\d]+$"
type: string
description: Denotes the number of days an account picked up for a payment
in a proxy will be kept on hold before being used for another payment. For
payments, the hold days start from the day the payment was processed and
for Request Virtual Account, the hold days start from the day the end
date of the RVA has reached. Should be a numeric value between 1 to 999.
If the value for this field (the tag is not sent) is not provided, the
system defaults it to 90 days. This field Can be edited at any time.
autoRefreshEnabled:
type: boolean
description: Denotes if auto replenishment is enabled for proxies associated
with the template (buyers). The value of this field should be set to
true for VIP and VPP enabled buyers. Valid Values are 'True' and 'False'.
The value can be set to true only if the bank is enabled for auto replenishment. This
field Can be edited at any time.
bucketedProxyEnabled:
type: boolean
description: Denotes if bucketed proxy is enabled for proxies associated
with the template (buyers). Valid Values are 'True' and 'False'. If the
value for this field (the tag is not sent) is not provided, the system
defaults it to False. The value can be set to true only if the bank
is enabled for bucketed proxy. This field Can be edited at any time.
ErrorItem-1:
type: object
properties:
errorCode:
type: string
description: POP Error Code
errorDescription:
type: string
description: POP Error Description
WebServicesConfigForGet:
type: object
properties:
apiCodes:
maxItems: 200
uniqueItems: true
type: array
description: Denotes the codes associated with APIs which needs to be enabled
for the buyer. The APIs should be a subset of what is enabled for the
bank. The API codes and the corresponding APIs can be found below ....
items:
maxLength: 10
type: string
clientId:
maxLength: 40
type: string
description: Denotes the client id associated with the bank under which
the buyer is being created. The Visa implementation team will be providing
this.
vbdsClientId:
maxLength: 50
type: string
description: vbdsClientId is the unique id generated for third parties wanting
to subscribe for auth/settlement data in VBDS system.
webServicesEnabled:
type: boolean
description: Denotes if the web services is enabled for the Buyer. Valid
Values are 'True' and 'False'.
suppressSupplierNotification:
type: boolean
description: Denotes if all supplier notifications needs to be suppressed. If
this field is set to true, then the web service consumers should handle
the supplier communication themselves. Valid Values are 'True' or 'False'.
GetBuyerResponseV2:
required:
- messageId
- statusCode
- statusDesc
type: object
properties:
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
vanConfig:
"$ref": "#/components/schemas/VanConfigForGet"
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric. The values
are specific to each method. For the details of the various error codes
returned for this method refer to the "Error Codes" table below.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
contactInfo:
"$ref": "#/components/schemas/ContactInfoForGet"
proxyConfig:
"$ref": "#/components/schemas/ProxyConfigForGet"
billingConfig:
"$ref": "#/components/schemas/BillingConfigForGet"
paymentConfig:
"$ref": "#/components/schemas/PaymentConfigForGet"
processorConfig:
"$ref": "#/components/schemas/ProcessorConfigForGet"
stpPaymentConfig:
"$ref": "#/components/schemas/StpPaymentConfigForGet"
paymentFileConfig:
"$ref": "#/components/schemas/PaymentFileCommConfigForGet"
webServicesConfig:
"$ref": "#/components/schemas/WebServicesConfigForGet"
boostPaymentConfig:
"$ref": "#/components/schemas/BoostPaymentConfigForGet"
buyerFeatureConfig:
"$ref": "#/components/schemas/BuyerFeatureConfigForGetV2"
responseFileConfig:
"$ref": "#/components/schemas/ResponseFileConfigForGet"
stripePaymentConfig:
"$ref": "#/components/schemas/StripePaymentConfigForGet"
paymentSecurityConfig:
"$ref": "#/components/schemas/PaymentSecurityConfigForGet"
approvalWorkflowConfig:
"$ref": "#/components/schemas/ApprovalWorkflowConfigForGet"
reconciliationFileConfig:
"$ref": "#/components/schemas/ReconciliationFileConfigForGet"
paymentNotificationConfig:
"$ref": "#/components/schemas/PaymentNotificationConfigForGet"
authorizationControlConfig:
"$ref": "#/components/schemas/AuthorizationControlConfigForGet"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/RvaReconciliationFileConfigForGet"
description: Get Buyer Response Class
AuthorizationControlConfigForUpdate:
type: object
properties:
alertsEnabled:
type: boolean
description: Denotes if the system needs to send an alert when an authorization
on a VPC enabled card is approved or declined. Valid values are 'True'
and 'False'. This field can be set to True only if the authControlEnabled
is set to true for the buyer. The alerts will be sent to the buyer contact's
email address. This field can be updated at any time.
issuerHoldingBID:
pattern: "^[\\d]{8}$"
type: string
description: Denotes the Holding BID (business id) for the issuer. Should
be numeric. This field can be updated only if there are no accounts setup
for the buyer.
authControlEnabled:
type: boolean
description: Denotes if the authorization controls needs to be enabled for
the buyer. Auth controls is mandated for VPP and VIP buyers. You can
enable auth controls for a buyer at any time. But you cannot disable
it (update it to false) if there are accounts enabled for VPC present
for the buyer
UpdateBuyerFeatureConfig:
type: object
properties:
cardMaskingDigits:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in all places other than UI like the recon file,
response file, etc. Should be Numeric. Should be between 4 and 12. This
field can be edited at any time.
vcfDataFeedIndicator:
type: string
description: The vcfDataFeedIndicator is used for indicating the source
of transactions/settlement data for this company. This value should be
“Yes” if the FI/Processor is going to send settled transactions for the
company [e.g. inbound Visa Commercial Format (VCF)]. It should be “No”
if the company requires Visa to pull the settlement data over the Visa
Network.hello
pseudoAccountsEnabled:
type: boolean
description: Denotes if "Pseudo Accounts" (VIP Tokens) option is enabled
for the template (buyers). Valid Values are 'True' and 'False'. The value
can be set to true only if the bank is enabled for this Option. This field
can be edited only if the sync Buyer Profiles is set to false.
fullAccountViewEnabled:
type: boolean
description: Denotes if "Full Account View" functionality is enabled for
the template (buyers). Valid Values are 'True' and 'False'. The value
can be set to true only if the bank is enabled for this functionality. This
field can be edited at any time.
cardMaskingDigitsOnline:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in the UI. Should be Numeric. Should be between
4 and 12. This field can be edited at any time.
onlinePaymentInstructionEnabled:
type: boolean
description: Denotes if Online payment instruction (Pay Now) functionality
is enabled for the template (buyers). Valid Values are 'True' and 'False'. The
value can be set to true only if the bank is enabled for Online Payment
Instructions. This field can be edited at any time.
onlinePaymentRequisitionEnabled:
type: boolean
description: Denotes if Online payment Requisition functionality is enabled
for the template (buyers). Valid Values are 'True' and 'False'. The value
can be set to true only if the bank is enabled for Online Payment Requisitions.
This field can be edited at any time.
Schedule:
type: object
properties:
frequencyType:
type: string
description: Frequency of the notification to be scheduled recursively
scheduledTime:
type: string
description: Notification schedule time to send a notification
NotificationResponse:
title: NotificationResponse
type: object
properties:
messageId:
type: string
description: Unique identifier which was sent in the request
statusCode:
type: integer
description: HTTP Success status code
statusDescription:
type: string
description: Success Message description
description: Notification Generation Response Schema
GetBuyerTemplateSuccessResponse:
type: object
properties:
responseObject:
"$ref": "#/components/schemas/GetBuyerTemplateResponse"
responseStatus:
"$ref": "#/components/schemas/Response"
description: Get Buyer Template Success Response
ProcessPaymentResponse:
title: ProcessPaymentResponse
required:
- expirationDate
- messageId
- statusCode
- statusDesc
type: object
properties:
messageId:
type: string
description: Unique identifier which was sent in the request
statusCode:
type: string
description: Status code of the response. It is alphanumeric. The values
are specific to each method. For the details of the various error code
returned for this method refer to the "Error Codes" table below.
statusDesc:
type: string
description: Status description of the response.
accountNumber:
type: string
description: Account number used for processing the payment. The account
number will be masked in the response if the corresponding Client ID is
configured to be masked.
expirationDate:
type: string
description: The date the card account expires. Format is MM/YYYY Note-
The card account expiration date is sent for all Payment Requisitions
and Single Use Account payments.
description: Process Payment Response Schema
BoostPaymentConfigForGet:
type: object
properties:
boostPaymentEnabled:
type: boolean
description: Denotes if Boost payments is enabled for the buyer.
RvaReconciliationFileConfigForUpdate:
type: object
properties:
fileLevel:
maxLength: 1
type: string
description: Denotes if the RVA recon COMM File configuration is defined
to be delivered to the bank(B) or Company (C). Valid values are B - Bank
and C - Company. This field can be updated at any time.
commFileId:
type: string
description: Denotes the Comm File ID associated with the RVA recon file
outbound. The COMM file definition should exist in the system. The Visa
implementation team provides this value after the outbound RVA recon file
configuration has been completed. This field can be updated at any time.
fileFormat:
type: integer
description: Denotes the format in which the RVA recon file needs to be
generated. Needs to be numeric. Valid values are 1 – XLS V0, 2 – CSV V0,
3 - XLS V1, 4 – CSV V1. This field can be updated at any time.
templateId:
maxLength: 5
type: string
description: Denotes the id of the recon template to be used for generating
the RVA reconciliation file. Valid values are 1 - RVA Recon standard
template Version 1.0. This field can be updated at any time.
deliveryTime:
maxLength: 6
type: string
description: Denotes the delivery type or day when the RVA recon file needs
to be generated and delivered. Valid format for the time for the daily
frequency is 'HH:MM' in 24 hours format. Valid values for the Weekly
frequency 1 to 7 denoting the days. 1 being Sunday and 7 being Saturday
and Monthly Frequency 1 to 31 This field can be updated at any time.
deliveryFrequency:
type: integer
description: Denotes the frequency in which the RVA recon file needs to
be delivered. Needs to be numeric. Valid values are 1 – Daily 2 – Weekly
3 - Monthly. This field can be updated at any time.
recipientLoginIds:
maxItems: 50
uniqueItems: true
type: array
description: Contains the list of user ids of bank/buyer users who will
be receiving the RVA recon file in their VOL mailbox. You can setup upto
50 user ids to receive the RVA recon file.The user ids should have the
VOL mailbox service entitled to them. This field can be updated at any
time.
items:
type: string
UpdateContactInfo:
type: object
properties:
phone1:
maxLength: 20
type: string
description: Denotes the buyer contact phone number. Should be alphanumeric
Can be updated at any time. Special characters allowed are - (dash),
( (Open braces),) (close braces).
emailAddress:
maxLength: 100
type: string
description: Denotes the buyer's contact Email Address. Should be an valid
email address.
implementationType:
type: integer
description: Valid Values are:1 – VPA UI, 2 – VPA API and 3 – Visa Commercial
Pay. Select 1 if buyer will use VPA user interface (issuer direct use
of VPA). Select 2 if buyer is created by a third party fintech and will
use the VPA APIs. Select 3 if buyer is created in VPA for Visa Commercial
Pay service.
GetWebServicesConfig:
type: object
properties:
apiCodes:
maxItems: 200
uniqueItems: true
type: array
items:
maxLength: 10
type: string
description: Denotes the codes associated with APIs which needs to be
enabled for the template. The APIs should be a subset of what is enabled
for the bank. The API codes and the corresponding APIs can be found
below ....
clientId:
maxLength: 40
pattern: "^[\\d]+$"
type: string
description: Denotes the client ID associated with the bank for which the
template is being defined. Visa will provide this during implementation.
vbdsClientId:
maxLength: 50
pattern: "^[\\d]+$"
type: string
description: vbdsClientId is the unique id generated for third parties wanting
to subscribe for auth/settlement data in VBDS system.
webServicesEnabled:
type: boolean
description: Denotes if the web services is enabled for the template (Buyer).
suppressSupplierNotification:
type: boolean
description: Denotes if all supplier notifications needs to be suppressed. If
this field is set to true, then the web service consumers should handle
the supplier communication themselves.
GetVanConfig:
type: object
properties:
fcsBankId:
maxLength: 4
type: string
description: Denotes the Bank Identifier in the TSYS VPP FCS system.
vanEnabled:
type: boolean
description: Denotes if "VANs" (VPP Tokens) are enabled for the template
(buyers).
GetResponseFileConfig:
type: object
properties:
commFileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the Response file
outbound.
RvaReconciliationFileConfigForGet-1:
type: object
properties:
fileLevel:
maxLength: 1
type: string
description: Denotes if the RVA recon COMM File configuration is defined
to be delivered to the bank(B) or Company (C). Valid values are B - Bank
and C - Company.
commFileId:
type: string
description: Denotes the Comm File ID associated with the RVA recon file
outbound. The COMM file definition should exist in the system. The Visa
implementation team provides this value after the outbound RVA recon file
configuration has been completed.
fileFormat:
type: integer
description: Denotes the format in which the RVA recon file needs to be
generated. Valid values are 1 – XLS V0, 2 – CSV V0, 3 - XLS V1, 4 – CSV
V1
templateId:
maxLength: 5
type: string
description: Denotes the id of the recon template to be used for generating
the RVA reconciliation file. Valid values are 1 - RVA Recon standard template
Version 1.0
deliveryTime:
maxLength: 6
type: string
description: Denotes the delivery type or day when the RVA recon file needs
to be generated and delivered. Valid format for the time for the daily
frequency is 'HH:MM' in 24 hours format. Valid values for the Weekly
frequency 1 to 7 denoting the days. 1 being Sunday and 7 being Saturday
and Monthly Frequency 1 to 31
deliveryFrequency:
type: integer
description: Denotes the frequency in which the RVA recon file needs to
be delivered. Valid values are 1 – Daily 2 – Weekly 3 - Monthly
recipientLoginIds:
maxItems: 80
uniqueItems: true
type: array
description: Contains the list of user ids of bank/buyer users who will
be receiving the RVA recon file in their VOL mailbox.
items:
type: string
GetBuyerResponseV2-3:
required:
- messageId
- statusCode
- statusDesc
type: object
properties:
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
vanConfig:
"$ref": "#/components/schemas/VanConfigForGet"
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric. The values
are specific to each method. For the details of the various error codes
returned for this method refer to the "Error Codes" table below.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
contactInfo:
"$ref": "#/components/schemas/ContactInfoForGet"
proxyConfig:
"$ref": "#/components/schemas/ProxyConfigForGet"
billingConfig:
"$ref": "#/components/schemas/BillingConfigForGet"
paymentConfig:
"$ref": "#/components/schemas/PaymentConfigForGet"
processorConfig:
"$ref": "#/components/schemas/ProcessorConfigForGet"
stpPaymentConfig:
"$ref": "#/components/schemas/StpPaymentConfigForGet"
paymentFileConfig:
"$ref": "#/components/schemas/PaymentFileCommConfigForGet"
webServicesConfig:
"$ref": "#/components/schemas/WebServicesConfigForGetV2-1"
boostPaymentConfig:
"$ref": "#/components/schemas/BoostPaymentConfigForGet"
buyerFeatureConfig:
"$ref": "#/components/schemas/BuyerFeatureConfigForGetV2"
responseFileConfig:
"$ref": "#/components/schemas/ResponseFileConfigForGet-1"
stripePaymentConfig:
"$ref": "#/components/schemas/StripePaymentConfigForGet"
paymentSecurityConfig:
"$ref": "#/components/schemas/PaymentSecurityConfigForGet"
approvalWorkflowConfig:
"$ref": "#/components/schemas/ApprovalWorkflowConfigForGet"
reconciliationFileConfig:
"$ref": "#/components/schemas/ReconciliationFileConfigForGet-1"
paymentNotificationConfig:
"$ref": "#/components/schemas/PaymentNotificationConfigForGet"
authorizationControlConfig:
"$ref": "#/components/schemas/AuthorizationControlConfigForGet"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/RvaReconciliationFileConfigForGet-1"
description: Get Buyer Response Class
NotificationRequest:
required:
- buyerId
- issuerId
- messageId
- notificationType
- productName
type: object
properties:
source:
type: string
description: Value to identify from where this API request is originated
buyerId:
maxLength: 25
pattern: "^[0-9]*$"
type: string
description: Buyer ID is the buyer identifier as defined in Visa Payables
Automation.
issuerId:
type: string
description: A '-' (hyphen) separated field which contains the region id,
processor id and bank id
language:
type: string
description: Language in which the Notification to be sent
priority:
type: string
description: Priority to be set for this Notification (high, low or medium)
schedule:
"$ref": "#/components/schemas/Schedule"
messageId:
maxLength: 36
pattern: "^[a-zA-Z0-9]*$"
type: string
description: Unique identifier specific for this API request
parameters:
type: object
additionalProperties:
type: string
description: Key value property pairs
description: Additional Key value pairs to be sent as placeholder for Notification
Templates
recipients:
"$ref": "#/components/schemas/Recipients"
templateId:
type: string
description: Template id selected based on Notification Type
productName:
type: string
description: Product name value to identify the Notification Request
notificationType:
type: string
description: Type of the Notification to be sent
notificationStatus:
type: string
description: Used to do Lifecycle management of Notification Request
description: Notification Generation Request
WebServicesConfigForGet-1:
type: object
properties:
apiCodes:
maxItems: 200
uniqueItems: true
type: array
description: Denotes the codes associated with APIs which needs to be enabled
for the buyer. The APIs should be a subset of what is enabled for the
bank. The API codes and the corresponding APIs can be found below ....
items:
maxLength: 10
type: string
clientId:
maxLength: 40
type: string
description: Denotes the client id associated with the bank under which
the buyer is being created. The Visa implementation team will be providing
this.
vbdsClientId:
maxLength: 50
type: string
description: vbdsClientId is the unique id generated for third parties wanting
to subscribe for auth/settlement data in VBDS system. Should be numeric.
webServicesEnabled:
type: boolean
description: Denotes if the web services is enabled for the Buyer. Valid
Values are 'True' and 'False'.
suppressSupplierNotification:
type: boolean
description: Denotes if all supplier notifications needs to be suppressed. If
this field is set to true, then the web service consumers should handle
the supplier communication themselves. Valid Values are 'True' or 'False'.
CreateBuyerRequest:
required:
- clientId
- contactInfo
- messageId
type: object
properties:
clientId:
maxLength: 25
type: string
description: ClientID uniquely identifies a financial institution. This
will be provided by Visa implementation team.
messageId:
maxLength: 36
type: string
description: Unique identifier for identifying the request.
vanConfig:
"$ref": "#/components/schemas/VanConfigForCreate"
contactInfo:
"$ref": "#/components/schemas/ContactInfoForCreate"
proxyConfig:
"$ref": "#/components/schemas/ProxyConfigForCreate"
billingConfig:
"$ref": "#/components/schemas/BillingConfigForCreate"
paymentConfig:
"$ref": "#/components/schemas/PaymentConfigForCreate"
processorConfig:
"$ref": "#/components/schemas/ProcessorConfigForCreate"
stpPaymentConfig:
"$ref": "#/components/schemas/StpPaymentConfigForCreate"
paymentFileConfig:
"$ref": "#/components/schemas/PaymentFileCommConfigForCreate"
webServicesConfig:
"$ref": "#/components/schemas/WebServicesConfigForCreate"
boostPaymentConfig:
"$ref": "#/components/schemas/BoostPaymentConfigForCreate"
buyerFeatureConfig:
"$ref": "#/components/schemas/BuyerFeatureConfigForCreate"
responseFileConfig:
"$ref": "#/components/schemas/ResponseFileConfigForCreate"
stripePaymentConfig:
"$ref": "#/components/schemas/StripePaymentConfigForCreate"
paymentSecurityConfig:
"$ref": "#/components/schemas/PaymentSecurityConfigForCreate"
approvalWorkflowConfig:
"$ref": "#/components/schemas/ApprovalWorkflowConfigForCreate"
reconciliationFileConfig:
"$ref": "#/components/schemas/ReconciliationFileConfigForCreate"
paymentNotificationConfig:
"$ref": "#/components/schemas/PaymentNotificationConfigForCreate"
authorizationControlConfig:
"$ref": "#/components/schemas/AuthorizationControlConfigForCreate"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/RvaReconciliationFileConfigForCreate"
description: Buyer Profile Details for creating a new buyer.
StpPaymentConfigForUpdate:
type: object
properties:
stpPaymentEnabled:
type: boolean
description: Denotes if STP payments is enabled for the buyer. Valid values
are 'True' or 'False'. This field can be set to true only if the bank
STP Payment option is set to 'True'. You can enable STP payments for
a buyer at any time. But you cannot disable it (update it to false) if
there are STP suppliers present for the buyer.
accountHolderLastName:
maxLength: 100
type: string
description: Denotes the Account Holder's last Name which will be used while
processing the STP payment. This field can be edited at any time.
accountHolderFirstName:
maxLength: 100
type: string
description: Denotes the Account Holder's first Name which will be used
while processing the STP payment. This field can be edited at any time.
remittanceNotificationEnabled:
type: boolean
description: Denotes if the STP Payment Remittance notification is enabled
for a buyer. Optional field. Valid values are 'True' or 'False'. This
field can be set to true only if the bank STP Payment Remittance Notification
option is set to 'True'. The STP supplier will be getting the payment
remittance notification only if this field is enabled. This field can
be edited at any time.
ReconciliationFileConfigForUpdate:
type: object
properties:
fileLevel:
maxLength: 1
type: string
description: Denotes if the recon COMM File configuration is defined to
be delivered to the bank(B) or Company (C). Valid values are B - Bank
and C - Company. This field can be updated at any time.
commFileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the recon file outbound. The
COMM file definition should exist in the system. The Visa implementation
team provides this value after the outbound recon file configuration has
been completed. This field can be updated at any time.
fileFormat:
type: integer
description: Denotes the format in which the recon file needs to be generated.
Needs to be numeric. Valid values are 1 – XLS V0, 2 – CSV V0, 3 - XLS
V1, 4 – CSV V1. This field can be updated at any time.
deliveryTime:
maxLength: 6
type: string
description: Denotes the delivery type or day when the recon file needs
to be generated and delivered. If the value for this field (the tag is
not sent) is not provided, the system defaults it to'1:00' AM for the
daily frequency and 1 for weekly and monthly frequency. Valid format
for the time for the daily frequency is 'HH:MM' in 24 hours format. Valid
values for the Weekly frequency 1 to 7 denoting the days. 1 being Sunday
and 7 being Saturday and Monthly Frequency 1 to 31. This field can be
updated at any time.
templateName:
maxLength: 100
type: string
description: Denotes the name of the recon template to be used for generating
the reconciliation file. This field can be updated at any time.
deliveryFrequency:
type: integer
description: Denotes the frequency in which the recon file needs to be delivered.
Needs to be numeric. Valid values are 1 – Daily 2 – Weekly 3 - Monthly.
This field can be updated at any time.
recipientLoginIds:
maxItems: 50
uniqueItems: true
type: array
description: Contains the list of user ids of bank/buyer users who will
be receiving the recon file in their VOL mailbox. You can setup upto 50
user ids to receive the recon file. The user ids should have the VOL mailbox
service entitled to them.This field can be updated at any time.
items:
type: string
adhocReconciliationReportEnabled:
type: boolean
description: Denotes if Adhoc Reconciliation functionality is enabled for
the buyer. Valid Values are 'True' and 'False'. The value can be set to
true only if the bank is enabled for Adhoc Reconciliation. This field
can be updated at any time.
onlinePaymentReconciliationEnabled:
type: boolean
description: Denotes if Online payment Reconciliation functionality is enabled
for the buyers. Valid Values are 'True' and 'False'. The value can be
set to true only if the bank is enabled for Online Payment Reconciliation. This
field can be updated at any time.
GetPaymentDetailsRequest:
required:
- buyerId
- issuerId
- messageId
type: object
properties:
status:
type: string
description: Status of payment. If you would like to get the details of
payments in a particular status, you can pass it in this field. The status
will be used along with the date range filter if specified to get the
payments.
Valid values are M-Matched, U- UnMatched, R-Rejected,
E-Expired, O-Error, A-All, C-Canceled.
toDate:
type: string
description: Specifies the end of date range. Format is MMDDYYYY
buyerId:
type: string
description: Buyer ID is the buyer identifier as defined in Visa Payables
Automation. Value format is 09.
fromDate:
type: string
description: Specifies the beginning of date range for which the payment
details is requested. Format is MMDDYYYY. If "FromDate" and "ToDate" is
not provided, the system will retrieve the last 9 months data.
Note- The
system retrieves only last 250 payments made during the specified date
range sent in the initial request. User can make subsequent calls to retrieve
additional data.
issuerId:
type: string
description: A '-' (hyphen) separated field which contains the region id,
processor id and bank id
clientKey:
type: string
description: Client key for secure communication
messageId:
type: string
description: Unique ID specific to this API call.
resultSetNo:
type: string
description: Result Set Number.
codeChallenge:
type: string
description: Code Challenge for secure communication
trackingNumber:
type: string
description: The MessageID of the original process payment request for which
the payment is needed.
description: Get payment details request payload
BErrorItem:
type: object
properties:
errorCode:
type: string
errorDescription:
type: string
description: Error Item
ResponseFileConfigForUpdate:
type: object
properties:
fileLevel:
maxLength: 1
type: string
description: Denotes if the response COMM File configuration is defined
to be delivered to the bank(B) or Company (C). Valid values are B and
C. This can be updated at any time.
commFileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the Response file
outbound. The COMM file definition should exist in the system. The Visa
implementation team provides this value after the outbound response file
configuration has been completed. This can be updated at any time.
fileFormat:
type: integer
description: Denotes the format in which the response file needs to be generated.
Needs to be numeric. Valid values are 1 – XLS V0, 2 – CSV V0, 3 - XLS
V1, 4 – CSV V1. This field can be updated at any time.
recipientLoginIds:
maxItems: 50
uniqueItems: true
type: array
description: Contains the list of user ids of bank/buyer users who will
be receiving the response file in their VOL mailbox. You can setup upto
50 user ids to receive the response file. The user ids should have the
VOL mailbox service entitled to them. This can be updated at any time.
items:
type: string
ContactInfo:
type: object
properties:
phone1:
maxLength: 20
type: string
description: Buyer contact phone number. Should be alphanumeric. Special
characters allowed are - (dash), ( (Open braces),) (close braces).
emailAddress:
maxLength: 100
type: string
description: Denotes the buyer's contact Email Address. Should be an valid
email address.
implementationType:
type: integer
description: Valid Values are:1 – VPA UI, 2 – VPA API and 3 – Visa Commercial
Pay.1 denotes buyer uses VPA UI (issuer direct use of VPA). 2 denotes
buyer uses a third party fintech's user interface and third party is using
VPA APIs. 3 denotes buyer uses Visa Commercial Pay service.
VanConfigForUpdate:
type: object
properties:
fcsBankId:
maxLength: 4
type: string
description: Denotes the Bank Identifier in the TSYS VPP FCS system. Supports
alphanumeric values. Required if the buyer is enabled for VANs. This field
can be updated only if there are no VANs in the system associated to the
buyer. This field can be set at any time but cannot be over ridden (Changed).
This value will be provided by the Visa implementation team.
vanEnabled:
type: boolean
description: Denotes if "VANs" (VPP Tokens) are enabled for the buyer. Valid
Values are 'True' and 'False'. The value can be set to true only if the
bank is enabled for this Option. This field can be enabled (Set to True)
but cannot be disabled (Set to False).This value will be provided by the
Visa implementation team.
admClientId:
maxLength: 4
type: string
description: Denotes the number the TSYS VPP system uses to identify the
company on the ACE Decision Max system for account assignment. This field
can be set at any time but cannot be over ridden (Changed).This value
will be provided by the Visa implementation team.
mcADMOptionId:
maxLength: 5
type: string
description: Denotes the option that will be used to assign the virtual
account number in the TSYS VPP platform. For the TS1 platform only, the
option must be set up to assign a virtual account number from the same
BIN as the primary account number. If it is a mastercard bank, then this
field is required. This value will be provided by the Visa implementation
team. This field can be set at any time but cannot be over ridden (Changed).
processingType:
maxLength: 4
type: string
description: Denotes the Processing type for the virtual account number
(VAN). This field can be set at any time but cannot be over ridden (Changed).
This value will be provided by the Visa implementation team.
visaADMOptionId:
maxLength: 5
type: string
description: Denotes the option that will be used to assign the virtual
account number in the TSYS VPP platform. For the TS1 platform only, the
option must be set up to assign a virtual account number from the same
BIN as the primary account number. If it is a Visa bank, then this field
is required. This field can be set at any time but cannot be over ridden
(Changed). This value will be provided by the Visa implementation team.
GetBuyerTemplateSuccessResponseV2-1:
type: object
properties:
responseObject:
"$ref": "#/components/schemas/GetBuyerTemplateResponseV2-1"
responseStatus:
"$ref": "#/components/schemas/Response"
description: Get Buyer Template Success Response V2
BuyerFeatureConfigForCreate:
type: object
properties:
cardMaskingDigits:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in all places other than UI like the recon file,
response file, etc. Should be Numeric. Should be between 4 and 12
vcfDataFeedIndicator:
type: string
description: 'The vcfDataFeedIndicator is used for indicating the source
of transactions/settlement data for this company. This value should be
“Yes” if the FI/Processor is going to send settled transactions for the
company [e.g. inbound Visa Commercial Format (VCF)]. It should be “No”
if the company requires Visa to pull the settlement data over the Visa
Network. '
pseudoAccountsEnabled:
type: boolean
description: Denotes if "Pseudo Accounts" (VIP Tokens) option is enabled
for the buyer. If the value for this field (the tag is not sent) is not
provided, the system defaults it false. Valid Values are 'True' and
'False'. The value can be set to true only if the bank is enabled for
this Option.
fullAccountViewEnabled:
type: boolean
description: Denotes if "Full Account View" functionality is enabled for
the buyer. If the value for this field (the tag is not sent) is not provided,
the system defaults it to the bank setting for this field. Valid Values
are 'True' and 'False'. The value can be set to true only if the bank
is enabled for this functionality.
cardMaskingDigitsOnline:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in the UI. Should be Numeric. Should be between
4 and 12
onlinePaymentInstructionEnabled:
type: boolean
description: Denotes if Online payment instruction (Pay Now) functionality
is enabled for the buyer. If the value for this field (the tag is not
sent) is not provided, the system defaults it to False. Valid Values
are 'True' and 'False'. The value can be set to true only if the bank
is enabled for Online Payment Instructions.
onlinePaymentRequisitionEnabled:
type: boolean
description: Denotes if Online payment Requisition functionality is enabled
for the buyer. If the value for this field (the tag is not sent) is not
provided, the system defaults it to False. Valid Values are 'True' and
'False'. The value can be set to true only if the bank is enabled for
Online Payment Requisitions.
GetBuyerTemplateSuccessResponseV2-2:
type: object
properties:
responseObject:
"$ref": "#/components/schemas/GetBuyerTemplateResponseV2-2"
responseStatus:
"$ref": "#/components/schemas/Response"
description: Get Buyer Template Success Response V2
ErrorItem-2:
type: object
properties:
errorCode:
type: string
description: POP Notification Error Code
errorDescription:
type: string
description: POP Notification Error Description
PaymentConfigForCreate:
type: object
properties:
expirationDays:
maxLength: 3
pattern: "^[\\d]+$"
type: string
description: Default payment expiration days which will be used if the buyer
did not provide the payment expiration date either in the payment or has
not configured for the supplier. The payment expiration days will be
used to calculate the payment expiration date (payment process date +
the payment expiration days) which is the last day by which the supplier
should collect the payment. Only numbers are allowed. If the parameter
is not provided, system default this value to 30.
billingCurrency:
maxLength: 3
pattern: "^[a-zA-Z]{3}$"
type: string
description: Denotes the ISO alpha currency code associated with the billing
Currency of the card accounts belonging to the buyer. All ISO alpha currency
codes will be supported. For example- USD for US Dollar. It should be
one of the supported active currencies in VPA. VPA system uses the billing
currency as the payment currency for adjustable limit card accounts.
allowableCurrencies:
maxItems: 200
uniqueItems: true
type: array
description: The list of currencies allowed for the buyer. The buyer can
process payments in any of these currencies. Any payments made other
than these currencies will be rejected. All ISO alpha currency codes
will be supported. For example- USD for US Dollar. It should be one of
the supported active currencies in VPA. Can setup up to a max of 200 currencies.
Billing currency should be present in the list else the system will automatically
add it to the list. Defaults to the billing currency if not provided.
items:
pattern: "^[a-zA-Z]{3}$"
type: string
paymentAdviceOption:
maxLength: 1
type: string
description: This option is used by the system to decide if all payments
to the same supplier should be consolidated or sent separately in the
payment advice notificaion. Optional field. If the value for this field
(the tag is not sent) is not provided, the system defaults it to 'C'.
Valid values are 'C' for consolidated or 'S' for split.
expirationBufferDays:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: expirationBufferDays is the number of days after the payment
expiration date by which the supplier needs to complete the collection
of the payment (settlement of the card transaction should be completed).
Only numbers are allowed. If the parameter is not provided, system default
this value to 5.
securityCodeRequired:
type: boolean
description: Denotes if security code is needed for the supplier to collect
the payment. Optional field. If the value for this field (the tag is not
sent) is not provided, the system defaults it to the value set for the
bank for this field. Valid values are 'True' or 'False'. This field can
be set to true only if the bank security code (CVV2) option is set to 'True'.
GetBuyerRequest:
required:
- buyerId
- clientId
- messageId
type: object
properties:
buyerId:
maxLength: 25
type: string
description: Buyer ID is the buyer identifier as defined in Visa Payables
Automation. This is often the ID defined at the processor. This will be
provided by the Visa implementation team. Value format is 0–9.
clientId:
maxLength: 25
type: string
description: ClientID uniquely identifies a financial institution. This
will be provided by Visa implementation team.
messageId:
maxLength: 36
type: string
description: Unique identifier for identifying the request. Each request
sent to VPA requires its own unique ID.
description: Get Buyer Request Class
ProcessPaymentRequestDTO:
title: ProcessPaymentRequestDTO
required:
- actionType
- buyerId
- corporate_internal_id
- payment
type: object
properties:
buyerId:
type: string
payment:
"$ref": "#/components/schemas/Payment-1"
actionType:
type: string
corporate_internal_id:
type: string
ProxyConfigForUpdate:
type: object
properties:
holdDays:
maxLength: 3
pattern: "^[\\d]+$"
type: string
description: Denotes the number of days an account picked up for a payment
in a proxy will be kept on hold before being used for another payment. For
payments, the hold days start from the day the payment was processed and
for Request Virtual Account, the hold days start from the day the end
date of the RVA has reached. Should be a numeric value between 1 to 999.
This field can be updated at any time.
autoRefreshEnabled:
type: boolean
description: Denotes if auto replenishment is enabled for proxies associated
with the buyer. The value of this field should be set to true for VIP
and VPP enabled buyers. Valid Values are 'True' and 'False'. The value
can be set to true only if the bank is enabled for auto replenishment.
This field can be updated at any time.
bucketedProxyEnabled:
type: boolean
description: Denotes if bucketed proxy is enabled for proxies associated
with the buyer. Valid Values are 'True' and 'False'. The value can be
set to true only if the bank is enabled for bucketed proxy. This field
can be updated only if all the proxy pools are empty.
PaymentNotificationConfigForGet:
type: object
properties:
dateFormat:
type: string
description: Denotes the date format which will be used for parsing date
fields in the payment files in EDI or CSV or tab format.
format: date
settlementSource:
type: string
description: Denotes if the settlement is sourced from VIDS (1) or from
VCF (2).
readOnly: true
paymentAdviceTemplate:
type: string
description: Denotes the name of the email template which will be used for
generating the email notifications.
readOnly: true
defaultBuyerLanguageCode:
maxLength: 10
type: string
description: Denotes the language which will be used in notifications sent
to the buyer.
example: en_us
attachRemittanceDetailsFile:
type: boolean
description: Denotes if the remittance details file (containing the invoice
details) will be attached to the payment advice notification while processig
a payment.
supplierReminderNotificationDays:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of days before the payment expiration date
when the system sends a reminder notification to the supplier.
defaultAttachRemittanceDetailsFile:
type: boolean
description: Denotes if the “Attach Remittance Details” option needs to
be enabled by default for all the new suppliers created.
readOnly: true
supplierReminderNotificationEnabled:
type: boolean
description: Denotes if the system will send the payment reminder notification
to the supplier (before the configured number of days (supplier reminder
notification days) from the payment expiration date) to remind them to
collect the payment.
defaultSupplierReminderNotificationEnabled:
type: boolean
description: Denotes if the “Reminder Notification” option needs to be enabled
by default for all the new suppliers created.
readOnly: true
UpdateBuyerSuccessResponse:
type: object
properties:
responseStatus:
"$ref": "#/components/schemas/Response"
description: Response for a successful update of a Buyer
PaymentSecurityConfigForUpdate:
type: object
properties:
customSecurityQuestions:
maxItems: 3
uniqueItems: true
type: array
description: The questions (text) which will be used at random (Only one
of the questions will be displayed) to authenticate the supplier when
they click on the URL sent in the payment advice notification for viewing
the full card details. The system sends the security questions and answers
to the supplier when the supplier is setup for the buyer. At least one
question needs to be sent if custom security question is enabled for the
buyer. This field can be updated at any time and will be used only for
future payments.
items:
maxLength: 100
type: string
defaultSecurityQuestion:
maxLength: 256
type: string
description: Denotes the text for the default security question which will
be displayed to the supplier when they click on the URL sent in the payment
advice notification for viewing the full card details. This field can
be updated at any time and will be used only for future payments.
defaultSecurityFieldCode:
maxLength: 1
type: string
description: Denotes the field system uses to authenticate the supplier
when they click on the URL sent in the payment advice notification for
viewing the full card details. Valid values are '1' - Postal code and
'2' - Supplier ID. The default security is used only when the system creates
new suppliers while processing payment files (EDI 820) or if custom security
question is not enabled. This field can be updated at any time and will
be used only for future payments.
customSecurityQuestionsEnabled:
type: boolean
description: Denotes if the buyer wants to use custom security questions
to authenticate the supplier when they click on the URL sent in the payment
advice notification for viewing the full card details. Valid values are
'True' and 'False'. This field can be set to True only if the bank custom
security questions option is set to True. This field can be updated at
any time and will be used only for future payments.
UpdatePaymentConfig:
type: object
properties:
expirationDays:
maxLength: 3
pattern: "^[\\d]+$"
type: string
description: Default payment expiration days which will be used if the buyer
did not provide the payment expiration date either in the payment or has
not configured for the supplier. The payment expiration days will be
used to calculate the payment expiration date (payment process date +
the payment expiration days) which is the last day by which the supplier
should collect the payment. Only numbers are allowed. This fiel can be
updated at any time.
billingCurrency:
maxLength: 3
pattern: "^[a-zA-Z]{3}$"
type: string
description: Denotes the ISO alpha currency code associated with the billing
Currency of the card accounts belonging to the buyer. For example- USD
for US Dollar. It should be one of the supported active currencies in
VPA. VPA system uses the billing currency as the payment currency for
adjustable limit card accounts. This field cannot be updated if sync Buyer
Profiles field is set to true.
allowableCurrencies:
maxItems: 200
uniqueItems: true
type: array
description: Contains the list of ISO alpha currency codes allowed for the
buyer. The buyer can process payments only in one of these currencies. Payments
made in any other currency will be rejected. All ISO alpha currency codes
will be supported. For example- USD for US Dollar. It should be one of
the supported active currencies in VPA. Can setup up to a max of 200 currencies.
Billing currency should be present in the list else the system will automatically
add it to the list. Defaults to the billing currency if not provided.
This field cannot be updated if the sync Buyer Profiles is set to true.
items:
maxLength: 3
pattern: "^[a-zA-Z]{3}$"
type: string
paymentAdviceOption:
maxLength: 1
type: string
description: Denotes if the payment advice should be sent at the consolidated
payment level (Consolidated) or for each payment (split). Valid values
are 'C' for consolidated or 'S' for split. If consolidated option is chosen,
all payments to the same supplier will be consolidated and sent in one
payment advice notification. This field can be updated at any time.
expirationBufferDays:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: expirationBufferDays is the number of days after the payment
expiration date by which the supplier needs to complete the collection
of the payment (settlement of the card transaction should be completed).
Only 2 digit integer numbers are allowed. Can be updated at any time.
securityCodeRequired:
type: boolean
description: Denotes if security code is needed for the supplier to collect
the payment. Valid values are 'True' or 'False'. This field can be set
to true only if the bank security code (CVV2) option is set to 'True'. This
field can be updated at any time.
UpdateBuyerTemplateResponse:
required:
- templateId
type: object
properties:
templateId:
maxLength: 30
type: string
description: Unique Identifier for a Template. It should be alphanumeric. Should
be an existing template id associated with the bank (associated to the
client id). The template id is returned in the response of the CreateTemplate
API.
description: Update Buyer Template Response
PaymentDetailsRequestDTO:
title: PaymentDetailsRequestDTO
required:
- buyerId
- corporate_internal_id
type: object
properties:
status:
type: string
toDate:
type: string
buyerId:
type: string
fromDate:
type: string
resultSetNo:
type: string
trackingNumber:
type: string
corporate_internal_id:
type: string
GetBuyerTemplateResponseV2:
type: object
properties:
vanConfig:
"$ref": "#/components/schemas/GetVanConfig"
templateId:
maxLength: 30
type: string
description: Unique Identifier for a Template. It should be alphanumeric. Should
be an existing template id associated with the bank (associated to the
client id). The template id is returned in the response of the GetTemplate
API.
contactInfo:
"$ref": "#/components/schemas/GetContactInfo"
proxyConfig:
"$ref": "#/components/schemas/GetProxyConfig"
templateName:
maxLength: 50
type: string
description: Name of the template
billingConfig:
"$ref": "#/components/schemas/GetBillingConfig"
paymentConfig:
"$ref": "#/components/schemas/GetPaymentConfig"
processorConfig:
"$ref": "#/components/schemas/GetProcessorConfig"
stpPaymentConfig:
"$ref": "#/components/schemas/GetSTPPaymentConfig"
webServicesConfig:
"$ref": "#/components/schemas/GetWebServicesConfig"
boostPaymentConfig:
"$ref": "#/components/schemas/GetBoostPaymentConfig"
buyerFeatureConfig:
"$ref": "#/components/schemas/GetBuyerFeatureConfigV2"
responseFileConfig:
"$ref": "#/components/schemas/GetResponseFileConfig"
stripePaymentConfig:
"$ref": "#/components/schemas/GetStripePaymentConfig"
templateDescription:
maxLength: 256
type: string
description: Description of the template.
paymentFileCommConfig:
"$ref": "#/components/schemas/GetPaymentFileCommConfig"
paymentSecurityConfig:
"$ref": "#/components/schemas/GetPaymentSecurityConfig"
approvalWorkflowConfig:
"$ref": "#/components/schemas/GetApprovalWorkflowConfig"
reconciliationFileConfig:
"$ref": "#/components/schemas/GetReconciliationFileConfig"
paymentNotificationConfig:
"$ref": "#/components/schemas/GetPaymentNotificationConfig"
authorizationControlConfig:
"$ref": "#/components/schemas/GetAuthorizationControlConfig"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/GetRVAReconciliationFileConfig"
description: Get Buyer Template Response V2
WebServicesConfigForCreate-2:
type: object
properties:
apiCodes:
maxItems: 200
uniqueItems: true
type: array
description: Reserved for Future use. The system will default the apiCodes
to what is set for the bank.
items:
maxLength: 10
type: string
clientId:
maxLength: 40
type: string
description: Reserved for Future use. The system will default the client
ID to what is set for the bank.
vbdsClientId:
maxLength: 50
type: string
description: vbdsClientId is the unique id generated for third parties wanting
to subscribe for auth/settlement data in VBDS system. Should be numeric.
webServicesEnabled:
type: boolean
description: Denotes if the web services is enabled for the Buyer. If the
value for this field (the tag is not sent) is not provided, the system
defaults it false. Valid Values are 'True' and 'False'. The value can
be set to true only if the bank is enabled for this Option.
vbdsDataSubscription:
type: array
description: This complex element captures information about the subscription
to Data APIs. This is optional and if this object is not provided, the
subscription defaults to bank configuration for the given vbdsClientId.
items:
type: object
properties:
dataSubscriptionType:
type: number
description: 'This field is mandatory if vbdsDataSubcription object
is provided. This field accepts the following subscription types.
Provide the numeric code associated with the API(s) you want to
subscribe to: 5001(Transaction Data API), 5003(Starter Data API),
5004(Authorization Data API (Pull)), 5005(Authorization Data API
(Push))'
dataSubscriptionAccountType:
type: array
description: This is optional. If no value is provided, all the account
types enabled at the bank level for the client are subscribed to
the APIs specified in dataSubscriptionType. Subscribe/unsubscribe
is allowed only for the account types enabled at the bank level
for the provided client.
items:
type: object
properties:
subscribed:
type: boolean
description: 'This field indicates if the accountType should
be subscribed to the specified Data API(s). E.g. if you want
to subscribe the account type to the API provide ''true''
here. To unsubscribe an account type to an API, provide ''false''.
Valid Values are ''True'' and ''False''.The valid value must
be provided for the account type. '
accountType:
type: string
description: 'This field accepts following values. Please use
the 4-character alpha code: VIPT:VIP/Pseudo Account-Pseudo
Account generated by Visa, NVPA:Non virtual account-Physical
cards, MEMO:Processor account-Virtual accounts generated at
the Processor, FUNA:Funding Account-Parent Account for Visa
Pseudo Accounts or TSYS VPP VAN tokens, VPPT:VPP Token-TSYS
generated tokens (Also referred to as TSYS VPP VANs)'
suppressSupplierNotification:
type: boolean
description: Denotes if all supplier notifications needs to be suppressed. If
this field is set to true, then the web service consumers should handle
the supplier communication themselves. If the value for this field (the
tag is not sent) is not provided, the system defaults it to False. Valid
Values are 'True' or 'False'.
UpdateBuyerRequest-2:
required:
- clientId
- contactInfo
- messageId
type: object
properties:
clientId:
maxLength: 25
type: string
description: ClientID uniquely identifies a financial institution. This
will be provided by Visa implementation team.
messageId:
maxLength: 36
type: string
description: Unique identifier for this request. Each request sent to VPA
requires its own unique ID.
vanConfig:
"$ref": "#/components/schemas/VanConfigForUpdate"
contactInfo:
"$ref": "#/components/schemas/ContactInfoForUpdate"
proxyConfig:
"$ref": "#/components/schemas/ProxyConfigForUpdate"
billingConfig:
"$ref": "#/components/schemas/BillingConfigForUpdate"
paymentConfig:
"$ref": "#/components/schemas/PaymentConfigForUpdate"
processorConfig:
"$ref": "#/components/schemas/ProcessorConfigForUpdate"
stpPaymentConfig:
"$ref": "#/components/schemas/StpPaymentConfigForUpdate"
paymentFileConfig:
"$ref": "#/components/schemas/PaymentFileCommConfigForUpdate"
webServicesConfig:
"$ref": "#/components/schemas/WebServicesConfigForUpdate-2"
boostPaymentConfig:
"$ref": "#/components/schemas/BoostPaymentConfigForUpdate"
buyerFeatureConfig:
"$ref": "#/components/schemas/BuyerFeatureConfigForUpdate"
responseFileConfig:
"$ref": "#/components/schemas/ResponseFileConfigForUpdate-1"
stripePaymentConfig:
"$ref": "#/components/schemas/StripePaymentConfigForUpdate"
paymentSecurityConfig:
"$ref": "#/components/schemas/PaymentSecurityConfigForUpdate"
approvalWorkflowConfig:
"$ref": "#/components/schemas/ApprovalWorkflowConfigForUpdate"
reconciliationFileConfig:
"$ref": "#/components/schemas/ReconciliationFileConfigForUpdate-1"
paymentNotificationConfig:
"$ref": "#/components/schemas/PaymentNotificationConfigForUpdate"
authorizationControlConfig:
"$ref": "#/components/schemas/AuthorizationControlConfigForUpdate"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/RvaReconciliationFileConfigForUpdate-1"
description: Profile details of the buyer being updated.
GetBuyerTemplateSuccessResponseV2:
type: object
properties:
responseObject:
"$ref": "#/components/schemas/GetBuyerTemplateResponseV2"
responseStatus:
"$ref": "#/components/schemas/Response"
description: Get Buyer Template Success Response V2
CreateBuyerTemplateSuccessResponse:
type: object
properties:
responseObject:
"$ref": "#/components/schemas/CreateBuyerTemplateResponse"
responseStatus:
"$ref": "#/components/schemas/Response"
description: Create Buyer Template Success Response
UpdateBuyerRequest-1:
required:
- clientId
- contactInfo
- messageId
type: object
properties:
clientId:
maxLength: 25
type: string
description: ClientID uniquely identifies a financial institution. This
will be provided by Visa implementation team.
messageId:
maxLength: 36
type: string
description: Unique identifier for this request. Each request sent to VPA
requires its own unique ID.
vanConfig:
"$ref": "#/components/schemas/VanConfigForUpdate"
contactInfo:
"$ref": "#/components/schemas/ContactInfoForUpdate"
proxyConfig:
"$ref": "#/components/schemas/ProxyConfigForUpdate"
billingConfig:
"$ref": "#/components/schemas/BillingConfigForUpdate"
paymentConfig:
"$ref": "#/components/schemas/PaymentConfigForUpdate"
processorConfig:
"$ref": "#/components/schemas/ProcessorConfigForUpdate"
stpPaymentConfig:
"$ref": "#/components/schemas/StpPaymentConfigForUpdate"
paymentFileConfig:
"$ref": "#/components/schemas/PaymentFileCommConfigForUpdate"
webServicesConfig:
"$ref": "#/components/schemas/WebServicesConfigForUpdate-1"
boostPaymentConfig:
"$ref": "#/components/schemas/BoostPaymentConfigForUpdate"
buyerFeatureConfig:
"$ref": "#/components/schemas/BuyerFeatureConfigForUpdate"
responseFileConfig:
"$ref": "#/components/schemas/ResponseFileConfigForUpdate-1"
stripePaymentConfig:
"$ref": "#/components/schemas/StripePaymentConfigForUpdate"
paymentSecurityConfig:
"$ref": "#/components/schemas/PaymentSecurityConfigForUpdate"
approvalWorkflowConfig:
"$ref": "#/components/schemas/ApprovalWorkflowConfigForUpdate"
reconciliationFileConfig:
"$ref": "#/components/schemas/ReconciliationFileConfigForUpdate-1"
paymentNotificationConfig:
"$ref": "#/components/schemas/PaymentNotificationConfigForUpdate"
authorizationControlConfig:
"$ref": "#/components/schemas/AuthorizationControlConfigForUpdate"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/RvaReconciliationFileConfigForUpdate-1"
description: Profile details of the buyer being updated.
WebServicesConfigForCreate-1:
type: object
properties:
apiCodes:
maxItems: 200
uniqueItems: true
type: array
description: Reserved for Future use. The system will default the apiCodes
to what is set for the bank.
items:
maxLength: 10
type: string
clientId:
maxLength: 40
type: string
description: Reserved for Future use. The system will default the client
ID to what is set for the bank.
vbdsClientId:
maxLength: 50
type: string
description: vbdsClientId is the unique id generated for third parties wanting
to subscribe for auth/settlement data in VBDS system. Should be numeric.
webServicesEnabled:
type: boolean
description: Denotes if the web services is enabled for the Buyer. If the
value for this field (the tag is not sent) is not provided, the system
defaults it false. Valid Values are 'True' and 'False'. The value can
be set to true only if the bank is enabled for this Option.
vbdsDataSubscription:
type: array
description: This complex element captures information about the subscription
to Data APIs. This is optional and if this object is not provided, the
subscription defaults to bank configuration for the given vbdsClientId.
items:
type: object
properties:
dataSubscriptionType:
type: number
description: 'This field is mandatory if vbdsDataSubcription object
is provided. This field accepts the following subscription types.
Provide the numeric code associated with the API(s) you want to
subscribe to: 5001(Transaction Data API), 5003(Starter Data API),
5004(Authorization Data API (Pull)), 5005(Authorization Data API
(Push))'
dataSubscriptionAccountType:
type: array
description: This is optional. If no value is provided, all the account
types enabled at the bank level for the client are subscribed to
the APIs specified in dataSubscriptionType. Subscribe/unsubscribe
is allowed only for the account types enabled at the bank level
for the provided client.
items:
type: object
properties:
subscribed:
type: boolean
description: 'This field indicates if the accountType should
be susbcribed to the specified Data API(s). E.g. if you want
to subscribe the account type to the API provide ''true''
here. To unsubscribe an account type to an API, provide ''false''.
Valid Values are ''True'' and ''False''.The valid value must
be provided for the account type. '
accountType:
type: string
description: 'This field accepts following values. Please use
the 4-character alpha code: VIPT:VIP / Pseudo Account:Pseudo
Account generated by Visa, NVPA:Non virtual account:Physical
cards, MEMO:Processor account:Virtual accounts generated at
the Processor, FUNA:Funding Account:Parent Account for Visa
Pseudo Accounts or TSYS VPP VAN tokens, VPPT:VPP Token:TSYS
generated tokens (Also referred to as TSYS VPP VANs)'
suppressSupplierNotification:
type: boolean
description: Denotes if all supplier notifications needs to be suppressed. If
this field is set to true, then the web service consumers should handle
the supplier communication themselves. If the value for this field (the
tag is not sent) is not provided, the system defaults it to False. Valid
Values are 'True' or 'False'.
GetRVAReconciliationFileConfig:
type: object
properties:
commFileId:
maxLength: 40
type: string
description: Comm file Id refers to Comm File info associated with the Request
Virtua Account recon file outbound delivery.
templateId:
maxLength: 2
type: string
description: Denotes the template identifier associated with the RVA recon
template to be used for generating the RVA recon file.
CreateBuyerTemplateRequest:
required:
- clientId
- messageId
- paymentConfig
- paymentNotificationConfig
- templateName
type: object
properties:
clientId:
maxLength: 25
type: string
description: ClientID associated with the bank. This will be provided by
Visa implementation team.
messageId:
maxLength: 36
type: string
description: Unique identifier for identifying the request.
vanConfig:
"$ref": "#/components/schemas/VanConfig"
contactInfo:
"$ref": "#/components/schemas/ContactInfo"
proxyConfig:
"$ref": "#/components/schemas/ProxyConfig"
templateName:
maxLength: 50
type: string
description: Client-provided name of the template. Alphanumeric. No special
characters other than _ - * & ' ! , . '#' and – (Dash) are allowed.
It has to be unique within a Bank.
billingConfig:
"$ref": "#/components/schemas/BillingConfig"
paymentConfig:
"$ref": "#/components/schemas/PaymentConfig"
processorConfig:
"$ref": "#/components/schemas/ProcessorConfig"
stpPaymentConfig:
"$ref": "#/components/schemas/STPPaymentConfig"
webServicesConfig:
"$ref": "#/components/schemas/WebServicesConfig"
boostPaymentConfig:
"$ref": "#/components/schemas/BoostPaymentConfig"
buyerFeatureConfig:
"$ref": "#/components/schemas/BuyerFeatureConfig"
responseFileConfig:
"$ref": "#/components/schemas/ResponseFileConfig"
stripePaymentConfig:
"$ref": "#/components/schemas/StripePaymentConfig"
templateDescription:
maxLength: 256
type: string
description: Client-defined template description. Supports AlphaNumeric
characters.
paymentFileCommConfig:
"$ref": "#/components/schemas/PaymentFileCommConfig"
paymentSecurityConfig:
"$ref": "#/components/schemas/PaymentSecurityConfig"
approvalWorkflowConfig:
"$ref": "#/components/schemas/ApprovalWorkflowConfig"
reconciliationFileConfig:
"$ref": "#/components/schemas/ReconciliationFileConfig"
paymentNotificationConfig:
"$ref": "#/components/schemas/PaymentNotificationConfig"
authorizationControlConfig:
"$ref": "#/components/schemas/AuthorizationControlConfig"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/RVAReconciliationFileConfig"
description: Create Buyer Template Request
UpdatePaymentConfig-1:
type: object
properties:
expirationDays:
maxLength: 3
pattern: "^[\\d]+$"
type: string
description: Default payment expiration days which will be used if the buyer
did not provide the payment expiration date either in the payment or has
not configured for the supplier. The payment expiration days will be
used to calculate the payment expiration date (payment process date +
the payment expiration days) which is the last day by which the supplier
should collect the payment. Only numbers are allowed. This field can be
updated at any time.
billingCurrency:
maxLength: 3
pattern: "^[a-zA-Z]{3}$"
type: string
description: Denotes the ISO alpha currency code associated with the billing
Currency of the card accounts belonging to the buyer. For example- USD
for US Dollar. It should be one of the supported active currencies in
VPA. VPA system uses the billing currency as the payment currency for
adjustable limit card accounts. This field cannot be updated if sync Buyer
Profiles field is set to true.
allowableCurrencies:
maxItems: 200
uniqueItems: true
type: array
description: Contains the list of ISO alpha currency codes allowed for the
buyer. The buyer can process payments only in one of these currencies. Payments
made in any other currency will be rejected. All ISO alpha currency codes
will be supported. For example- USD for US Dollar. It should be one of
the supported active currencies in VPA. Can setup up to a max of 200 currencies.
Billing currency should be present in the list else the system will automatically
add it to the list. Defaults to the billing currency if not provided.
This field cannot be updated if the sync Buyer Profiles is set to true.
items:
maxLength: 3
pattern: "^[a-zA-Z]{3}$"
type: string
paymentAdviceOption:
maxLength: 1
type: string
description: Denotes if the payment advice should be sent at the consolidated
payment level (Consolidated) or for each payment (split). Valid values
are 'C' for consolidated or 'S' for split. If consolidated option is chosen,
all payments to the same supplier will be consolidated and sent in one
payment advice notification. This field can be updated at any time.
expirationBufferDays:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: expirationBufferDays is the number of days after the payment
expiration date by which the supplier needs to complete the collection
of the payment (settlement of the card transaction should be completed).
Only 2 digit integer numbers are allowed. Can be updated at any time.
securityCodeRequired:
type: boolean
description: Denotes if security code is needed for the supplier to collect
the payment. Valid values are 'True' or 'False'. This field can be set
to true only if the bank security code (CVV2) option is set to 'True'. This
field can be updated at any time.
ProcessPaymentRequest:
title: ProcessPaymentRequest
required:
- accountingSoftware
- accountingSoftwareEntityId
- actionType
- buyerId
- issuerId
- messageId
- payment
type: object
properties:
buyerId:
type: string
description: Buyer ID is the buyer identifier as defined in Visa Payables
Automation.
payment:
"$ref": "#/components/schemas/Payment"
issuerId:
type: string
description: A '-' (hyphen) separated field which contains the region id,
processor id and bank id
clientKey:
type: string
description: Client key for secure communication
messageId:
type: string
description: Unique ID specific to this API call.
actionType:
type: string
description: "Type of payment processing. \r\n 1 - Payment Instruction
\ \r\n 2 - Payment Requisition"
codeChallenge:
type: string
description: Code challenge for secure communication
accountingSoftware:
type: string
description: Name/Initials of the accounting software used.
enum:
- QBO
paymentDescription:
type: string
description: Description of the payment.
accountingSoftwareEntityId:
type: string
description: Unique ID of that particular accounting software entity
example: bill Id with respect to QuickBooks Online(QBO)
description: Process Payment Request Schema
Supplier:
required:
- supplierID
- supplierName
type: object
properties:
emailNotes:
type: string
description: This contains the text to be included on email notifications
and remittance advice.
supplierID:
type: string
description: Identifier used by the buyer to identify the supplier. This
has to be unique for a buyer. It cannot contain spaces.
supplierCity:
type: string
description: Supplier city.
supplierName:
type: string
description: Name of supplier to be paid. It is mandatory for new suppliers.
supplierState:
type: string
description: Supplier state.
supplierPostalCode:
type: string
description: Supplier postal code. It is mandatory for new suppliers and
only if the country mandates it.
primaryEmailAddress:
type: string
description: Email address
supplierCountryCode:
type: string
description: Supplier country code. It is alphanumeric. VPA supports all
ISO alphanumeric country code.For example- USA.
supplierAddressLine1:
type: string
description: Supplier address line 1.
supplierAddressLine2:
type: string
description: Supplier address line 2.
alternateEmailAddresses:
type: array
description: This complex element can have up to five alternate email addresses.
items:
"$ref": "#/components/schemas/AlternateEmailAddress"
description: Supplier Class
GetBuyerSuccessResponseV2:
type: object
properties:
responseObject:
"$ref": "#/components/schemas/GetBuyerResponseV2"
responseStatus:
"$ref": "#/components/schemas/Response"
description: Response for a successful fetch of a Buyer
StripePaymentConfigForGet:
type: object
properties:
stripePaymentEnabled:
type: boolean
description: Denotes if Stripe payments is enabled for the buyer.
remittanceNotificationEnabled:
type: boolean
description: Denotes if the Stripe Payment Remittance notification is enabled
for a buyer. The Stripe supplier will be getting the payment remittance
notification only if this field is enabled.
GetContactInfo:
type: object
properties:
phone1:
maxLength: 20
type: string
description: Buyer contact phone number. Will be alphanumeric.
emailAddress:
maxLength: 100
type: string
description: Denotes the buyer's contact Email Address. Will be a valid
email address.
implementationType:
type: integer
description: Valid Values are:1 – VPA UI, 2 – VPA API and 3 – Visa Commercial
Pay. 1 denotes buyer uses VPA UI (issuer direct use of VPA). 2 denotes
buyer uses a third party fintech's user interface and third party is using
VPA APIs. 3 denotes buyer uses Visa Commercial Pay service.
GetPaymentFileCommConfig:
type: object
properties:
edi824FileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the EDI 824 outbound
response file.
edi997FileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the EDI 997 outbound
ack file.
inboundFileId:
maxLength: 40
type: string
description: Denotes the Comm file ID associated with the EDI 820 inbound
payment file.
description: PaymentFileCommConfig contains the comm file configuration for
inbound EDI 820, and outbound EDI 997 and EDI 824.
ApprovalWorkflowConfig:
type: object
properties:
workflowConfigEnabled:
type: boolean
description: Denotes if the Approval Workflow is enabled for the template
(Buyer). Valid Values are 'True' and 'False'. If the value for this field
(the tag is not sent) is not provided, the system defaults it false. The
value can be set to true only if the bank is enabled for this Option.
workflowFunctionCodes:
maxItems: 10
uniqueItems: true
type: array
items:
maxLength: 4
type: string
description: Denotes the codes for the functionalities for which Approval
Workflow needs to be enabled. Valid Values are AUCL – Card Limit Update,
LCRC – Lodge/New Card, PYIN – Payment Instruction, PYRN – Payment Requisition
At least one function should be passed in this field if workflowconfigenabled
field is set to true for the template.
description: Parent tag which contains the approval workflow configurations.
GetBuyerFeatureConfig:
type: object
properties:
cardMaskingDigits:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in all places other than UI like the recon file,
response file, etc.
pseudoAccountsEnabled:
type: boolean
description: Denotes if "Pseudo Accounts" (VIP Tokens) option is enabled
for the template (buyers).
fullAccountViewEnabled:
type: boolean
description: Denotes if "Full Account View" functionality is enabled for
the template (buyers).
cardMaskingDigitsOnline:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in the UI.
onlinePaymentInstructionEnabled:
type: boolean
description: Denotes if Online payment instruction (Pay Now) functionality
is enabled for the template (buyers).
onlinePaymentRequisitionEnabled:
type: boolean
description: Denotes if Online payment Requisition functionality is enabled
for the template (buyer).
ReconciliationFileConfig:
type: object
properties:
commFileId:
maxLength: 40
type: string
description: Comm file Id refers to Comm File info associated with the recon
file outbound delivery.Required if ReconFileDelivery is set to Comms.
templateName:
maxLength: 100
type: string
description: Denotes the name of the custom Reconciliation template to be
used for generating the reconciliation file for all buyers using the template.
adhocReconciliationReportEnabled:
type: boolean
description: Denotes if Adhoc Reconciliation functionality is enabled for
the template (buyers). Valid Values are 'True' and 'False'. If the value
for this field (the tag is not sent) is not provided, the system defaults
it to False. The value can be set to true only if the bank is enabled
for Adhoc Reconciliation.
onlinePaymentReconciliationEnabled:
type: boolean
description: Denotes if Online payment Reconciliation functionality is enabled
for the template (buyers). Valid Values are 'True' and 'False'. If the
value for this field (the tag is not sent) is not provided, the system
defaults it to False. The value can be set to true only if the bank
is enabled for Online Payment Reconciliation.
GetApprovalWorkflowConfig:
type: object
properties:
workflowConfigEnabled:
type: boolean
description: Denotes if the Approval Workflow is enabled for the template
(Buyer).
workflowFunctionCodes:
maxItems: 10
uniqueItems: true
type: array
items:
maxLength: 4
type: string
description: Denotes the codes for the functionalities for which Approval
Workflow needs to be enabled. Valid Values are AUCL – Card Limit Update,
LCRC – Lodge/New Card, PYIN – Payment Instruction, PYRN – Payment Requisition
description: Parent tag which contains the approval workflow configurations.
PaymentNotificationConfigForUpdate:
type: object
properties:
dateFormat:
type: string
description: Denotes the date format which will be used for parsing date
fields in the payment files in EDI or CSV or tab format. Should be one
of the VPA system supported date formats. This field can be updated at
any time. Refer to Date
Formats table.
format: date
defaultBuyerLanguageCode:
maxLength: 10
type: string
description: Denotes the language which will be used in notifications sent
to the buyer. A valid locale (language code) should be provided. For example
"en_US" for US english. Refer to the Language
Code table for langauge codes. This field can be updated at any time.
example: en_us
attachRemittanceDetailsFile:
type: boolean
description: Denotes if the remittance details file (containing the invoice
details) will be attached to the payment advice notification while processig
a payment. Optional field. If the value for this field (the tag is not
sent) is not provided, the system defaults it to value set for this option
for the bank. Valid values are 'True' or 'False'. This field can be set
to true only if the bank attach remittance details file option is set
to 'True'. This field can be updated at any time.
supplierReminderNotificationDays:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of days before the payment expiration date
when the system sends a reminder notification to the supplier. Optional
Field. If the value for this field (the tag is not sent) is not provided,
the system defaults it to 7 days. Should be between 0 and 100. This value
should be specified only when suppress supplier notification is disabled
and supplier reminder notification is enabled for the buyer. This field
can be updated at any time.
supplierReminderNotificationEnabled:
type: boolean
description: Denotes if the system will send the payment reminder notification
to the supplier (before the configured number of days (supplier reminder
notification days) from the payment expiration date) to remind them to
collect the payment. If the value for this field (the tag is not sent)
is not provided, the system defaults it to 'False' if the suppress supplier
notification is enabled and to 'True' if the suppress supplier notifiation
is disabled. This field can be set to true only if the bank supplier
reminder notification option is set to 'True' and suppress supplier notification
option for the buyer is set to false. This field can be updated at any
time.
GetProcessorConfig:
type: object
properties:
closeAccount:
type: boolean
description: Used to close an account
GetBuyerResponseV2-1:
required:
- messageId
- statusCode
- statusDesc
type: object
properties:
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
vanConfig:
"$ref": "#/components/schemas/VanConfigForGet"
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric. The values
are specific to each method. For the details of the various error codes
returned for this method refer to the "Error Codes" table below.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
contactInfo:
"$ref": "#/components/schemas/ContactInfoForGet"
proxyConfig:
"$ref": "#/components/schemas/ProxyConfigForGet"
billingConfig:
"$ref": "#/components/schemas/BillingConfigForGet"
paymentConfig:
"$ref": "#/components/schemas/PaymentConfigForGet"
processorConfig:
"$ref": "#/components/schemas/ProcessorConfigForGet"
stpPaymentConfig:
"$ref": "#/components/schemas/StpPaymentConfigForGet"
paymentFileConfig:
"$ref": "#/components/schemas/PaymentFileCommConfigForGet"
webServicesConfig:
"$ref": "#/components/schemas/WebServicesConfigForGet"
boostPaymentConfig:
"$ref": "#/components/schemas/BoostPaymentConfigForGet"
buyerFeatureConfig:
"$ref": "#/components/schemas/BuyerFeatureConfigForGetV2-1"
responseFileConfig:
"$ref": "#/components/schemas/ResponseFileConfigForGet"
stripePaymentConfig:
"$ref": "#/components/schemas/StripePaymentConfigForGet"
paymentSecurityConfig:
"$ref": "#/components/schemas/PaymentSecurityConfigForGet"
approvalWorkflowConfig:
"$ref": "#/components/schemas/ApprovalWorkflowConfigForGet"
reconciliationFileConfig:
"$ref": "#/components/schemas/ReconciliationFileConfigForGet"
paymentNotificationConfig:
"$ref": "#/components/schemas/PaymentNotificationConfigForGet"
authorizationControlConfig:
"$ref": "#/components/schemas/AuthorizationControlConfigForGet"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/RvaReconciliationFileConfigForGet"
description: Get Buyer Response Class
GetBuyerResponseV2-2:
required:
- messageId
- statusCode
- statusDesc
type: object
properties:
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
vanConfig:
"$ref": "#/components/schemas/VanConfigForGet"
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric. The values
are specific to each method. For the details of the various error codes
returned for this method refer to the "Error Codes" table below.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
contactInfo:
"$ref": "#/components/schemas/ContactInfoForGet"
proxyConfig:
"$ref": "#/components/schemas/ProxyConfigForGet"
billingConfig:
"$ref": "#/components/schemas/BillingConfigForGet"
paymentConfig:
"$ref": "#/components/schemas/PaymentConfigForGet"
processorConfig:
"$ref": "#/components/schemas/ProcessorConfigForGet"
stpPaymentConfig:
"$ref": "#/components/schemas/StpPaymentConfigForGet"
paymentFileConfig:
"$ref": "#/components/schemas/PaymentFileCommConfigForGet"
webServicesConfig:
"$ref": "#/components/schemas/WebServicesConfigForGetV2"
boostPaymentConfig:
"$ref": "#/components/schemas/BoostPaymentConfigForGet"
buyerFeatureConfig:
"$ref": "#/components/schemas/BuyerFeatureConfigForGetV2"
responseFileConfig:
"$ref": "#/components/schemas/ResponseFileConfigForGet-1"
stripePaymentConfig:
"$ref": "#/components/schemas/StripePaymentConfigForGet"
paymentSecurityConfig:
"$ref": "#/components/schemas/PaymentSecurityConfigForGet"
approvalWorkflowConfig:
"$ref": "#/components/schemas/ApprovalWorkflowConfigForGet"
reconciliationFileConfig:
"$ref": "#/components/schemas/ReconciliationFileConfigForGet-1"
paymentNotificationConfig:
"$ref": "#/components/schemas/PaymentNotificationConfigForGet"
authorizationControlConfig:
"$ref": "#/components/schemas/AuthorizationControlConfigForGet"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/RvaReconciliationFileConfigForGet-1"
description: Get Buyer Response Class
PaymentFileCommConfig:
type: object
properties:
edi824FileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the EDI 824 outbound
response file
edi997FileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the EDI 997 outbound
ack file
inboundFileId:
maxLength: 40
type: string
description: Denotes the Comm file ID associated with the EDI 820 inbound
payment file
description: PaymentFileCommConfig contains the comm file configuration for
inbound EDI 820, and outbound EDI 997 and EDI 824.
UpdatePaymentSecurityConfig:
type: object
properties:
customSecurityQuestions:
maxItems: 3
uniqueItems: true
type: array
description: The questions (text) which will be used at random (Only one
of the questions will be displayed) to authenticate the supplier when
they click on the URL sent in the payment advice notification for viewing
the full card details. The system sends the security questions and answers
to the supplier when the supplier is setup for the buyer. At least one
question needs to be sent if custom security question is enabled for the
template. This can be edited at any time and will take into effect only
for future payments.
items:
maxLength: 100
type: string
description: SThe size of the field should not exceed 100
defaultSecurityQuestion:
maxLength: 256
type: string
description: Denotes the text for the default security question which will
be displayed to the supplier when they click on the URL sent in the payment
advice notification for viewing the full card details. This field can
be edited at any time.
defaultSecurityFieldCode:
maxLength: 1
pattern: "^[\\d]+$"
type: string
description: Denotes the field system uses to authenticate the supplier
when they click on the URL sent in the payment advice notification for
viewing the full card details. Valid values are '1' - Postal code and
'2' - Supplier ID. If the value for this field (the tag is not sent) is
not provided, the system defaults it to '1'. The default security is
used only when the system creates new suppliers while processing payment
files (EDI 820) or if custom security question is not enabled. This field
can be edited at any time.
customSecurityQuestionsEnabled:
type: boolean
description: Denotes if the buyer wants to use custom security questions
to authenticate the supplier when they click on the URL sent in the payment
advice notification for viewing the full card details. Valid values are
'True' and 'False'. This field can be set to True only if the bank custom
security questions option is set to True. This field can be edited at
any time.
BuyerFeatureConfigForGet:
type: object
properties:
cardMaskingDigits:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in all places other than UI like the recon file,
response file, etc.
pseudoAccountsEnabled:
type: boolean
description: Denotes if "Pseudo Accounts" (VIP Tokens) option is enabled
for the buyer.
fullAccountViewEnabled:
type: boolean
description: Denotes if "Full Account View" functionality is enabled for
the buyer.
cardMaskingDigitsOnline:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in the UI.
onlinePaymentInstructionEnabled:
type: boolean
description: Denotes if Online payment instruction (Pay Now) functionality
is enabled for the buyer.
onlinePaymentRequisitionEnabled:
type: boolean
description: Denotes if Online payment Requisition functionality is enabled
for the buyer.
ProcessorConfigForUpdate:
type: object
properties:
processorFields:
type: object
additionalProperties:
type: object
properties: {}
closeAccountEnabled:
type: boolean
description: Default to Yes if processor integration is enabled for the
bank. Default to N if Processor integration is not enabled for the bank.
Default to Y if the buyer is enabled for VIP/VPP tokens.
description: 'This section is used if the issuer has processor integration enabled. When
using processor PANs, the following processors can be enabled for processor
integration: FIS, FDR, TS1, TS2, and TSUK. When using Visa Pseudo accounts
or TSYS VANs, processor integration is not required but if it is enabled the
system goes to the processor to retrieve the latest values (such as expiry
date, current balance and available balance for the funding accounts). The
fields vary for each processor so refer to the details
Buyer Setup Details page for more information on which fields are required
for each processor. If using TSYS VPP VANs or Visa VIP Pseudo Accounts, defaults
values can be used. Please refer to the Buyer Setup Details page for the
defaults'
ReconciliationFileConfigForGet:
type: object
properties:
fileLevel:
maxLength: 1
type: string
description: Denotes if the recon COMM File configuration is defined to
be delivered to the bank(B) or Company (C). Valid values are B - Bank
and C - Company.
commFileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the recon file outbound.
fileFormat:
type: integer
description: Denotes the format in which the recon file needs to be generated. Valid
values are 1 – XLS V0, 2 – CSV V0, 3 - XLS V1, 4 – CSV V1
deliveryTime:
maxLength: 6
type: string
description: Denotes the delivery type or day when the recon file needs
to be generated and delivered. Valid format for the time for the daily
frequency is 'HH:MM' in 24 hours format. Valid values for the Weekly
frequency 1 to 7 denoting the days. 1 being Sunday and 7 being Saturday
and Monthly Frequency 1 to 31
templateName:
maxLength: 100
type: string
description: Denotes the name of the recon template to be used for generating
the reconciliation file.
deliveryFrequency:
type: integer
description: Denotes the frequency in which the recon file needs to be delivered. Valid
values are 1 – Daily 2 – Weekly 3 - Monthly
recipientLoginIds:
maxItems: 50
uniqueItems: true
type: array
description: Contains the list of user ids of bank/buyer users who will
be receiving the recon file in their VOL mailbox.
items:
type: string
adhocReconciliationReportEnabled:
type: boolean
description: Denotes if Adhoc Reconciliation functionality is enabled for
the buyer. Valid Values are 'True' and 'False'.
onlinePaymentReconciliationEnabled:
type: boolean
description: Denotes if Online payment Reconciliation functionality is enabled
for the buyers. Valid Values are 'True' and 'False'.
CancelPaymentResponse:
title: CancelPaymentResponse
required:
- grossAmount
- messageId
- statusCode
- statusDesc
- supplierName
type: object
properties:
messageId:
type: string
description: Unique identifier which was sent in the request.
statusCode:
type: string
description: Status code of the response. It is alphanumeric. The values
are specific to each method. For the details of the various error codes
returned for this method refer to the "Error Codes" table
statusDesc:
type: string
description: Status description of the response.
supplierId:
type: string
description: Identifier used by the buyer to identify the supplier. This
is the supplier id of the supplier whose payment is being canceled.
grossAmount:
type: string
description: Contains the payment gross amount of the payment being cancelled
supplierName:
type: string
description: Name of supplier whose payment is being canceled.
description: Cancel Payment Response Schema
ResponseFileConfigForUpdate-1:
type: object
properties:
fileLevel:
maxLength: 1
type: string
description: Denotes if the response COMM File configuration is defined
to be delivered to the bank(B) or Company (C). Valid values are B and
C. This can be updated at any time.
commFileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the Response file
outbound. The COMM file definition should exist in the system. The Visa
implementation team provides this value after the outbound response file
configuration has been completed. This can be updated at any time.
fileFormat:
type: integer
description: Denotes the format in which the response file needs to be generated.
Needs to be numeric. Valid values are 1 – XLS V0, 2 – CSV V0, 3 - XLS
V1, 4 – CSV V1. This field can be updated at any time.
recipientLoginIds:
maxItems: 80
uniqueItems: true
type: array
description: Contains the list of user ids of bank/buyer users who will
be receiving the response file in their VOL mailbox. You can setup upto
80 user ids to receive the response file. The user ids should have the
VOL mailbox service entitled to them. This can be updated at any time.
items:
type: string
WebServicesConfigForUpdate-1:
type: object
properties:
apiCodes:
maxItems: 200
uniqueItems: true
type: array
description: Reserved for Future use. The system will default the apiCodes
to what is set for the bank.
items:
maxLength: 10
type: string
clientId:
maxLength: 40
type: string
description: Reserved for Future use. The system will default the client
ID to what is set for the bank.
vbdsClientId:
maxLength: 50
type: string
description: vbdsClientId is the unique id generated for third parties wanting
to subscribe for auth/settlement data in VBDS system. Should be numeric. This
field can be editedat any time.
webServicesEnabled:
type: boolean
description: Denotes if the web services is enabled for the Buyer. Valid
Values are 'True' and 'False'. The value can be set to true only if the
bank is enabled for this Option. This field can be enabled at any time
but cannot be disabled.
vbdsDataSubscription:
type: array
description: This complex element captures information about the subscription
to Data APIs. This is optional and if this object is not provided, the
subscription defaults to bank configuration for the given vbdsClientId.
items:
type: object
properties:
dataSubscriptionType:
type: number
description: 'This field is mandatory if vbdsDataSubcription object
is provided. This field accepts the following subscription types.
Provide the numeric code associated with the API(s) you want to
subscribe to: 5001(Transaction Data API), 5003(Starter Data API),
5004(Authorization Data API (Pull)), 5005(Authorization Data API
(Push))'
dataSubscriptionAccountType:
type: array
description: This is optional. If no value is provided, all the account
types enabled at the bank level for the client are subscribed to
the APIs specified in dataSubscriptionType. Subscribe/unsubscribe
is allowed only for the account types enabled at the bank level
for the provided client.
items:
type: object
properties:
subscribed:
type: boolean
description: 'This field indicates if the accountType should
be susbcribed to the specified Data API(s). E.g. if you want
to subscribe the account type to the API provide ''true''
here. To unsubscribe an account type to an API, provide ''false''.
Valid Values are ''True'' and ''False''.The valid value must
be provided for the account type. '
accountType:
type: string
description: 'This field accepts following values. Please use
the 4-character alpha code: VIPT:VIP / Pseudo Account:Pseudo
Account generated by Visa, NVPA:Non virtual account:Physical
cards, MEMO:Processor account:Virtual accounts generated at
the Processor, FUNA:Funding Account:Parent Account for Visa
Pseudo Accounts or TSYS VPP VAN tokens, VPPT:VPP Token:TSYS
generated tokens (Also referred to as TSYS VPP VANs)'
suppressSupplierNotification:
type: boolean
description: Denotes if all supplier notifications needs to be suppressed. If
this field is set to true, then the web service consumers should handle
the supplier communication themselves. Valid Values are 'True' or 'False'.
This field can be updated at any time.
Recipients:
type: object
properties:
sms:
type: array
description: List of phone numbers
items:
type: string
description: Phone number value
email:
type: array
description: List of email recipients
items:
type: string
description: Email address value
description: Recipients of the Notification
WebServicesConfigForUpdate-2:
type: object
properties:
apiCodes:
maxItems: 200
uniqueItems: true
type: array
description: Reserved for Future use. The system will default the apiCodes
to what is set for the bank.
items:
maxLength: 10
type: string
clientId:
maxLength: 40
type: string
description: Reserved for Future use. The system will default the client
ID to what is set for the bank.
vbdsClientId:
maxLength: 50
type: string
description: vbdsClientId is the unique id generated for third parties wanting
to subscribe for auth/settlement data in VBDS system. Should be numeric. This
field can be editedat any time.
webServicesEnabled:
type: boolean
description: Denotes if the web services is enabled for the Buyer. Valid
Values are 'True' and 'False'. The value can be set to true only if the
bank is enabled for this Option. This field can be enabled at any time
but cannot be disabled.
vbdsDataSubscription:
type: array
description: This complex element captures information about the subscription
to Data APIs. This is optional and if this object is not provided, the
subscription defaults to bank configuration for the given vbdsClientId.
items:
type: object
properties:
dataSubscriptionType:
type: number
description: 'This field is mandatory if vbdsDataSubcription object
is provided. This field accepts the following subscription types.
Provide the numeric code associated with the API(s) you want to
subscribe to: 5001(Transaction Data API), 5003(Starter Data API),
5004(Authorization Data API (Pull)), 5005(Authorization Data API
(Push))'
dataSubscriptionAccountType:
type: array
description: This is optional. If no value is provided, all the account
types enabled at the bank level for the client are subscribed to
the APIs specified in dataSubscriptionType. Subscribe/unsubscribe
is allowed only for the account types enabled at the bank level
for the provided client.
items:
type: object
properties:
subscribed:
type: boolean
description: 'This field indicates if the accountType should
be subscribed to the specified Data API(s). E.g. if you want
to subscribe the account type to the API provide ''true''
here. To unsubscribe an account type to an API, provide ''false''.
Valid Values are ''True'' and ''False''.The valid value must
be provided for the account type. '
accountType:
type: string
description: 'This field accepts following values. Please use
the 4-character alpha code: VIPT:VIP/Pseudo Account-Pseudo
Account generated by Visa, NVPA:Non virtual account-Physical
cards, MEMO:Processor account-Virtual accounts generated at
the Processor, FUNA:Funding Account-Parent Account for Visa
Pseudo Accounts or TSYS VPP VAN tokens, VPPT:VPP Token-TSYS
generated tokens (Also referred to as TSYS VPP VANs)'
suppressSupplierNotification:
type: boolean
description: Denotes if all supplier notifications needs to be suppressed. If
this field is set to true, then the web service consumers should handle
the supplier communication themselves. Valid Values are 'True' or 'False'.
This field can be updated at any time.
PaymentNotificationConfigForCreate:
type: object
properties:
dateFormat:
type: string
description: Denotes the date format which will be used for parsing date
fields in the payment files in EDI or CSV or tab format. Should be one
of the VPA system supported date formats. This field is required. Refer
to Date
Formats table.
format: date
defaultBuyerLanguageCode:
maxLength: 10
type: string
description: Denotes the language which will be used in notifications sent
to the buyer. A valid locale (language code) should be provided. For
example "en_US" for US english. If the value for this field is not provided,
the system defaults it to 'en_US'. Refer to the Language
Code table for langauge codes.
example: en_us
attachRemittanceDetailsFile:
type: boolean
description: Denotes if the remittance details file (containing the invoice
details) will be attached to the payment advice notification while processig
a payment. Optional field. If the value for this field (the tag is not
sent) is not provided, the system defaults it to value set for this option
for the bank. Valid values are 'True' or 'False'. This field can be set
to true only if the bank attach remittance details file option is set
to 'True'.
supplierReminderNotificationDays:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of days before the payment expiration date
when the system sends a reminder notification to the supplier. Optional
Field. If the value for this field (the tag is not sent) is not provided,
the system defaults it to 7 days. Should be between 0 and 100. This value
should be specified only when suppress supplier notification is disabled
and supplier reminder notification is enabled for the buyer.
supplierReminderNotificationEnabled:
type: boolean
description: Denotes if the system will send the payment reminder notification
to the supplier (before the configured number of days (supplier reminder
notification days) from the payment expiration date) to remind them to
collect the payment. If the value for this field (the tag is not sent)
is not provided, the system defaults it to 'False' if the suppress supplier
notification is enabled and to 'True' if the suppress supplier notifiation
is disabled. This field can be set to true only if the bank supplier
reminder notification option is set to 'True' and suppress supplier notification
option for the buyer is set to false.
CancelPaymentErrorResponse:
title: CancelPaymentErrorResponse
type: object
properties:
CP002:
type: object
description: The message ID sent in the request should be unique for each
request.
CP003:
type: object
description: The client ID sent in the request is not found in the system.
CP004:
type: object
description: The buyer information sent in the request is not set up in
the system.
CP025:
type: object
description: The bank or buyer has not been set up in VPA yet.
CP029:
type: object
description: The account number and the original message ID combination
is not found in the system.
CP030:
type: object
description: The original message ID sent in the request is not be found
in the system.
CP031:
type: object
description: The payment identified by the original message ID has already
been collected by the supplier.
CP032:
type: object
description: Cancel payment is not supported for DPS buyers.
CP037:
type: object
description: A system error occurred while canceling the payment. Please
try your request after sometime. If the issue persist, contact your system
administrator.
CP038:
type: object
description: Cancel payment is not supported for STP payments.
CP161:
type: object
description: The payment identified by the original message ID has already
been canceled.
CP162:
type: object
description: Payment is already canceled.
CP167:
type: object
description: The payment identified by the original message ID cannot be
canceled because the original payment was not processed successfully.
description: Error Codes
NotificationErrorResponse:
title: NotificationErrorResponse
type: object
properties:
messageId:
type: string
description: Unique identifier which was sent in the request
statusCode:
type: integer
description: HTTP Error status code
errorResponse:
"$ref": "#/components/schemas/ErrorResponse-3"
statusDescription:
type: string
description: HTTP Error status description
description: Notification Generation Error Response Schema
GetPaymentConfig:
type: object
properties:
expirationDays:
maxLength: 3
pattern: "^[\\d]+$"
type: string
description: Default payment expiration days which will be used if the buyer
did not provide the payment expiration date either in the payment or has
not configured for the supplier. The payment expiration days will be
used to calculate the payment expiration date (payment process date +
the payment expiration days) which is the last day by which the supplier
should collect the payment.
billingCurrency:
maxLength: 3
pattern: "^[a-zA-Z]{3}$"
type: string
description: Denotes the ISO alpha currency code associated with the billing
Currency of the card accounts belonging to the buyer.
allowableCurrencies:
maxItems: 200
uniqueItems: true
type: array
description: The list of currencies (ISO alpha currency codes) allowed for
the buyer. The buyer can process payments in any of these currencies. Any
payments made other than these currencies will be rejected.
items:
maxLength: 3
pattern: "^[a-zA-Z]{3}$"
type: string
paymentAdviceOption:
maxLength: 1
type: string
description: Denotes if all payments to the same supplier in a payment file
will be consolidated (Consolidated option - C) or sent separately (Split
Option - S) and sent in one payment advice notification.
expirationBufferDays:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: expirationBufferDays is the number of days after the payment
expiration date by which the supplier needs to complete the collection
of the payment (settlement of the card transaction should be completed).
securityCodeRequired:
type: boolean
description: Denotes if CVV2 is required for processing the payment.
WebServicesConfigForUpdate:
type: object
properties:
apiCodes:
maxItems: 200
uniqueItems: true
type: array
description: Reserved for Future use. The system will default the apiCodes
to what is set for the bank.
items:
maxLength: 10
type: string
clientId:
maxLength: 40
type: string
description: Reserved for Future use. The system will default the client
ID to what is set for the bank.
vbdsClientId:
maxLength: 50
type: string
description: vbdsClientId is the unique id generated for third parties wanting
to subscribe for auth/settlement data in VBDS system. Field is alphanumeric. This
field can be editedat any time.
webServicesEnabled:
type: boolean
description: Denotes if the web services is enabled for the Buyer. Valid
Values are 'True' and 'False'. The value can be set to true only if the
bank is enabled for this Option. This field can be enabled at any time
but cannot be disabled.
suppressSupplierNotification:
type: boolean
description: Denotes if all supplier notifications needs to be suppressed. If
this field is set to true, then the web service consumers should handle
the supplier communication themselves. Valid Values are 'True' or 'False'.
This field can be updated at any time.
BResponse:
type: object
properties:
status:
type: string
description: Response status `success` or `error`
enum:
- success
- error
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric. The values
are specific to each method. For the details of the various error codes
returned for this method refer to the "Error Codes" table below.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
description: Default API Response
UpdateBuyerFeatureConfig-2:
type: object
properties:
cardMaskingDigits:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in all places other than UI like the recon file,
response file, etc. Should be Numeric. Should be between 4 and 12. This
field can be edited at any time.
vcfDataFeedIndicator:
type: string
description: The vcfDataFeedIndicator is used for indicating the source
of transactions/settlement data for this company. This value should be
“Yes” if the FI/Processor is going to send settled transactions for the
company [e.g. inbound Visa Commercial Format (VCF)]. It should be “No”
if the company requires Visa to pull the settlement data over the Visa
Network.
pseudoAccountsEnabled:
type: boolean
description: Denotes if "Pseudo Accounts" (VIP Tokens) option is enabled
for the template (buyers). Valid Values are 'True' and 'False'. The value
can be set to true only if the bank is enabled for this Option. This field
can be edited only if the sync Buyer Profiles is set to false.
fullAccountViewEnabled:
type: boolean
description: Denotes if "Full Account View" functionality is enabled for
the template (buyers). Valid Values are 'True' and 'False'. The value
can be set to true only if the bank is enabled for this functionality. This
field can be edited at any time.
cardMaskingDigitsOnline:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in the UI. Should be Numeric. Should be between
4 and 12. This field can be edited at any time.
onlinePaymentInstructionEnabled:
type: boolean
description: Denotes if Online payment instruction (Pay Now) functionality
is enabled for the template (buyers). Valid Values are 'True' and 'False'. The
value can be set to true only if the bank is enabled for Online Payment
Instructions. This field can be edited at any time.
onlinePaymentRequisitionEnabled:
type: boolean
description: Denotes if Online payment Requisition functionality is enabled
for the template (buyers). Valid Values are 'True' and 'False'. The value
can be set to true only if the bank is enabled for Online Payment Requisitions.
This field can be edited at any time.
UpdateBuyerFeatureConfig-1:
type: object
properties:
cardMaskingDigits:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in all places other than UI like the recon file,
response file, etc. Should be Numeric. Should be between 4 and 12. This
field can be edited at any time.
vcfDataFeedIndicator:
type: string
description: Denotes if the financial institution will be providing buyer/business(VCF)
data for the buyer. Valid Values are 'Y' and 'N'.
pseudoAccountsEnabled:
type: boolean
description: Denotes if "Pseudo Accounts" (VIP Tokens) option is enabled
for the template (buyers). Valid Values are 'True' and 'False'. The value
can be set to true only if the bank is enabled for this Option. This field
can be edited only if the sync Buyer Profiles is set to false.
fullAccountViewEnabled:
type: boolean
description: Denotes if "Full Account View" functionality is enabled for
the template (buyers). Valid Values are 'True' and 'False'. The value
can be set to true only if the bank is enabled for this functionality. This
field can be edited at any time.
cardMaskingDigitsOnline:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in the UI. Should be Numeric. Should be between
4 and 12. This field can be edited at any time.
onlinePaymentInstructionEnabled:
type: boolean
description: Denotes if Online payment instruction (Pay Now) functionality
is enabled for the template (buyers). Valid Values are 'True' and 'False'. The
value can be set to true only if the bank is enabled for Online Payment
Instructions. This field can be edited at any time.
onlinePaymentRequisitionEnabled:
type: boolean
description: Denotes if Online payment Requisition functionality is enabled
for the template (buyers). Valid Values are 'True' and 'False'. The value
can be set to true only if the bank is enabled for Online Payment Requisitions.
This field can be edited at any time.
UpdateAuthorizationControlConfig:
type: object
properties:
alertsEnabled:
type: boolean
description: Denotes if the system needs to send an alert when an authorization
on a VPC enabled card is approved or declined. Valid values are 'True'
and 'False'. This field can be set to True only if the authControlEnabled
is set to true for the template. This field can be edited only if the
sync Buyer Profiles is set to false.
issuerHoldingBID:
maxLength: 8
pattern: "^[\\d]*$"
type: string
description: Denotes the Holding BID (business id) for the issuer. Should
be numeric. Should be set only if authControlEnabled is set to true for
the template. This field can be edited only if the sync Buyer Profiles
is set to false.
authControlEnabled:
type: boolean
description: Denotes if the authorization controls needs to be enabled for
the template (in turn the buyer). Auth controls is mandated for VPP and
VIP buyers. Valid values are true or false. This field can be edited only
if the sync Buyer Profiles is set to false.
BuyerFeatureConfigForCreate-1:
type: object
properties:
cardMaskingDigits:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in all places other than UI like the recon file,
response file, etc. Should be Numeric. Should be between 4 and 12
vcfDataFeedIndicator:
type: string
description: |-
Denotes if the financial institution will be providing buyer/business(VCF)
data for the buyer. Valid Values are 'Y' and 'N'.
pseudoAccountsEnabled:
type: boolean
description: Denotes if "Pseudo Accounts" (VIP Tokens) option is enabled
for the buyer. If the value for this field (the tag is not sent) is not
provided, the system defaults it false. Valid Values are 'True' and
'False'. The value can be set to true only if the bank is enabled for
this Option.
fullAccountViewEnabled:
type: boolean
description: Denotes if "Full Account View" functionality is enabled for
the buyer. If the value for this field (the tag is not sent) is not provided,
the system defaults it to the bank setting for this field. Valid Values
are 'True' and 'False'. The value can be set to true only if the bank
is enabled for this functionality.
cardMaskingDigitsOnline:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in the UI. Should be Numeric. Should be between
4 and 12
onlinePaymentInstructionEnabled:
type: boolean
description: Denotes if Online payment instruction (Pay Now) functionality
is enabled for the buyer. If the value for this field (the tag is not
sent) is not provided, the system defaults it to False. Valid Values
are 'True' and 'False'. The value can be set to true only if the bank
is enabled for Online Payment Instructions.
onlinePaymentRequisitionEnabled:
type: boolean
description: Denotes if Online payment Requisition functionality is enabled
for the buyer. If the value for this field (the tag is not sent) is not
provided, the system defaults it to False. Valid Values are 'True' and
'False'. The value can be set to true only if the bank is enabled for
Online Payment Requisitions.
ErrorResponse-3:
type: object
properties:
errorItems:
type: array
description: list of errored items
items:
"$ref": "#/components/schemas/ErrorItem-2"
description: Error Response Schema
ErrorResponse-1:
type: object
properties:
errorItems:
type: array
description: list of errored items
items:
"$ref": "#/components/schemas/ErrorItem-1"
description: Error Response Schema
PaymentConfig:
required:
- billingCurrency
type: object
properties:
expirationDays:
maxLength: 3
pattern: "^[\\d]+$"
type: string
description: Default payment expiration days which will be used if the buyer
did not provide the payment expiration date either in the payment or has
not configured for the supplier. The payment expiration days will be
used to calculate the payment expiration date (payment process date +
the payment expiration days) which is the last day by which the supplier
should collect the payment. Only numbers are allowed. If the parameter
is not provided, system default this value to 30.
billingCurrency:
maxLength: 3
pattern: "^[a-zA-Z]{3}$"
type: string
description: Denotes the ISO alpha currency code associated with the billing
Currency of the card accounts belonging to the buyer. All ISO alpha currency
codes will be supported. For example- USD for US Dollar. It should be
one of the supported active currencies in VPA. VPA system uses the billing
currency as the payment currency for adjustable limit card accounts.
allowableCurrencies:
maxItems: 200
uniqueItems: true
type: array
description: The list of currencies allowed for the buyer. The buyer can
process payments in any of these currencies. Any payments made other
than these currencies will be rejected. All ISO alpha currency codes
will be supported. For example- USD for US Dollar. It should be one of
the supported active currencies in VPA. Can setup up to a max of 200 currencies.
Billing currency should be present in the list else the system will automatically
add it to the list. Defaults to the billing currency if not provided.
items:
maxLength: 3
pattern: "^[a-zA-Z]{3}$"
type: string
paymentAdviceOption:
maxLength: 1
type: string
description: Denotes if all payments to the same supplier in the same payment
file will be consolidated and sent in one payment advice notification.
Valid values are 'C' for consolidated or 'S' for split. Optional field.
If the value for this field (the tag is not sent) is not provided, the
system defaults it to 'C'.
expirationBufferDays:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: expirationBufferDays is the number of days after the payment
expiration date by which the supplier needs to complete the collection
of the payment (settlement of the card transaction should be completed).
Only numbers are allowed. If the parameter is not provided, system default
this value to 5.
securityCodeRequired:
type: boolean
description: Denotes if security code is needed for the supplier to collect
the payment. Valid values are 'True' or 'False'. Optional field. If the
value for this field (the tag is not sent) is not provided, the system
defaults it to the value set for the bank for this field. This field
can be set to true only if the bank security code (CVV2) option is set
to 'True'.
ReconciliationFileConfigForGet-1:
type: object
properties:
fileLevel:
maxLength: 1
type: string
description: Denotes if the recon COMM File configuration is defined to
be delivered to the bank(B) or Company (C). Valid values are B - Bank
and C - Company.
commFileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the recon file outbound.
fileFormat:
type: integer
description: Denotes the format in which the recon file needs to be generated. Valid
values are 1 – XLS V0, 2 – CSV V0, 3 - XLS V1, 4 – CSV V1
deliveryTime:
maxLength: 6
type: string
description: Denotes the delivery type or day when the recon file needs
to be generated and delivered. Valid format for the time for the daily
frequency is 'HH:MM' in 24 hours format. Valid values for the Weekly
frequency 1 to 7 denoting the days. 1 being Sunday and 7 being Saturday
and Monthly Frequency 1 to 31
templateName:
maxLength: 100
type: string
description: Denotes the name of the recon template to be used for generating
the reconciliation file.
deliveryFrequency:
type: integer
description: Denotes the frequency in which the recon file needs to be delivered. Valid
values are 1 – Daily 2 – Weekly 3 - Monthly
recipientLoginIds:
maxItems: 80
uniqueItems: true
type: array
description: Contains the list of user ids of bank/buyer users who will
be receiving the recon file in their VOL mailbox.
items:
type: string
adhocReconciliationReportEnabled:
type: boolean
description: Denotes if Adhoc Reconciliation functionality is enabled for
the buyer. Valid Values are 'True' and 'False'.
onlinePaymentReconciliationEnabled:
type: boolean
description: Denotes if Online payment Reconciliation functionality is enabled
for the buyers. Valid Values are 'True' and 'False'.
ContactInfoForUpdate:
required:
- buyerId
type: object
properties:
city:
maxLength: 20
type: string
description: Contains the City Name of the buyer's contact address. This
field can be updated at any time.
state:
maxLength: 27
type: string
description: Contains the state of the buyer's contact address. This field
can be updated at any time.
phone1:
maxLength: 20
type: string
description: Contains the buyer contact phone number 1. Field is alphanumeric.
Special characters allowed are - (dash), ( (Open braces),) (close braces). This
field can be updated at any time.
phone2:
maxLength: 20
type: string
description: Contains the buyer contact phone number 2. Field is alphanumeric.
Special characters allowed are - (dash), ( (Open braces),) (close braces). This
field can be updated at any time.
phone3:
maxLength: 20
type: string
description: Contains the buyer contact phone number 3. Field is alphanumeric.
Special characters allowed are - (dash), ( (Open braces),) (close braces). This
field can be updated at any time.
buyerId:
maxLength: 25
pattern: "^[\\d]+$"
type: string
description: Contains the buyer identifier as defined in Visa Payables Automation.
This is often the ID defined at the processor. Value format is 0–9. This
field is mandatory and needs to be sent to identify the buyer. This field
cannot be updated.
zipCode:
maxLength: 9
type: string
description: Optional. Contains the Postal Code of the buyer's contact address. Do
not include special characters, e.g. hyphen, in the zipcode. If a special
character is provided it will be removed and processed with only nine
digits. Null is allowed.
phone1Ext:
maxLength: 20
type: string
description: Contains the extension of the buyer contact phone number 1.
Field is alphanumeric. Special characters allowed are - (dash), ( (Open
braces),) (close braces). This field can be updated at any time.
phone2Ext:
maxLength: 20
type: string
description: Contains the extension of the buyer contact phone number 2.
Field is alphanumeric. Special characters allowed are - (dash), ( (Open
braces),) (close braces). This field can be updated at any time.
phone3Ext:
maxLength: 20
type: string
description: Contains the extension of the buyer contact phone number 3.
Field is alphanumeric. Special characters allowed are - (dash), ( (Open
braces),) (close braces). This field can be updated at any time.
contactName:
maxLength: 100
type: string
description: Contains the name of the primary contact person in the buyer.
Field is alphanumeric. This field can be updated at any time.
countryCode:
maxLength: 3
pattern: "^[a-zA-Z]{3}$"
type: string
description: Contains the ISO alpha country code of the buyer's contact
address. For example- USA. This field can be updated at any time.
addressLine1:
maxLength: 40
type: string
description: Contains the line 1 of the buyer's contact address. This field
can be updated at any time.
addressLine2:
maxLength: 40
type: string
description: Contains the line 2 of the buyer's contact address. This field
can be updated at any time.
addressLine3:
maxLength: 80
type: string
description: Contains the line 3 of the buyer's contact address. This field
can be updated at any time.
emailAddress:
maxLength: 100
type: string
description: Contains the buyer's contact Email Address. Should be a valid
email address. This field will be updated only if VPC is not enabled. If
VPC is enabled, this field can be updated only if there are no accounts
setup for the buyer.
implementationType:
type: integer
description: Valid Values are:1 – VPA UI, 2 – VPA API and 3 – Visa Commercial
Pay. Select 1 if buyer will use VPA user interface (issuer direct use
of VPA). Select 2 if buyer is created by a third party fintech and will
use the VPA APIs. Select 3 if buyer is created in VPA for Visa Commercial
Pay service.
Payment:
required:
- currencyCode
- paymentGrossAmount
type: object
properties:
invoices:
type: array
description: This complex element contains the details about the invoice
associated with the payment.
items:
"$ref": "#/components/schemas/Invoices"
supplier:
"$ref": "#/components/schemas/Supplier"
accountType:
type: string
description: "Account Type. Valid values are-
\r\n 1- Lodged Adjustable
Limit account
\r\n 2- Lodged account.
\r\n Note- This field
is required only if the account is a new account which is not already
lodged to the supplier for which the payment is made."
paymentType:
type: string
description: Payment type. Valid values are
CCC - Credit Card Payment
STP - Straight Through Processing payment
accountLimit:
type: string
description: Credit limit of the account.
Note- This field is required
only if the account is a new account which is not already lodged to the
supplier for which the payment is made.
currencyCode:
type: string
description: Payment Currency Code. A valid ISO alpha currency code should
be passed. If the currency passed is not one of the supported currencies
setup in the buyer profile, the payment will be rejected.
accountNumber:
type: string
description: "Account number can be an existing Visa account, a new account
in the VPA system, or a proxy number. If this column is blank, the following
logic is used for determining the account number
\r\n\r\n 1. Lodged
account is used if there is one for the supplier.
\r\n\r\n 2. If the
supplier does not have a lodged card account, system should\r\npick the
card account from the pool based on the matrix in Account Picking logic
table."
paymentExpiryDate:
type: string
description: The date by which a supplier must collect a payment. Format
is YYYY-MM-DD.
paymentGrossAmount:
type: string
description: Payment gross amount. Format is 99999999999999.99
paymentRequestDate:
type: string
description: Payment requested date. If this field is blank, system will
set the current date as the payment request date.Format is YYYY-MM-DD.
cardAccountExpiryDate:
type: string
description: The expiry date for the card account
description: Payment Class
GetProxyConfig:
type: object
properties:
holdDays:
maxLength: 3
pattern: "^[\\d]+$"
type: string
description: Denotes the number of days an account picked up for a payment
in a proxy will be kept on hold before being used for another payment. For
payments, the hold days start from the day the payment was processed and
for Request Virtual Account, the hold days start from the day the end
date of the RVA has reached.
autoRefreshEnabled:
type: boolean
description: Denotes if auto replenishment is enabled for proxies associated
with the template (buyers).
bucketedProxyEnabled:
type: boolean
description: Denotes if bucketed proxy is enabled for proxies associated
with the template (buyers).
StripePaymentConfigForUpdate:
type: object
properties:
stripePaymentEnabled:
type: boolean
description: Denotes if Stripe payments is enabled for the buyer. Valid
values are 'True' or 'False'. This field can be set to true only if the
bank Stripe Payment option is set to 'True'. You can enable Stripe payments
for a buyer at any time. But you cannot disable it (update it to false)
if there are Stripe suppliers present for the buyer
remittanceNotificationEnabled:
type: boolean
description: Denotes if the Stripe Payment Remittance notification is enabled
for a buyer. Optional field. Valid values are 'True' or 'False'. This
field can be set to true only if the bank Stripe Payment Remittance Notification
option is set to 'True'. The Stripe supplier will be getting the payment
remittance notification only if this field is enabled. This field can
be updated at any time.
GetAuthorizationControlConfig:
type: object
properties:
alertsEnabled:
type: boolean
description: Denotes if the system needs to send an alert when an authorization
on a VPC enabled card is approved or declined.
issuerHoldingBID:
maxLength: 8
pattern: "^[\\d]+$"
type: string
description: Denotes the Holding BID (business id) for the issuer.
authControlEnabled:
type: boolean
description: Denotes if the authorization controls needs to be enabled for
the template (in turn the buyer). Auth controls is mandated for VPP and
VIP buyers.
PaymentConfigForUpdate:
type: object
properties:
expirationDays:
maxLength: 3
pattern: "^[\\d]+$"
type: string
description: Default payment expiration days which will be used if the buyer
did not provide the payment expiration date either in the payment or has
not configured for the supplier. The payment expiration days will be
used to calculate the payment expiration date (payment process date +
the payment expiration days) which is the last day by which the supplier
should collect the payment. Only numbers are allowed. This field can be
updated at any time. But the updates will affect only the future payments.
billingCurrency:
maxLength: 3
pattern: "^[a-zA-Z]{3}$"
type: string
description: Denotes the ISO alpha currency code associated with the billing
Currency of the card accounts belonging to the buyer. All ISO alpha currency
codes will be supported. For example- USD for US Dollar. It should be
one of the supported active currencies in VPA. VPA system uses the billing
currency as the payment currency for adjustable limit card accounts. This
field can not be updated.
allowableCurrencies:
maxItems: 200
uniqueItems: true
type: array
description: The list of currencies allowed for the buyer. The buyer can
process payments in any of these currencies. Any payments made usin other
currencies will be rejected. All ISO alpha currency codes will be supported.
For example- USD for US Dollar. It should be one of the supported active
currencies in VPA. Can setup up to a max of 200 currencies. Billing currency
should be present in the list else the system will automatically add it
to the list. This field can be updated at any time. But the updates will
affect only the future payments.
items:
pattern: "^[a-zA-Z]{3}$"
type: string
paymentAdviceOption:
maxLength: 1
type: string
description: This option is used by the system decide if all payments to
the same supplier should be consolidated or sent separately in the payment
advice notificaion. Valid values are 'C' for consolidated or 'S' for
split. This field can be updated at any time. But the updates will affect
only the future payments.
expirationBufferDays:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: expirationBufferDays is the number of days after the payment
expiration date by which the supplier needs to complete the collection
of the payment (settlement of the card transaction should be completed).
Only numbers are allowed. This field can be updated at any time. But
the updates will affect only the future payments.
securityCodeRequired:
type: boolean
description: Denotes if security code is needed for the supplier to collect
the payment. Optional field. Valid values are 'True' or 'False'. This
field can be set to true only if the bank security code (CVV2) option
is set to 'True'. This field can be updated at any time. But the updates
will affect only the future payments.
CreateBuyerSuccessResponse:
type: object
properties:
responseStatus:
"$ref": "#/components/schemas/Response"
description: Response for successful creation of a Buyer
PaymentSecurityConfigForGet:
type: object
properties:
customSecurityQuestions:
maxItems: 3
uniqueItems: true
type: array
description: The questions (text) which will be used at random (Only one
of the questions will be displayed) to authenticate the supplier when
they click on the URL sent in the payment advice notification for viewing
the full card details. The system sends the security questions and answers
to the supplier when the supplier is setup for the buyer.
items:
maxLength: 100
type: string
defaultSecurityQuestion:
maxLength: 256
type: string
description: Denotes the text for the default security question which will
be displayed to the supplier when they click on the URL sent in the payment
advice notification for viewing the full card details.
defaultSecurityFieldCode:
maxLength: 1
type: string
description: Denotes the field system uses to authenticate the supplier
when they click on the URL sent in the payment advice notification for
viewing the full card details. Valid values are '1' - Postal code and
'2' - Supplier ID. I The default security is used only when the system
creates new suppliers while processing payment files (EDI 820) or if custom
security question is not enabled.
customSecurityQuestionsEnabled:
type: boolean
description: Denotes if the buyer wants to use custom security questions
to authenticate the supplier when they click on the URL sent in the payment
advice notification for viewing the full card details. .
UpdateBuyerTemplateRequest-1:
required:
- clientId
- messageId
- templateId
type: object
properties:
clientId:
maxLength: 25
type: string
description: Denotes the client ID associated with the bank for which the
template is being defined. Should be alphanumeric and should exist in
the system. Visa will provide this during implementation. This field
cannot be updated.
messageId:
maxLength: 36
type: string
description: Unique identifier for this request. Each request sent to VPA
requires its own unique ID.
vanConfig:
"$ref": "#/components/schemas/UpdateVanConfig"
templateId:
maxLength: 30
type: string
description: Unique Identifier for a Template. It should be alphanumeric. Should
be an existing template id associated with the bank (associated to the
client id). The template id is returned in the response of the CreateTemplate
API.
contactInfo:
"$ref": "#/components/schemas/UpdateContactInfo"
proxyConfig:
"$ref": "#/components/schemas/UpdateProxyConfig"
templateName:
maxLength: 50
type: string
description: Name of the template. Can be updated at any time. Alphanumeric.
No special characters other than _ - * & ' ! , . '#' and – (Dash) are
allowed. It has to be unique within a Bank.
billingConfig:
"$ref": "#/components/schemas/UpdateBillingConfig"
paymentConfig:
"$ref": "#/components/schemas/UpdatePaymentConfig"
processorConfig:
"$ref": "#/components/schemas/UpdateProcessorConfig"
stpPaymentConfig:
"$ref": "#/components/schemas/UpdateSTPPaymentConfig"
syncBuyerProfiles:
type: boolean
description: "- Valid values are True or False - If set to Y, all existing
buyers associated with this template will adopt these changes. Updating
existing buyers could disrupt payments in progress so before syncing profiles,
ensure there will be no negative impacts to existing buyers. If set to
N, changes will only be applied to future buyers created after the update
Template API is sent."
webServicesConfig:
"$ref": "#/components/schemas/UpdateWebServicesConfig"
boostPaymentConfig:
"$ref": "#/components/schemas/UpdateBoostPaymentConfig"
buyerFeatureConfig:
"$ref": "#/components/schemas/UpdateBuyerFeatureConfig-1"
stripePaymentConfig:
"$ref": "#/components/schemas/UpdateStripePaymentConfig"
templateDescription:
maxLength: 256
type: string
description: Supports AlphaNumeric characters. Can be updated at any time.
paymentSecurityConfig:
"$ref": "#/components/schemas/UpdatePaymentSecurityConfig"
approvalWorkflowConfig:
"$ref": "#/components/schemas/UpdateApprovalWorkflowConfig"
reconciliationFileConfig:
"$ref": "#/components/schemas/UpdateReconciliationFileConfig"
paymentNotificationConfig:
"$ref": "#/components/schemas/UpdatePaymentNotificationConfig"
authorizationControlConfig:
"$ref": "#/components/schemas/UpdateAuthorizationControlConfig"
description: Update Buyer Template Request
ProcessorConfig:
type: object
properties:
closeAccount:
type: boolean
description: Denotes if the account needs to be closed at the processor. For
VIP Pseudo accounts, if this field is set to true, the pseudo account
will be closed at the Visa Token System. Valid Values are True or False.
GetBuyerResponse-1:
required:
- messageId
- statusCode
- statusDesc
type: object
properties:
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
vanConfig:
"$ref": "#/components/schemas/VanConfigForGet"
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric. The values
are specific to each method. For the details of the various error codes
returned for this method refer to the "Error Codes" table below.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
contactInfo:
"$ref": "#/components/schemas/ContactInfoForGet"
proxyConfig:
"$ref": "#/components/schemas/ProxyConfigForGet"
billingConfig:
"$ref": "#/components/schemas/BillingConfigForGet"
paymentConfig:
"$ref": "#/components/schemas/PaymentConfigForGet"
processorConfig:
"$ref": "#/components/schemas/ProcessorConfigForGet"
stpPaymentConfig:
"$ref": "#/components/schemas/StpPaymentConfigForGet"
paymentFileConfig:
"$ref": "#/components/schemas/PaymentFileCommConfigForGet"
webServicesConfig:
"$ref": "#/components/schemas/WebServicesConfigForGet-1"
boostPaymentConfig:
"$ref": "#/components/schemas/BoostPaymentConfigForGet"
buyerFeatureConfig:
"$ref": "#/components/schemas/BuyerFeatureConfigForGet"
responseFileConfig:
"$ref": "#/components/schemas/ResponseFileConfigForGet-1"
stripePaymentConfig:
"$ref": "#/components/schemas/StripePaymentConfigForGet"
paymentSecurityConfig:
"$ref": "#/components/schemas/PaymentSecurityConfigForGet"
approvalWorkflowConfig:
"$ref": "#/components/schemas/ApprovalWorkflowConfigForGet"
reconciliationFileConfig:
"$ref": "#/components/schemas/ReconciliationFileConfigForGet-1"
paymentNotificationConfig:
"$ref": "#/components/schemas/PaymentNotificationConfigForGet"
authorizationControlConfig:
"$ref": "#/components/schemas/AuthorizationControlConfigForGet"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/RvaReconciliationFileConfigForGet-1"
description: Get Buyer Response Class
PaymentSecurityConfig:
type: object
properties:
customSecurityQuestions:
maxItems: 3
uniqueItems: true
type: array
description: The questions (text) which will be used at random (Only one
of the questions will be displayed) to authenticate the supplier when
they click on the URL sent in the payment advice notification for viewing
the full card details. The system sends the security questions and answers
to the supplier when the supplier is setup for the buyer. At least one
question needs to be sent if custom security question is enabled for the
template.
items:
maxLength: 100
type: string
description: The size of the field should not exceed 100
defaultSecurityQuestion:
maxLength: 256
type: string
description: Denotes the text for the default security question which will
be displayed to the supplier when they click on the URL sent in the payment
advice notification for viewing the full card details. If the value for
this field (the tag is not sent) is not provided, the system defaults
it to "Credential Text".
defaultSecurityFieldCode:
maxLength: 1
type: string
description: Denotes the field system uses to authenticate the supplier
when they click on the URL sent in the payment advice notification for
viewing the full card details. Valid values are '1' - Postal code and
'2' - Supplier ID. If the value for this field (the tag is not sent) is
not provided, the system defaults it to '1'. The default security is used
only when the system creates new suppliers while processing payment files
(EDI 820) or if custom security question is not enabled.
customSecurityQuestionsEnabled:
type: boolean
description: Denotes if the buyer wants to use custom security questions
to authenticate the supplier when they click on the URL sent in the payment
advice notification for viewing the full card details. Valid values are
'True' and 'False'. Optional field. This field can be set to True only
if the bank custom security questions option is set to True.
GetBuyerTemplateRequest:
required:
- clientId
- messageId
- templateId
type: object
properties:
clientId:
maxLength: 25
type: string
description: ClientID associated with the bank. This will be provided by
Visa at the time of setup.
messageId:
maxLength: 36
type: string
description: Unique Identifier to identify the request.
templateId:
maxLength: 30
type: string
description: Template ID is a unique identifier for a Template. It is system
generated and will provided in the response of the CreateTEmplate API.
description: Get Buyer Template Request
RvaReconciliationFileConfigForUpdate-1:
type: object
properties:
fileLevel:
maxLength: 1
type: string
description: Denotes if the RVA recon COMM File configuration is defined
to be delivered to the bank(B) or Company (C). Valid values are B - Bank
and C - Company. This field can be updated at any time.
commFileId:
type: string
description: Denotes the Comm File ID associated with the RVA recon file
outbound. The COMM file definition should exist in the system. The Visa
implementation team provides this value after the outbound RVA recon file
configuration has been completed. This field can be updated at any time.
fileFormat:
type: integer
description: Denotes the format in which the RVA recon file needs to be
generated. Needs to be numeric. Valid values are 1 – XLS V0, 2 – CSV V0,
3 - XLS V1, 4 – CSV V1. This field can be updated at any time.
templateId:
maxLength: 5
type: string
description: Denotes the id of the recon template to be used for generating
the RVA reconciliation file. Valid values are 1 - RVA Recon standard
template Version 1.0. This field can be updated at any time.
deliveryTime:
maxLength: 6
type: string
description: Denotes the delivery type or day when the RVA recon file needs
to be generated and delivered. Valid format for the time for the daily
frequency is 'HH:MM' in 24 hours format. Valid values for the Weekly
frequency 1 to 7 denoting the days. 1 being Sunday and 7 being Saturday
and Monthly Frequency 1 to 31 This field can be updated at any time.
deliveryFrequency:
type: integer
description: Denotes the frequency in which the RVA recon file needs to
be delivered. Needs to be numeric. Valid values are 1 – Daily 2 – Weekly
3 - Monthly. This field can be updated at any time.
recipientLoginIds:
maxItems: 80
uniqueItems: true
type: array
description: Contains the list of user ids of bank/buyer users who will
be receiving the RVA recon file in their VOL mailbox. You can setup upto
80 user ids to receive the RVA recon file.The user ids should have the
VOL mailbox service entitled to them. This field can be updated at any
time.
items:
type: string
GetWebServicesConfig-1:
type: object
properties:
apiCodes:
maxItems: 200
uniqueItems: true
type: array
items:
maxLength: 10
type: string
description: Denotes the codes associated with APIs which needs to be
enabled for the template. The APIs should be a subset of what is enabled
for the bank. The API codes and the corresponding APIs can be found
below ....
clientId:
maxLength: 40
pattern: "^[\\d]+$"
type: string
description: Denotes the client ID associated with the bank for which the
template is being defined. Visa will provide this during implementation.
vbdsClientId:
maxLength: 50
pattern: "^[\\d]+$"
type: string
description: vbdsClientId is the unique id generated for third parties wanting
to subscribe for auth/settlement data in VBDS system. Should be numeric.
webServicesEnabled:
type: boolean
description: Denotes if the web services is enabled for the template (Buyer).
suppressSupplierNotification:
type: boolean
description: Denotes if all supplier notifications needs to be suppressed. If
this field is set to true, then the web service consumers should handle
the supplier communication themselves.
UpdateBuyerTemplateRequest-2:
required:
- clientId
- messageId
- templateId
type: object
properties:
clientId:
maxLength: 25
type: string
description: Denotes the client ID associated with the bank for which the
template is being defined. Should be alphanumeric and should exist in
the system. Visa will provide this during implementation. This field
cannot be updated.
messageId:
maxLength: 36
type: string
description: Unique identifier for this request. Each request sent to VPA
requires its own unique ID.
vanConfig:
"$ref": "#/components/schemas/UpdateVanConfig"
templateId:
maxLength: 30
type: string
description: Unique Identifier for a Template. It should be alphanumeric. Should
be an existing template id associated with the bank (associated to the
client id). The template id is returned in the response of the CreateTemplate
API.
contactInfo:
"$ref": "#/components/schemas/UpdateContactInfo"
proxyConfig:
"$ref": "#/components/schemas/UpdateProxyConfig"
templateName:
maxLength: 50
type: string
description: Name of the template. Can be updated at any time. Alphanumeric.
No special characters other than _ - * & ' ! , . '#' and – (Dash) are
allowed. It has to be unique within a Bank.
billingConfig:
"$ref": "#/components/schemas/UpdateBillingConfig"
paymentConfig:
"$ref": "#/components/schemas/UpdatePaymentConfig-1"
processorConfig:
"$ref": "#/components/schemas/UpdateProcessorConfig"
stpPaymentConfig:
"$ref": "#/components/schemas/UpdateSTPPaymentConfig"
syncBuyerProfiles:
type: boolean
description: "- Valid values are True or False - If set to Y, all existing
buyers associated with this template will adopt these changes. Updating
existing buyers could disrupt payments in progress so before syncing profiles,
ensure there will be no negative impacts to existing buyers. If set to
N, changes will only be applied to future buyers created after the update
Template API is sent."
webServicesConfig:
"$ref": "#/components/schemas/UpdateWebServicesConfig-1"
boostPaymentConfig:
"$ref": "#/components/schemas/UpdateBoostPaymentConfig"
buyerFeatureConfig:
"$ref": "#/components/schemas/UpdateBuyerFeatureConfig-2"
stripePaymentConfig:
"$ref": "#/components/schemas/UpdateStripePaymentConfig"
templateDescription:
maxLength: 256
type: string
description: Supports AlphaNumeric characters. Can be updated at any time.
paymentSecurityConfig:
"$ref": "#/components/schemas/UpdatePaymentSecurityConfig"
approvalWorkflowConfig:
"$ref": "#/components/schemas/UpdateApprovalWorkflowConfig"
reconciliationFileConfig:
"$ref": "#/components/schemas/UpdateReconciliationFileConfig"
paymentNotificationConfig:
"$ref": "#/components/schemas/UpdatePaymentNotificationConfig"
authorizationControlConfig:
"$ref": "#/components/schemas/UpdateAuthorizationControlConfig"
description: Update Buyer Template Request
OnboardingRequest:
required:
- accountingSoftware
- buyerId
- issuerId
- messageId
type: object
properties:
buyerId:
maxLength: 25
type: string
description: Buyer ID is the buyer identifier as defined in Visa Payables
Automation. Value format is 09.
issuerId:
type: string
description: A '-' (hyphen) separated field which contains the region id,
processor id and bank id
messageId:
maxLength: 36
type: string
description: Unique identifier for the message
accountingSoftware:
type: string
description: Name of the accounting software
PaymentConfigForGet:
type: object
properties:
expirationDays:
maxLength: 3
pattern: "^[\\d]+$"
type: string
description: Default payment expiration days which will be used if the buyer
did not provide the payment expiration date either in the payment or has
not configured for the supplier. The payment expiration days will be
used to calculate the payment expiration date (payment process date +
the payment expiration days) which is the last day by which the supplier
should collect the payment.
billingCurrency:
maxLength: 3
pattern: "^[a-zA-Z]{3}$"
type: string
description: Denotes the ISO alpha currency code associated with the billing
Currency of the card accounts belonging to the buyer. All ISO alpha currency
codes will be supported. For example- USD for US Dollar. VPA system uses
the billing currency as the payment currency for adjustable limit card
accounts.
allowableCurrencies:
maxItems: 200
uniqueItems: true
type: array
description: The list of currencies allowed for the buyer. The buyer can
process payments in any of these currencies. Any payments made using
any other currencies will be rejected. All ISO alpha currency codes will
be supported. For example- USD for US Dollar.
items:
pattern: "^[a-zA-Z]{3}$"
type: string
defaultSecurityCode:
type: boolean
description: Denotes if the security code needs to be enabled by default
for all the new suppliers created.
readOnly: true
paymentAdviceOption:
maxLength: 1
type: string
description: This option is used by the system to decide if all payments
to the same supplier should be consolidated or sent separately in the
payment advice notificaion.
expirationBufferDays:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: expirationBufferDays is the number of days after the payment
expiration date by which the supplier needs to complete the collection
of the payment (settlement of the card transaction should be completed).
securityCodeRequired:
type: boolean
description: Denotes if security code is needed for the supplier to collect
the payment.
GetPaymentNotificationConfig:
type: object
properties:
dateFormat:
maxLength: 10
type: string
description: Denotes the date format which will be used for parsing date
fields in the payment files in EDI or CVV tab format.
defaultBuyerLanguageCode:
maxLength: 10
type: string
description: Denotes the language (Locale like for e.g. en_US for US english
) which will be used in notifications sent to the buyer.
attachRemittanceFileDetails:
type: boolean
description: Denotes if the remittance details file (containing the invoice
details) will be attached to the payment advice notification while processig
a payment.
supplierReminderNotificationDays:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of days before the payment expiration date
when the system sends a reminder notification to the supplier.
supplierReminderNotificationEnabled:
type: boolean
description: Denotes if the system will send the payment reminder notification
to the supplier (before the configured number of days (supplier reminder
notification days) from the payment expiration date) to remind them to
collect the payment.
ResendPaymentRequest:
title: ResendPaymentRequest
required:
- accountingSoftwareEntityId
- buyerId
- issuerId
- messageId
- vendorId
type: object
properties:
buyerId:
type: string
description: Buyer ID is the buyer identifier as defined in Visa Payables
Automation. Value format is 09.
issuerId:
type: string
description: A '-' (hyphen) separated field which contains the region id,
processor id and bank id
vendorId:
type: string
description: Identifier used by the buyer to identify the vendor. This is
the vendor id of the vendor whose payment is being modified.
clientKey:
type: string
description: Client key for secure communication
messageId:
type: string
description: Unique ID specific to this API call.
emailNotes:
type: string
description: Extra notes for the email address
accountNumber:
type: string
description: An existing Visa card account. Values are 09. Note- If the
account number is passed, it should correspond to the card account number
used for the payment.
codeChallenge:
type: string
description: Code Challenge for secure communication
expirationDate:
type: string
description: The date by which a supplier must collect his payment. Format
is YYYY-MM-DD
primaryEmailAddress:
type: string
description: This contains the email address for the supplier that will
receive the payment instruction. It must be a valid email address. If
the primary email address is provided, the payment advice will be sent
to the new primary email address provided in the request. If it is not,
the email address in the original request will be used.
alternateEmailAddresses:
type: array
description: This complex element will contain up to five alternate email
addresses.
items:
"$ref": "#/components/schemas/AlternateEmailAddress"
accountingSoftwareEntityId:
type: string
description: Unique ID used by that particular accounting software entity
example: bill Id with respect to QuickBooks Online(QBO)
supplierProfileUpdateIndicator:
type: string
description: This field contains value as Y if supplier profile has to be
updated and N if supplier profile should not be updated. By default, the
system will not update the supplier profile with the new values sent in
the request.
description: Resend payment request payload
RVAReconciliationFileConfig:
type: object
properties:
commFileId:
maxLength: 40
type: string
description: Comm file Id refers to Comm File info associated with the Request
Virtual Account recon file outbound delivery. Required if RVAReconFileDelivery
is set to Comms
templateId:
maxLength: 2
type: string
description: Denotes the template identifier associated with the RVA recon
template to be used for generating the RVA recon file.
UpdateApprovalWorkflowConfig:
type: object
properties:
workflowConfigEnabled:
type: boolean
description: Denotes if the Approval Workflow is enabled for the template
(Buyer). Valid Values are 'True' and 'False'. The value can be set to
true only if the bank is enabled for this Option. This field can be edited
only if the sync Buyer Profiles is set to false.
workflowFunctionCodes:
maxItems: 10
uniqueItems: true
type: array
items:
maxLength: 4
type: string
description: Denotes the codes for the functionalities for which Approval
Workflow needs to be enabled. Valid Values are AUCL – Card Limit Update,
LCRC – Lodge/New Card, PYIN – Payment Instruction, PYRN – Payment Requisition
At least one function should be passed in this field if workflowconfigenabled
field is set to true for the template. This field can be edited only
if the sync Buyer Profiles is set to false.
description: Parent tag which contains the approval workflow configurations.
StripePaymentConfig:
type: object
properties:
stripePaymentEnabled:
type: boolean
description: Denotes if Stripe payments is enabled for the template (buyer). Valid
values are 'True' or 'False'. Optional field. If the value for this field
(the tag is not sent) is not provided, the system defaults it to 'False'. This
field can be set to true only if the bank Stripe Payment option is set
to 'True'.
remittanceNotificationEnabled:
type: boolean
description: Denotes if the Stripe Payment Remittance notification is enabled
for a template (buyer). Valid values are 'True' or 'False'. Optional
field. If the value for this field (the tag is not sent) is not provided,
the system defaults it to 'False'. This field can be set to true only
if the bank Stripe Payment Remittance Notification option is set to 'True'.
Only if this field is enabled, the Stripe supplier will be getting the
payment remittance notification.
ProcessorConfigForCreate:
type: object
properties:
processorFields:
type: object
additionalProperties:
type: object
properties: {}
closeAccountEnabled:
type: boolean
description: Default to Yes if processor integration is enabled for the
bank. Default to N if Processor integration is not enabled for the bank.
Default to Y if the buyer is enabled for VIP/VPP tokens.
description: 'This section is used if the issuer has processor integration enabled. When
using processor PANs, the following processors can be enabled for processor
integration: FIS, FDR, TS1, TS2, and TSUK. When using Visa Pseudo accounts
or TSYS VANs, processor integration is not required but if it is enabled the
system goes to the processor to retrieve the latest values (such as expiry
date, current balance and available balance for the funding accounts). The
fields vary for each processor so refer to the details
Buyer Setup Details page for more information on which fields are required
for each processor. If using TSYS VPP VANs or Visa VIP Pseudo Accounts, defaults
values can be used. Please refer to the Buyer Setup Details page for the
defaults'
PaymentSecurityConfigForCreate:
type: object
properties:
customSecurityQuestions:
maxItems: 3
uniqueItems: true
type: array
description: The questions (text) which will be used at random (Only one
of the questions will be displayed) to authenticate the supplier when
they click on the URL sent in the payment advice notification for viewing
the full card details. The system sends the security questions and answers
to the supplier when the supplier is setup for the buyer. At least one
question needs to be sent if custom security question is enabled for the
buyer.
items:
maxLength: 100
type: string
defaultSecurityQuestion:
maxLength: 256
type: string
description: Denotes the text for the default security question which will
be displayed to the supplier when they click on the URL sent in the payment
advice notification for viewing the full card details. If the value for
this field (the tag is not sent) is not provided, the system defaults
it to "Credential Text".
defaultSecurityFieldCode:
maxLength: 1
type: string
description: Denotes the field system uses to authenticate the supplier
when they click on the URL sent in the payment advice notification for
viewing the full card details. Valid values are '1' - Postal code and
'2' - Supplier ID. If the value for this field (the tag is not sent) is
not provided, the system defaults it to '1'. The default security is used
only when the system creates new suppliers while processing payment files
(EDI 820) or if custom security question is not enabled.
customSecurityQuestionsEnabled:
type: boolean
description: Denotes if the buyer wants to use custom security questions
to authenticate the supplier when they click on the URL sent in the payment
advice notification for viewing the full card details. Valid values are
'True' and 'False'. Optional field. This field can be set to True only
if the bank custom security questions option is set to True.
GetBuyerResponse:
required:
- messageId
- statusCode
- statusDesc
type: object
properties:
messageId:
maxLength: 36
type: string
description: Unique identifier which was sent in the request.
vanConfig:
"$ref": "#/components/schemas/VanConfigForGet"
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric. The values
are specific to each method. For the details of the various error codes
returned for this method refer to the "Error Codes" table below.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
contactInfo:
"$ref": "#/components/schemas/ContactInfoForGet"
proxyConfig:
"$ref": "#/components/schemas/ProxyConfigForGet"
billingConfig:
"$ref": "#/components/schemas/BillingConfigForGet"
paymentConfig:
"$ref": "#/components/schemas/PaymentConfigForGet"
processorConfig:
"$ref": "#/components/schemas/ProcessorConfigForGet"
stpPaymentConfig:
"$ref": "#/components/schemas/StpPaymentConfigForGet"
paymentFileConfig:
"$ref": "#/components/schemas/PaymentFileCommConfigForGet"
webServicesConfig:
"$ref": "#/components/schemas/WebServicesConfigForGet"
boostPaymentConfig:
"$ref": "#/components/schemas/BoostPaymentConfigForGet"
buyerFeatureConfig:
"$ref": "#/components/schemas/BuyerFeatureConfigForGet"
responseFileConfig:
"$ref": "#/components/schemas/ResponseFileConfigForGet"
stripePaymentConfig:
"$ref": "#/components/schemas/StripePaymentConfigForGet"
paymentSecurityConfig:
"$ref": "#/components/schemas/PaymentSecurityConfigForGet"
approvalWorkflowConfig:
"$ref": "#/components/schemas/ApprovalWorkflowConfigForGet"
reconciliationFileConfig:
"$ref": "#/components/schemas/ReconciliationFileConfigForGet"
paymentNotificationConfig:
"$ref": "#/components/schemas/PaymentNotificationConfigForGet"
authorizationControlConfig:
"$ref": "#/components/schemas/AuthorizationControlConfigForGet"
rvaReconciliationFileConfig:
"$ref": "#/components/schemas/RvaReconciliationFileConfigForGet"
description: Get Buyer Response Class
Error:
type: object
properties:
errorList:
type: array
items:
"$ref": "#/components/schemas/ErrorItem"
description: Error object
STPPaymentConfig:
type: object
properties:
stpPaymentEnabled:
type: boolean
description: Denotes if the STP Payments is enabled for a template (buyer).
Valid values are 'True' or 'False'. Optional field. If the value for this
field (the tag is not sent) is not provided, the system defaults it to
'False'. This field can be set to true only if the bank STP Payments
option is set to 'True'.
remittanceNotificationEnabled:
type: boolean
description: Denotes if the STP Payment Remittance notification is enabled
for a template (buyer). Valid values are 'True' or 'False'. Optional field.
If the value for this field (the tag is not sent) is not provided, the
system defaults it to 'False'. This field can be set to true only if
the bank STP Payment Remittance Notification option is set to 'True'.
Only if this field is enabled, the STP supplier will be getting the payment
remittance notification.
GetStripePaymentConfig:
type: object
properties:
stripePaymentEnabled:
type: boolean
description: Denotes if Stripe payments is enabled for the template (buyer).
remittanceNotificationEnabled:
type: boolean
description: Denotes if the Stripe Payment Remittance notification is enabled
for a template (buyer).
GetPaymentDetailsResponse:
type: object
properties:
payments:
type: object
properties:
invoices:
type: array
items:
type: object
properties:
invoiceDate:
type: string
invoiceAmount:
type: integer
invoiceNumber:
type: string
purchaseOrderDate:
type: string
purchaseOrderNumber:
type: string
partialPaymentIndicator:
type: string
supplier:
type: object
properties:
supplierID:
type: string
supplierName:
type: string
primaryEmailAddress:
type: string
alternateEmailAddresses:
type: array
items:
type: object
properties:
localAlternateEmailAddress:
type: string
paymentType:
type: string
currencyCode:
type: string
accountNumber:
type: string
manualMatchStatus:
type: string
paymentExpiryDate:
type: string
systemMatchStatus:
type: string
paymentDescription:
type: string
paymentGrossAmount:
type: string
paymentRequestDate:
type: string
messageId:
type: string
statusCode:
type: string
statusDesc:
type: string
resultSetNo:
type: string
hasMoreElements:
type: string
totalRecordCount:
type: string
x-examples:
Example 1:
payments:
invoices:
- invoiceDate: string
invoiceAmount: 0
invoiceNumber: string
purchaseOrderDate: string
purchaseOrderNumber: string
partialPaymentIndicator: str
supplier:
supplierID: string
supplierName: string
primaryEmailAddress: string
alternateEmailAddresses:
- localAlternateEmailAddress: string
paymentType: s
currencyCode: str
accountNumber: string
manualMatchStatus: string
paymentExpiryDate: string
systemMatchStatus: string
paymentDescription: string
paymentGrossAmount: string
paymentRequestDate: string
messageId: string
statusCode: string
statusDesc: string
resultSetNo: str
hasMoreElements: s
totalRecordCount: string
ProxyConfig:
type: object
properties:
holdDays:
maxLength: 3
pattern: "^[\\d]+$"
type: string
description: Denotes the number of days an account picked up for a payment
in a proxy will be kept on hold before being used for another payment. For
payments, the hold days start from the day the payment was processed and
for Request Virtual Account, the hold days start from the day the end
date of the RVA has reached. Should be a numeric value between 1 to 999.
If the value for this field (the tag is not sent) is not provided, the
system defaults it to 90 days.
autoRefreshEnabled:
type: boolean
description: Denotes if auto replenishment is enabled for proxies associated
with the template (buyers). Valid Values are 'True' and 'False'. If the
value for this field (the tag is not sent) is not provided, the system
defaults it to False for memo account buyers and to true for VIP and VPP
enabled buyers. The value of this field should be set to true for VIP
and VPP enabled buyers. The value can be set to true only if the bank
is enabled for auto replenishment.
bucketedProxyEnabled:
type: boolean
description: Denotes if bucketed proxy is enabled for proxies associated
with the template (buyers). Valid Values are 'True' and 'False'. If the
value for this field (the tag is not sent) is not provided, the system
defaults it to False. The value can be set to true only if the bank
is enabled for bucketed proxy.
GetBuyerFeatureConfigV2:
type: object
properties:
cardMaskingDigits:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in all places other than UI like the recon file,
response file, etc.
vcfDataFeedIndicator:
type: string
description: 'The vcfDataFeedIndicator is used for indicating the source
of transactions/settlement data for this company. This value should be
“Yes” if the FI/Processor is going to send settled transactions for the
company [e.g. inbound Visa Commercial Format (VCF)]. It should be “No”
if the company requires Visa to pull the settlement data over the Visa
Network. '
pseudoAccountsEnabled:
type: boolean
description: Denotes if "Pseudo Accounts" (VIP Tokens) option is enabled
for the template (buyers).
fullAccountViewEnabled:
type: boolean
description: Denotes if "Full Account View" functionality is enabled for
the template (buyers).
cardMaskingDigitsOnline:
maxLength: 2
pattern: "^[\\d]+$"
type: string
description: Denotes the number of digits that will be masked for the card
number when displayed in the UI.
onlinePaymentInstructionEnabled:
type: boolean
description: Denotes if Online payment instruction (Pay Now) functionality
is enabled for the template (buyers).
onlinePaymentRequisitionEnabled:
type: boolean
description: Denotes if Online payment Requisition functionality is enabled
for the template (buyer).
ReconciliationFileConfigForCreate:
type: object
properties:
fileLevel:
maxLength: 1
type: string
description: Denotes if the recon COMM File configuration is defined to
be delivered to the bank(B) or Company (C). Valid values are B - Bank
and C - Company.
commFileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the recon file outbound.
Required if the file level is B. The Visa implementation team provides
this value after the outbound recon file configuration has been completed.
fileFormat:
type: integer
description: Denotes the format in which the recon file needs to be generated.
Needs to be numeric. Valid values are 1 – XLS V0, 2 – CSV V0, 3 - XLS
V1, 4 – CSV V1
deliveryTime:
maxLength: 6
type: string
description: Denotes the delivery type or day when the recon file needs
to be generated and delivered. If the value for this field (the tag is
not sent) is not provided, the system defaults it to'1:00' AM for the
daily frequency and 2 for weekly and 1 for monthly frequency. Valid
format for the time for the daily frequency is 'HH:MM' in 24 hours format. Valid
values for the Weekly frequency 1 to 7 denoting the days. 1 being Sunday
and 7 being Saturday and Monthly Frequency 1 to 31
templateName:
maxLength: 100
type: string
description: Denotes the name of the recon template to be used for generating
the reconciliation file. If the value for this field (the tag is not sent)
is not provided, the system defaults it to the latest recon standard template.
deliveryFrequency:
type: integer
description: Denotes the frequency in which the recon file needs to be delivered.
Needs to be numeric. Valid values are 1 – Daily 2 – Weekly 3 - Monthly
recipientLoginIds:
maxItems: 50
uniqueItems: true
type: array
description: Contains the list of user ids of bank/buyer users who will
be receiving the recon file in their VOL mailbox. You can setup upto 50
user ids to receive the recon file. The user ids should have the VOL mailbox
service entitled to them.
items:
type: string
adhocReconciliationReportEnabled:
type: boolean
description: Denotes if Adhoc Reconciliation functionality is enabled for
the buyer. If the value for this field (the tag is not sent) is not provided,
the system defaults it to False. Valid Values are 'True' and 'False'.
The value can be set to true only if the bank is enabled for Adhoc Reconciliation.
onlinePaymentReconciliationEnabled:
type: boolean
description: Denotes if Online payment Reconciliation functionality is enabled
for the buyers. If the value for this field (the tag is not sent) is
not provided, the system defaults it to False. Valid Values are 'True'
and 'False'. The value can be set to true only if the bank is enabled
for Online Payment Reconciliation.
Invoices-1:
title: Invoices
type: object
properties:
invoiceDate:
type: string
invoiceAmount:
type: string
invoiceNumber:
type: string
purchaseOrderDate:
type: string
purchaseOrderNumber:
type: string
Response:
type: object
properties:
status:
type: string
description: Response status `success` or `error`
enum:
- success
- error
messageId:
maxLength: 36
type: string
description: Unique identifier for identifying the request.
statusCode:
maxLength: 6
type: string
description: Status code of the response. It is alphanumeric. The values
are specific to each method. For the details of the various error codes
returned for this method refer to the "Error Codes" table below.
statusDesc:
maxLength: 255
type: string
description: Status description of the response.
description: Default API Response
ContactInfo-1:
type: object
properties:
phone1:
maxLength: 17
type: string
description: Buyer contact phone number. Should be alphanumeric. Special
characters allowed are - (dash), ( (Open braces),) (close braces).
emailAddress:
maxLength: 100
type: string
description: Denotes the buyer's contact Email Address. Should be an valid
email address.
implementationType:
type: integer
description: Valid Values are:1 – VPA UI, 2 – VPA API and 3 – Visa Commercial
Pay.1 denotes buyer uses VPA UI (issuer direct use of VPA). 2 denotes
buyer uses a third party fintech's user interface and third party is using
VPA APIs. 3 denotes buyer uses Visa Commercial Pay service.
ReconciliationFileConfigForUpdate-1:
type: object
properties:
fileLevel:
maxLength: 1
type: string
description: Denotes if the recon COMM File configuration is defined to
be delivered to the bank(B) or Company (C). Valid values are B - Bank
and C - Company. This field can be updated at any time.
commFileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the recon file outbound. The
COMM file definition should exist in the system. The Visa implementation
team provides this value after the outbound recon file configuration has
been completed. This field can be updated at any time.
fileFormat:
type: integer
description: Denotes the format in which the recon file needs to be generated.
Needs to be numeric. Valid values are 1 – XLS V0, 2 – CSV V0, 3 - XLS
V1, 4 – CSV V1. This field can be updated at any time.
deliveryTime:
maxLength: 6
type: string
description: Denotes the delivery type or day when the recon file needs
to be generated and delivered. If the value for this field (the tag is
not sent) is not provided, the system defaults it to'1:00' AM for the
daily frequency and 1 for weekly and monthly frequency. Valid format
for the time for the daily frequency is 'HH:MM' in 24 hours format. Valid
values for the Weekly frequency 1 to 7 denoting the days. 1 being Sunday
and 7 being Saturday and Monthly Frequency 1 to 31. This field can be
updated at any time.
templateName:
maxLength: 100
type: string
description: Denotes the name of the recon template to be used for generating
the reconciliation file. This field can be updated at any time.
deliveryFrequency:
type: integer
description: Denotes the frequency in which the recon file needs to be delivered.
Needs to be numeric. Valid values are 1 – Daily 2 – Weekly 3 - Monthly.
This field can be updated at any time.
recipientLoginIds:
maxItems: 80
uniqueItems: true
type: array
description: Contains the list of user ids of bank/buyer users who will
be receiving the recon file in their VOL mailbox. You can setup upto 80
user ids to receive the recon file. The user ids should have the VOL mailbox
service entitled to them.This field can be updated at any time.
items:
type: string
adhocReconciliationReportEnabled:
type: boolean
description: Denotes if Adhoc Reconciliation functionality is enabled for
the buyer. Valid Values are 'True' and 'False'. The value can be set to
true only if the bank is enabled for Adhoc Reconciliation. This field
can be updated at any time.
onlinePaymentReconciliationEnabled:
type: boolean
description: Denotes if Online payment Reconciliation functionality is enabled
for the buyers. Valid Values are 'True' and 'False'. The value can be
set to true only if the bank is enabled for Online Payment Reconciliation. This
field can be updated at any time.
PaymentFileCommConfigForCreate:
type: object
properties:
edi824FileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the EDI 824 outbound
response file. The COMM file definition should exist in the system. The
Visa implementation team provides this value after the inbound file configuration
has been completed.
edi997FileId:
maxLength: 40
type: string
description: Denotes the Comm File ID associated with the EDI 997 outbound
ack file. The COMM file definition should exist in the system. The Visa
implementation team provides this value after the inbound file configuration
has been completed.
inboundFileId:
maxLength: 40
type: string
description: Denotes the Comm file ID associated with the inbound payment
file (EDI 820 or SFF). The COMM file definition should exist in the system. The
Visa implementation team provides this value after the inbound file configuration
has been completed.
WebServicesConfig-1:
type: object
properties:
apiCodes:
maxItems: 200
uniqueItems: true
type: array
items:
maxLength: 10
type: string
description: Reserved for Future use. The system will default the apiCodes
to what is set for the bank.
clientId:
maxLength: 40
type: string
description: Reserved for Future use. The system will default the client
ID to what is set for the bank.
vbdsClientId:
maxLength: 50
type: string
description: vbdsClientId is the unique id generated for third parties wanting
to subscribe for auth/settlement data in VBDS system. Should be numeric.
webServicesEnabled:
type: boolean
description: Denotes if the web services is enabled for the template (Buyer). Valid
Values are 'True' and 'False'. If the value for this field (the tag is
not sent) is not provided, the system defaults it false. The value can
be set to true only if the bank is enabled for this Option.
vbdsDataSubscription:
type: array
description: This complex element captures information about the subscription
to Data APIs. This is optional and if this object is not provided, the
subscription defaults to bank configuration for the given vbdsClientId.
items:
type: object
properties:
dataSubscriptionType:
type: number
description: 'This field is mandatory if vbdsDataSubcription object
is provided. This field accepts the following subscription types.
Provide the numeric code associated with the API(s) you want to
subscribe to: 5001(Transaction Data API), 5004(Authorization Data
API (Pull)), 5005(Authorization Data API (Push))'
dataSubscriptionAccountType:
type: array
description: This is optional. If no value is provided, all the account
types enabled at the bank level for the client are subscribed to
the APIs specified in dataSubscriptionType. Subscribe/unsubscribe
is allowed only for the account types enabled at the bank level
for the provided client.
items:
type: object
properties:
subscribed:
type: boolean
description: 'This field indicates if the accountType should
be susbcribed to the specified Data API(s). E.g. if you want
to subscribe the account type to the API provide ''true''
here. To unsubscribe an account type to an API, provide ''false''.
Valid Values are ''True'' and ''False''.The valid value must
be provided for the account type. '
accountType:
type: string
description: 'This field accepts following values. Please use
the 4-character alpha code: VIPT:VIP / Pseudo Account:Pseudo
Account generated by Visa, NVPA:Non virtual account:Physical
cards, MEMO:Processor account:Virtual accounts generated at
the Processor, FUNA:Funding Account:Parent Account for Visa
Pseudo Accounts or TSYS VPP VAN tokens, VPPT:VPP Token:TSYS
generated tokens (Also referred to as TSYS VPP VANs)'
suppressSupplierNotification:
type: boolean
description: Denotes if all supplier notifications needs to be suppressed.
Valid Values are 'True' or 'False'. If this field is set to true, then
the web service consumers should handle the supplier communication themselves. If
the value for this field (the tag is not sent) is not provided, the system
defaults it to False.
WebServicesConfig-2:
type: object
properties:
apiCodes:
maxItems: 200
uniqueItems: true
type: array
items:
maxLength: 10
type: string
description: Reserved for Future use. The system will default the apiCodes
to what is set for the bank.
clientId:
maxLength: 40
type: string
description: Reserved for Future use. The system will default the client
ID to what is set for the bank.
vbdsClientId:
maxLength: 50
type: string
description: vbdsClientId is the unique id generated for third parties wanting
to subscribe for auth/settlement data in VBDS system. Should be numeric.
webServicesEnabled:
type: boolean
description: Denotes if the web services is enabled for the template (Buyer). Valid
Values are 'True' and 'False'. If the value for this field (the tag is
not sent) is not provided, the system defaults it false. The value can
be set to true only if the bank is enabled for this Option.
vbdsDataSubscription:
type: array
description: This complex element captures information about the subscription
to Data APIs. This is optional and if this object is not provided, the
subscription defaults to bank configuration for the given vbdsClientId.
items:
type: object
properties:
dataSubscriptionType:
type: number
description: 'This field is mandatory if vbdsDataSubcription object
is provided. This field accepts the following subscription types.
Provide the numeric code associated with the API(s) you want to
subscribe to: 5001(Transaction Data API), 5003(Starter Data API),
5004(Authorization Data API (Pull)), 5005(Authorization Data API
(Push))'
dataSubscriptionAccountType:
type: array
description: This is optional. If no value is provided, all the account
types enabled at the bank level for the client are subscribed to
the APIs specified in dataSubscriptionType. Subscribe/unsubscribe
is allowed only for the account types enabled at the bank level
for the provided client.
items:
type: object
properties:
subscribed:
type: boolean
description: 'This field indicates if the accountType should
be subscribed to the specified Data API(s). E.g. if you want
to subscribe the account type to the API provide ''true''
here. To unsubscribe an account type to an API, provide ''false''.
Valid Values are ''True'' and ''False''.The valid value must
be provided for the account type. '
accountType:
type: string
description: 'This field accepts following values. Please use
the 4-character alpha code: VIPT:VIP/Pseudo Account-Pseudo
Account generated by Visa, NVPA:Non virtual account-Physical
cards, MEMO:Processor account-Virtual accounts generated at
the Processor, FUNA:Funding Account-Parent Account for Visa
Pseudo Accounts or TSYS VPP VAN tokens, VPPT:VPP Token-TSYS
generated tokens (Also referred to as TSYS VPP VANs)'
suppressSupplierNotification:
type: boolean
description: Denotes if all supplier notifications needs to be suppressed.
Valid Values are 'True' or 'False'. If this field is set to true, then
the web service consumers should handle the supplier communication themselves. If
the value for this field (the tag is not sent) is not provided, the system
defaults it to False.
GetSTPPaymentConfig:
type: object
properties:
stpPaymentEnabled:
type: boolean
description: Denotes if the STP Payments is enabled for a template (buyer).
remittanceNotificationEnabled:
type: boolean
description: Denotes if the STP Payment Remittance notification is enabled
for a template (buyer).
ResendPaymentErrorResponse:
title: ResendPaymentErrorResponse
type: object
properties:
RSP001:
type: object
description: Resend Payment initiated successfully.
RSP003:
type: object
description: Invalid Client ID.
RSP004:
type: object
description: Invalid buyer ID.
RSP005:
type: object
description: Invalid account number.
RSP012:
type: object
description: Invalid primary email address.
RSP013:
type: object
description: Invalid alternate email address.
RSP025:
type: object
description: Bank is not subscribed.
RSP029:
type: object
description: Original message ID and account number do not match.
RSP030:
type: object
description: Original message ID does not exist.
RSP035:
type: object
description: Invalid message ID.
RSP043:
type: object
description: Invalid original message ID.
RSP049:
type: object
description: ExpirationDate is invalid. Supported date format is YYYY-MM-DD.
RSP161:
type: object
description: Payment has already expired.
RSP162:
type: object
description: SupplierProfileUpdateIndicator is invalid.
RSP163:
type: object
description: PrimaryEmailAddress is required.
RSP167:
type: object
description: Payment was not processed successfully or is in progress.
RSP173:
type: object
description: Invalid email notes.
RSP182:
type: object
description: Invalid alternate address tag.
RSP186:
type: object
description: Expiration Date is invalid. Expiration Date cannot be past
date
RSP029a:
type: object
description: Original message ID and account number do not match.
description: Error Codes
ApiDetailList:
required:
- description
- overallStatus
type: object
properties:
description:
type: string
description: Gives the current status of the POP application endpoints in
OCC or OCE
example: All services are up and running
overallStatus:
type: string
description: Gives the status as UP or DOWN based on the services status
for the 2 datacentres
example: UP, DOWN
ResendPaymentResponse:
title: ResendPaymentResponse
required:
- messageId
- statusCode
- statusDesc
type: object
properties:
messageId:
type: string
description: Unique identifier which was sent in the request.
statusCode:
type: string
description: Status code of the response. It is alphanumeric. The values
are specific to each method. For the details of the various error codes
returned for this method refer to the "Error Codes" table.
statusDesc:
type: string
description: Status description of the response.
description: Resend Payment Response Schema
responses: {}
parameters: {}
examples: {}
requestBodies: {}
headers: {}
callbacks: {}
x-tagGroups:
- name: API Reference
tags:
- Account Management service
- Buyer Management Service
- Payment Service
- Single Use Account Pool Maintenance Service
- Supplier Service
- Workflows