openapi: 3.0.1 info: title: Foreign Exchange Rates Payment Service API description: The Payment web service is used for processing payments and sending payment remittance information to the appropriate suppliers. version: '1' servers: - url: https://sandbox.api.visa.com description: Sandbox server security: [] tags: - name: Payment Service description: The Payment web service is used for processing payments and sending payment remittance information to the appropriate suppliers. paths: /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
\n\n 1. Lodged account is used if there is one for the supplier.
\n\n 2. If the supplier does not have a lodged card account, system should\npick 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: AlternateEmailAddr: title: AlternateEmailAddr type: object properties: alternateEmailAddress: type: string 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' 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 Invoices-1: title: Invoices type: object properties: invoiceDate: type: string invoiceAmount: type: string invoiceNumber: type: string purchaseOrderDate: type: string purchaseOrderNumber: type: string 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 x-tagGroups: - name: API Reference tags: - Foreign Exchange Rates API