--- 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