openapi: 3.0.1
info:
title: Foreign Exchange Rates Supplier Service API
description: The Supplier web service is used for creating and maintaining a supplier.
version: '1'
servers:
- url: https://sandbox.api.visa.com
description: Sandbox server
security: []
tags:
- name: Supplier Service
description: The Supplier web service is used for creating and maintaining a supplier.
paths:
/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.\n\n Note If the suppress supplier notification option is enabled for the\nbuyer, 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.\n\n Note If the suppress supplier notification option is enabled for the\nbuyer, 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
x-tagGroups:
- name: API Reference
tags:
- Foreign Exchange Rates API