openapi: 3.0.3 info: title: Payment Acceptance API description: The Payment Acceptance API allows businesses to accept commercial card payments using the ISO 20022 standard. It enables secure, automated card payment processing for commercial transactions. contact: name: API Support url: https://developer.mastercard.com/support email: apisupport@mastercard.com license: name: mastercard url: https://www.mastercard.us/en-us.html version: 1.0.0 servers: - description: Production Server url: https://api.mastercard.com/commercial/payments - description: Developer Sandbox url: https://sandbox.api.mastercard.com/commercial/payments tags: - description: Card Payment Status Update name: PaymentStatusUpdate - description: Card Payment Status Inquiry name: StatusInquiry - description: Creditor Registration name: CreditorRegistration - description: Creditor Profiles name: CreditorProfiles - description: Creditor Payment Controls name: Creditor Payment Controls - description: Debtors name: Debtors paths: /creditor-agents/{ica}/payment-acceptances/{instruction_identification}: put: description: This endpoint allows a Creditor Agent to update a card payment instruction. tags: - PaymentStatusUpdate summary: Update transaction status operationId: updatePaymentStatus parameters: - $ref: '#/components/parameters/ica' - $ref: '#/components/parameters/instruction_identification' requestBody: $ref: '#/components/requestBodies/CreditorPaymentStatusUpdate' responses: '403': $ref: '#/components/responses/AccessDeniedErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '200': $ref: '#/components/responses/Success' get: tags: - StatusInquiry summary: Get Payment Instruction for a Creditor Agent description: This endpoint allows inquiry of a submitted payment instruction. operationId: getPaymentInstructionCreditorAgent parameters: - $ref: '#/components/parameters/ica' - $ref: '#/components/parameters/instruction_identification' responses: '404': $ref: '#/components/responses/ResourceNotFoundErrorResponse' '403': $ref: '#/components/responses/AccessDeniedErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '200': $ref: '#/components/responses/PICustomerCreditTransferInitiation' /creditor-agents/{ica}/creditors: post: description: This endpoint allows you to register a new Creditor in the Supplier Directory. operationId: registerCreditor parameters: - $ref: '#/components/parameters/ica' requestBody: $ref: '#/components/requestBodies/CreditorRecord' responses: '201': $ref: '#/components/responses/ResultId' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' summary: Register a creditor tags: - CreditorRegistration get: description: This endpoint allows you to retrieve all existing Creditors. operationId: searchCreditors parameters: - $ref: '#/components/parameters/ica' - $ref: '#/components/parameters/creditorLegalBusinessName' - $ref: '#/components/parameters/creditorDba' - $ref: '#/components/parameters/creditorSearchId' - $ref: '#/components/parameters/isActive' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/creditorSort' responses: '200': $ref: '#/components/responses/CreditorSearchResults' '403': $ref: '#/components/responses/AccessDeniedErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' summary: Retrieve All Creditor Registrations tags: - CreditorRegistration /creditor-agents/{ica}/creditors/{creditor_id}: put: description: This endpoint allows you to update an existing Creditor. operationId: updateCreditorRegistration parameters: - $ref: '#/components/parameters/ica' - $ref: '#/components/parameters/creditorId' requestBody: $ref: '#/components/requestBodies/UpdateCreditorRecord' responses: '204': description: Success '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '404': $ref: '#/components/responses/ResourceNotFoundErrorResponse' summary: Update a Creditor Registration tags: - CreditorRegistration get: description: This endpoint allows you to retrieve a Creditor by its identification. operationId: getCreditorById parameters: - $ref: '#/components/parameters/ica' - $ref: '#/components/parameters/creditorId' responses: '200': $ref: '#/components/responses/CreditorRegistration' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '404': $ref: '#/components/responses/ResourceNotFoundErrorResponse' summary: Retrieve a Creditor Registration tags: - CreditorRegistration delete: description: This endpoint allows you to delete an existing Creditor. operationId: deleteCreditorRegistration parameters: - $ref: '#/components/parameters/ica' - $ref: '#/components/parameters/creditorId' responses: '204': description: Success '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '404': $ref: '#/components/responses/ResourceNotFoundErrorResponse' summary: Delete a Creditor Registration tags: - CreditorRegistration /creditor-agents/{ica}/creditors/{creditor_id}/payment-profiles: post: description: This endpoint allows you to create a Creditor profile. operationId: createCreditorPaymentProfile parameters: - $ref: '#/components/parameters/ica' - $ref: '#/components/parameters/creditorId' requestBody: $ref: '#/components/requestBodies/CreditorProfile' responses: '201': description: Success '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '404': $ref: '#/components/responses/ResourceNotFoundErrorResponse' summary: Create a Creditor Profile tags: - CreditorProfiles /creditor-agents/{ica}/creditors/{creditor_id}/payment-profiles/{creditor_profile_id}: put: description: This endpoint allows you to update a Creditor profile. operationId: updateCreditorPaymentProfile parameters: - $ref: '#/components/parameters/ica' - $ref: '#/components/parameters/creditorId' - $ref: '#/components/parameters/creditorProfileId' requestBody: $ref: '#/components/requestBodies/CreditorProfileData' responses: '204': description: Success '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '404': $ref: '#/components/responses/ResourceNotFoundErrorResponse' summary: Create or Update Creditor Profile tags: - CreditorProfiles delete: description: This endpoint allows you to delete an existing Creditor profile. operationId: deleteCreditorProfile parameters: - $ref: '#/components/parameters/ica' - $ref: '#/components/parameters/creditorId' - $ref: '#/components/parameters/creditorProfileId' responses: '204': description: Success '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '404': $ref: '#/components/responses/ResourceNotFoundErrorResponse' summary: Delete a Creditor Profile tags: - CreditorProfiles /creditor-agents/{ica}/payment-profiles/{creditor_profile_id}/payment-controls: post: description: Create a new Creditor Payment Control. operationId: createCreditorPaymentControl parameters: - $ref: '#/components/parameters/ica' - $ref: '#/components/parameters/creditorProfileId' requestBody: $ref: '#/components/requestBodies/CreditorPaymentControlInformation' responses: '201': $ref: '#/components/responses/CreditorPaymentControl' '400': $ref: '#/components/responses/BadRequestErrorResponse' '404': $ref: '#/components/responses/ResourceNotFoundErrorResponse' summary: Create a new Creditor Payment Control tags: - Creditor Payment Controls get: description: Get All Creditor Payment Controls. operationId: getAllCreditorPaymentControls parameters: - $ref: '#/components/parameters/ica' - $ref: '#/components/parameters/creditorProfileId' responses: '200': $ref: '#/components/responses/GetAllCreditorPaymentControls' '400': $ref: '#/components/responses/BadRequestErrorResponse' '404': $ref: '#/components/responses/ResourceNotFoundErrorResponse' summary: Get All Creditor Payment Controls tags: - Creditor Payment Controls delete: description: Delete All Creditor Payment Controls. operationId: deleteAllCreditorPaymentControls parameters: - $ref: '#/components/parameters/ica' - $ref: '#/components/parameters/creditorProfileId' responses: '204': description: Success '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '404': $ref: '#/components/responses/ResourceNotFoundErrorResponse' summary: Delete All Creditor Payment Controls tags: - Creditor Payment Controls /creditor-agents/{ica}/payment-profiles/{creditor_profile_id}/payment-controls/{payment_control_id}: put: description: Update a Creditor Payment Control by its id. operationId: updateCreditorPaymentControl parameters: - $ref: '#/components/parameters/ica' - $ref: '#/components/parameters/creditorProfileId' - $ref: '#/components/parameters/paymentControlId' requestBody: $ref: '#/components/requestBodies/CreditorPaymentControlInformation' responses: '200': $ref: '#/components/responses/CreditorPaymentControl' '400': $ref: '#/components/responses/BadRequestErrorResponse' '404': $ref: '#/components/responses/ResourceNotFoundErrorResponse' summary: Update a Creditor Payment Control tags: - Creditor Payment Controls get: description: Get a Creditor Payment Control. operationId: getCreditorPaymentControl parameters: - $ref: '#/components/parameters/ica' - $ref: '#/components/parameters/creditorProfileId' - $ref: '#/components/parameters/paymentControlId' responses: '200': $ref: '#/components/responses/GetCreditorPaymentControl' '400': $ref: '#/components/responses/BadRequestErrorResponse' '404': $ref: '#/components/responses/ResourceNotFoundErrorResponse' summary: Get a Creditor Payment Control tags: - Creditor Payment Controls delete: description: Delete a Creditor Payment Control. operationId: deleteCreditorPaymentControl parameters: - $ref: '#/components/parameters/ica' - $ref: '#/components/parameters/creditorProfileId' - $ref: '#/components/parameters/paymentControlId' responses: '204': description: Success '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '404': $ref: '#/components/responses/ResourceNotFoundErrorResponse' summary: Delete a Creditor Payment Control tags: - Creditor Payment Controls /debtors/{debtor_profile_id}: get: description: This endpoint returns information of a Debtor. operationId: debtorGet parameters: - $ref: '#/components/parameters/debtorProfileId' responses: '200': $ref: '#/components/responses/DebtorRecord' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/ResourceNotFoundErrorResponse' summary: Retrieve Debtor Details tags: - Debtors components: parameters: ica: name: ica in: path description: Interbank Card Association ID required: true schema: type: string example: "124584" instruction_identification: name: instruction_identification in: path description: Unique Identification for each Payment Instruction required: true schema: type: string example: 0c09de10-7e43-40ed-a751-122cf8c4f0ab debtorProfileId: description: A unique ID created by the Debtor Agent to identify the Debtor profile. example: 'matest.debtor5.pay@stp' in: path name: debtor_profile_id required: true schema: type: string minLength: 11 maxLength: 61 creditorLegalBusinessName: description: Legal business name of the creditor. example: 'Creditor Company' in: query name: legal_business_name schema: type: string isActive: description: Indicates if the business is active in CDP. example: true in: query name: is_active schema: type: boolean limit: description: The limit is the paginated number of records to be fetched. example: 25 in: query name: limit schema: type: integer minimum: 1 maximum: 100 default: 25 offset: description: Offset is the start of the paginated records to be fetched. example: 0 in: query name: offset schema: type: integer minimum: 0 maximum: 2147483647 default: 0 creditorDba: description: Doing Business As example: 'Creditor Co.' in: query name: dba schema: type: string creditorSearchId: description: "Payment profile identifier, format must be either: '\\@stp'\ \ or '\\.\\@stp'. Follow below format specifications - \\ is limited to 25 characters\ \ (no special characters) \\ is optional and limited to 25 characters\ \ (no special characters) '@stp' is required not case sensitive." example: 'matest.creditor5@stp' in: query name: creditor_profile_id schema: type: string creditorSort: description: Sort by fields (add +/- to the front for ascending/descending) example: 'ORGANISATION_NAME' in: query name: sort schema: type: string enum: - ORGANISATION_NAME - ADDRESS_LINE - TOWN_NAME - COUNTRY_SUB_DIVISION - POST_CODE - COUNTRY_CODE - ORGANISATION_IDENTIFICATION - PROFILE_COUNT creditorId: description: Registration ID of the Creditor (UUID). in: path name: creditor_id required: true schema: type: string example: '489eca17-6504-42ec-aaf8-b59ca9fdf9d5' maxLength: 36 minLength: 36 pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$' creditorProfileId: description: A unique ID created by the Creditor Agent to identify the Creditor profile. in: path name: creditor_profile_id required: true schema: type: string example: 'matest.creditor5@stp' minLength: 7 maxLength: 57 paymentControlId: description: A unique identifier for the Creditor payment control. example: '489eca17-6504-42ec-aaf8-b59ca9fdf9d5' in: path name: payment_control_id required: true schema: type: string requestBodies: CreditorPaymentStatusUpdate: description: Creditor Agent may update payment status from the following- APPROVED DECLINED REJECTED SETTLED CANCELLATION_ACCEPTED CANCELLATION_REJECTED content: application/json: schema: $ref: '#/components/schemas/CreditorPaymentStatusUpdate' required: true CreditorRecord: content: application/json: schema: $ref: '#/components/schemas/CreditorRecord' description: CreditorRecord required: true UpdateCreditorRecord: content: application/json: schema: $ref: '#/components/schemas/UpdateCreditorRecord' description: UpdateCreditorRecord required: true CreditorProfile: content: application/json: schema: $ref: '#/components/schemas/CreditorProfile' description: CreditorProfile required: true CreditorProfileData: content: application/json: schema: $ref: '#/components/schemas/CreditorProfileData' description: CreditorProfileData required: true CreditorPaymentControlInformation: content: application/json: schema: $ref: '#/components/schemas/CreditorPaymentControlInformation' description: Creditor Payment Controls information. required: true responses: Success: description: Successful (no content) content: { } PICustomerCreditTransferInitiation: description: Response object of Get Credit transfer information. content: application/json: schema: $ref: '#/components/schemas/PICustomerCreditTransferInitiation' UnauthorizedErrorResponse: content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: UnauthorizedExample: $ref: '#/components/examples/UnauthorizedExample' description: Unauthorized AccessDeniedErrorResponse: content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: AccessDeniedExample: $ref: '#/components/examples/AccessDeniedExample' description: Access Denied BadRequestErrorResponse: content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: BadRequestExample: $ref: '#/components/examples/BadRequestExample' description: Bad request ResourceNotFoundErrorResponse: content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: ResourceNotFoundExample: $ref: '#/components/examples/ResourceNotFoundExample' description: Not found CreditorSearchResults: description: List of Creditor Search result. content: application/json: schema: $ref: '#/components/schemas/CreditorSearchResults' ResultId: description: A unique ID for each result. content: application/json: schema: $ref: '#/components/schemas/ResultId' CreditorRegistration: description: Details of registered Creditor. content: application/json: schema: $ref: '#/components/schemas/CreditorRegistration' DebtorRecord: description: Details of Debtor. content: application/json: schema: $ref: '#/components/schemas/DebtorRecord' GetAllCreditorPaymentControls: description: List of creditor payment controls information. content: application/json: schema: $ref: '#/components/schemas/GetAllCreditorPaymentControls' GetCreditorPaymentControl: description: Creditor payment controls information. content: application/json: schema: $ref: '#/components/schemas/CreditorPaymentControl' CreditorPaymentControl: description: Creditor Payment Control information. content: application/json: schema: $ref: '#/components/schemas/CreditorPaymentControl' schemas: Error: required: - Source - ReasonCode - Description - Recoverable - Details type: object properties: Source: type: string description: Identifies the service where the error occurred. example: SERVICE_NAME minLength: 1 maxLength: 100 ReasonCode: type: string description: Code that identifies the error. example: ID_NOT_FOUND minLength: 1 maxLength: 100 Description: type: string description: Further details on what caused the error. example: The ID included in the request was not found. minLength: 1 maxLength: 2048 Recoverable: type: boolean description: Describes if the request be able to continue after error. example: false Details: type: string description: Details of the exact location of error in the service and/or identifiers for tracing the request. example: "correlationid: a54496de-a1c7-4175-af46-b43c2c85be01" minLength: 1 maxLength: 2048 description: A list of errors resulting from a request. ErrorList: required: - Error type: object properties: Error: type: array description: A list of errors resulting from a request. items: $ref: '#/components/schemas/Error' ErrorWrapper: required: - Errors type: object properties: Errors: $ref: '#/components/schemas/ErrorList' PaymentInformation: type: object required: - paymentInformationIdentification - paymentMethod - requestedExecutionDate - debtor - debtorAccount - creditTransferTransactionInformation properties: paymentInformationIdentification: type: string description: Unique identification, as assigned by a sending party, to unambiguously identify the payment information group within the message. minLength: 1 maxLength: 35 example: ZWSeE2gq2qWIyLP3HYeDaSLoTb9r7zKS paymentMethod: type: string enum: - CARD description: Fixed code - CARD minLength: 1 maxLength: 4 default: CARD example: CARD requestedExecutionDate: type: string minLength: 1 maxLength: 30 description: A particular point in the progression of time is defined by a mandatory date and a mandatory time component, expressed in UTC time format. This date can be in future if the Creditor Agent accepts it. example: '2025-02-02' debtor: $ref: '#/components/schemas/Debtor' debtorAccount: $ref: '#/components/schemas/DebtorAccount' creditTransferTransactionInformation: $ref: '#/components/schemas/CreditTransferTransactionInformation' Debtor: type: object description: A party that owes an amount of money to the (ultimate) Creditor name, postal address are mandatory along with at least one identification if the debtor is not registered with Commercial Direct Payments (CDP) before hand. Optionally, PRID can be sent as the identification by registering debtors before hand, in which case name and postal addresses are optional. List of supported organization identifications for debtor are as follows- PRID - Debtor profile ID generated by registering debtor with CDP CUST - Customer Number TXID - Tax Identification Number BANK - Bank Party Identification CBID - Central BankIdentification Number COID - Country Identification Code DUNS - Data Universal Numbering System properties: name: type: string description: Name of the ultimate debtor minLength: 1 maxLength: 140 example: Debtor Company postalAddress: $ref: '#/components/schemas/DebtorPostalAddress' identification: $ref: '#/components/schemas/DebtorIdentification' example: name: Debtor Company postalAddress: streetName: 2200 Mastercard Blvd postalCode: '63368' townName: O'Fallon countrySubDivision: MO country: US identification: organisationIdentification: anyBIC: 7OZBBAAX lei: 81G1IF550C4PM62Z6075 other: - identification: '123456789' schemeName: code: TXID issuer: Issuer Name DebtorPostalAddress: type: object properties: streetName: type: string description: Name of a street or thoroughfare minLength: 1 maxLength: 140 example: 2200 Mastercard Blvd postalCode: type: string description: Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail. minLength: 1 maxLength: 16 example: '63368' townName: type: string description: Name of a built-up area, with defined boundaries, and a local government minLength: 1 maxLength: 140 example: O'Fallon countrySubDivision: type: string description: Country Sub Division minLength: 1 maxLength: 35 example: MO country: type: string description: The code is checked against the list of country names obtained from the United Nations (ISO 3166, Alpha-2 code). Refer Alpha-2 codes from External Code Set excel. pattern: "[A-Z]{2,2}" minLength: 2 maxLength: 2 example: US description: Information that locates and identifies a specific address, as defined by postal services. DebtorIdentification: type: object description: Any one of the identifications - BIC / LEI / CUST should be sent by the issuer if the issuer is not sending Debtor ID. properties: organisationIdentification: $ref: '#/components/schemas/DebtorOrganisationIdentification' example: organisationIdentification: anyBIC: 7OZBBAAX lei: 81G1IF550C4PM62Z6075 other: - identification: 'ABC415263' schemeName: code: CBID issuer: Issuer Name DebtorOrganisationIdentification: type: object properties: anyBIC: type: string pattern: "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$" description: Only a valid Business Identifier Code is allowed. Consists of eight (8) or eleven (11) contiguous characters. Format pattern [A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1} example: 7OZBBAAX lei: type: string pattern: "^[A-Z0-9]{18,18}[0-9]{2,2}" description: Legal entity identification as an alternate identification for a party. Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)". Format pattern [A-Z0-9]{18,18}[0-9]{2,2} example: 81G1IF550C4PM62Z6075 other: type: array description: Unique identification of an organization, as assigned by an institution, using an identification scheme items: $ref: '#/components/schemas/DebtorOrganisationIdentificationArr' DebtorOrganisationIdentificationArr: type: object properties: identification: type: string description: This field carries identification of Debtor. The type of Debtor IDs supported are- PRID - Mastercard registered buyer/debtor ID TXID - Tax ID BANK - Bank party identification CBID - Central bank identification number COID - Country identification code DUNS - Data universal numbering system minLength: 1 maxLength: 256 example: '123456789' issuer: type: string description: Entity that assigns the identification. minLength: 1 maxLength: 35 example: Issuer Name schemeName: $ref: '#/components/schemas/DebtorOrganisationSchemeName' DebtorOrganisationSchemeName: type: object description: Name of the identification scheme properties: code: type: string enum: - PRID - TXID - BANK - CBID - COID - DUNS description: Name of the identification scheme, in a coded form. minLength: 4 maxLength: 4 example: TXID DebtorAccount: type: object required: - identification properties: identification: $ref: '#/components/schemas/DebtorAccountIdentification' type: $ref: '#/components/schemas/DebtorAccountType' currency: type: string description: A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds" pattern: "[A-Z]{3,3}" minLength: 3 maxLength: 3 example: USD name: type: string description: Name of Cardholder minLength: 1 maxLength: 70 example: Debtor Card example: identification: other: - identification: '1234' schemeName: code: AIIN issuer: Issuer Name type: code: CARD currency: USD name: Debtor Card DebtorAccountIdentification: type: object description: The payment method information - virtual card or real card payment method properties: other: type: array description: Identification of the payment method. items: $ref: '#/components/schemas/DebtorAccountIdentificationArr' DebtorAccountIdentificationArr: type: object properties: identification: type: string description: The last four digits of the payment card number should be sent in this field. example: '1234' minLength: 1 maxLength: 34 schemeName: $ref: '#/components/schemas/DebtorAccountSchemeName' issuer: type: string minLength: 1 maxLength: 35 description: Identification of the issuer of the reference document type example: Issuer Name DebtorAccountSchemeName: type: object description: Name of the identification scheme properties: code: type: string description: Name of the identification scheme, in a coded form minLength: 1 maxLength: 4 example: AIIN DebtorAccountType: type: object required: - code properties: code: type: string minLength: 4 maxLength: 4 description: Defines the fixed type code CARD example: CARD CreditTransferTransactionInformation: type: object required: - supplementaryData - creditor - amount properties: paymentIdentification: $ref: '#/components/schemas/PaymentIdentification' amount: $ref: '#/components/schemas/Amount' exchangeRateInformation: $ref: '#/components/schemas/ExchangeRateInformation' chargeBearer: type: string description: We will support only DEBT code for the chargeBearer field. Which means all transaction charges are to be borne by the Debtor. minLength: 4 maxLength: 4 example: DEBT creditor: $ref: '#/components/schemas/Creditor' tax: $ref: '#/components/schemas/Tax' relatedRemittanceInformation: type: array description: Related Remittance Information is to be used when the Debtor Agent wants to send Creditor the location of remittance data when remittance data is delivered outside CDP. items: $ref: '#/components/schemas/RelatedRemittanceInformation' remittanceInformation: $ref: '#/components/schemas/RemittanceInformation' supplementaryData: $ref: '#/components/schemas/SupplementaryData' PaymentIdentification: type: object required: - endToEndIdentification properties: instructionIdentification: type: string description: The instruction identification will be set by Mastercard Commercial Direct Payments as the transaction ID generated by our CDP service. Debtor Agents and Creditor Agents are not supposed to use this field to set any value. In case used, the payment initiation will be rejected. example: W4gemK5OLnyEtZbDN6x17ysPn3Ig2WB0 endToEndIdentification: type: string description: Unique identification assigned by the initiating party to unambiguously identify the payment instruction. This identification is passed on, unchanged, throughout the entire end-to-end chain. The end-to-end identification can be used for reconciliation or to link tasks relating to the payment instruction. It can be included in several messages related to the payment instruction. minLength: 1 maxLength: 35 nullable: false example: W4gemK5OLnyEtZbDN6x17ysPn3Ig2WB0 uetr: type: string description: A universally unique identifier to provide an end-to-end reference of a payment instruction. UUIDv4Identifier- Universally Unique Identifier (UUID) version 4, as described in IETC RFC 4122 "Universally Unique Identifier (UUID) URN Namespace". minLength: 1 maxLength: 36 format: uuid example: 019029c1-0ec6-7ebe-996b-5e0e274b766b Amount: type: object properties: instructedAmount: $ref: '#/components/schemas/InstructedAmount' InstructedAmount: type: object properties: currency: type: string description: A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds". pattern: "[A-Z]{3,3}" minLength: 3 maxLength: 3 example: USD amount: type: number description: The number of fractional digits (or minor unit of currency) must comply with ISO 4217. Note- The decimal separator is a dot. Amount Format minInclusive 0 totalDigits 18 fractionDigits 5 example: 576.83 description: The amount of money to be moved between the Debtor and Creditor, expressed in the currency as ordered by the initiating party. ExchangeRateInformation: type: object properties: unitCurrency: type: string description: Currency in which the rate of exchange is expressed in a currency exchange. For example, 1GBP = xxxCUR, the unit currency is GBP A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds". pattern: "[A-Z]{3,3}" minLength: 3 maxLength: 3 example: USD exchangeRate: type: number description: The factor used for the conversion of an amount from one currency to another. This reflects the price at which one currency is bought with another currency. Rate expressed as a decimal, for example, 0.7 is 7/10 and 70%. example: 0.7 rateType: type: string description: Specifies the type used to complete the currency exchange. Following are the allowed codes- SPOT - Exchange rate applied is the spot rate. SALE - Exchange rate applied is the market rate at the time of the sale. AGRD - Agreed Exchange rate applied is the rate agreed between the parties. minLength: 4 maxLength: 4 example: SPOT contractIdentification: type: string description: Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/Creditor and the Debtor Agent. minLength: 1 maxLength: 35 example: qwjhr-otpr-0012 description: Provides details on the currency exchange rate and contract. Creditor: type: object properties: name: type: string description: The name by which a party is known and which is used to identify that party. minLength: 1 maxLength: 140 example: Creditor Name postalAddress: $ref: '#/components/schemas/CreditorPostalAddress' identification: $ref: '#/components/schemas/CreditorIdentification' example: name: Creditor Name postalAddress: streetName: 2200 Townhall Blvd postalCode: '63368' townName: O'Fallon countrySubDivision: MO country: US identification: organisationIdentification: anyBIC: 1N62MG41 lei: 0562S5G0LCO2W269S657 other: - identification: matest.creditor6@stp schemeName: code: PRID issuer: Issuer Name CreditorPostalAddress: type: object properties: streetName: type: string description: Name of a street or thoroughfare minLength: 1 maxLength: 140 example: 2200 Townhall Blvd postalCode: type: string description: Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail. minLength: 1 maxLength: 16 example: '63368' townName: type: string description: Name of a built-up area, with defined boundaries, and a local government minLength: 1 maxLength: 140 example: O'Fallon countrySubDivision: type: string description: Country Sub Division minLength: 1 maxLength: 35 example: MO country: type: string description: The code is checked against the list of country names obtained from the United Nations (ISO 3166, Alpha-2 code). Refer Alpha-2 codes from External Code Set excel. pattern: "[A-Z]{2,2}" minLength: 2 maxLength: 2 example: US description: Information that locates and identifies a specific address, as defined by postal services. CreditorIdentification: type: object description: Unique identification of (ultimate) Creditor properties: organisationIdentification: $ref: '#/components/schemas/CreditorOrganisationIdentification' example: organisationIdentification: anyBIC: 7OZBBAAX lei: 81G1IF550C4PM62Z6075 other: - identification: CORP123@STP schemeName: code: PRID issuer: Issuer Name CreditorOrganisationIdentification: type: object properties: anyBIC: type: string pattern: "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$" description: Only a valid Business Identifier Code is allowed. Consists of eight (8) or eleven (11) contiguous characters. Format pattern [A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1} example: 1N62MG41 lei: type: string pattern: "^[A-Z0-9]{18,18}[0-9]{2,2}" description: Legal entity identification as an alternate identification for a party. Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)". Format pattern [A-Z0-9]{18,18}[0-9]{2,2} example: 0562S5G0LCO2W269S657 other: type: array description: Unique identification of an organization, as assigned by an institution, using an identification scheme items: $ref: '#/components/schemas/CreditorOrganisationIdentificationArr' CreditorOrganisationIdentificationArr: type: object properties: identification: type: string description: Any one of the two following identifications is acceptable as the identification of Creditor- PRID - Creditor ID registered with Commercial Direct Payments EMAL - Creditor email address minLength: 1 maxLength: 256 example: matest.creditor6@stp issuer: type: string description: Entity that assigns the identification. minLength: 1 maxLength: 35 example: Issuer Name schemeName: $ref: '#/components/schemas/CreditorOrganisationSchemeName' CreditorOrganisationSchemeName: type: object description: Name of the identification scheme properties: code: type: string enum: - PRID - EMAL description: Name of the identification scheme, in a coded form minLength: 4 maxLength: 4 example: PRID Tax: type: object properties: totalTaxAmount: $ref: '#/components/schemas/TotalTaxAmount' TotalTaxAmount: type: object properties: currency: type: string description: A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds". pattern: "[A-Z]{3,3}" minLength: 3 maxLength: 3 example: USD amount: type: number description: Amount of money to be moved between the debtor and Creditor, before deduction of charges, expressed in the currency as ordered by the initiating party minInclusive 0 totalDigits 18 fractionDigits 5 example: 10.0 RelatedRemittanceInformation: type: object properties: remittanceIdentification: type: string description: Unique identification, as assigned by the initiating party, to unambiguously identify the remittance information sent separately from the payment instruction, such as a remittance advice. minLength: 1 maxLength: 35 example: a61R80u9QmLcduhLQG4uogTTRUQIQi4k remittanceLocationDetails: type: array description: Additional Information items: $ref: '#/components/schemas/RemittanceLocationDetails' RemittanceLocationDetails: type: object required: - method - name - postalAddress properties: method: type: string enum: - FAXI - EDIC - URID - EMAL - POST - SMSM description: Method used to deliver the remittance advice information. Supported method codes are- FAXI - FAX EDIC - Electronic Data Interchange URID - Uniform Resource Identifier EMAL - Email POST - Post SMSM - SMS minLength: 4 maxLength: 4 example: URID electronicAddress: type: string description: The electronic address at which the Creditor Agent is to send the remittance information. minLength: 1 maxLength: 2048 example: https://www.buyer.com/remittancedetails name: type: string description: Remittance Location Name minLength: 1 maxLength: 140 example: Creditor Name postalAddress: $ref: '#/components/schemas/RelatedRemittancePostalAddress' example: method: URID electronicAddress: https://www.buyer.com/remittancedetails name: Creditor Name postalAddress: streetName: 2200 Mastercard Blvd postalCode: '63368' townName: O'Fallon countrySubDivision: MO country: US RelatedRemittancePostalAddress: type: object properties: streetName: type: string description: Name of a street or thoroughfare minLength: 1 maxLength: 140 example: 2200 Mastercard Blvd postalCode: type: string description: Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail. minLength: 1 maxLength: 16 example: '63368' townName: type: string description: Name of a built-up area, with defined boundaries, and a local government minLength: 1 maxLength: 140 example: O'Fallon countrySubDivision: type: string description: Country Sub Division minLength: 1 maxLength: 35 example: MO country: type: string description: The code is checked against the list of country names obtained from the United Nations (ISO 3166, Alpha-2 code). Refer Alpha-2 codes from External Code Set excel pattern: "[A-Z]{2,2}" minLength: 2 maxLength: 2 example: US description: Information that locates and identifies a specific address, as defined by postal services. RemittanceInformation: type: object properties: unstructured: type: array description: The unstructured remittance information array supports 30 free text fields of key-value pair format at the payment request level. items: type: string minLength: 1 maxLength: 140 example: - "email: testcreditor@hotmail.com" - "URL: https://exampleinvoice.com/GLCode:200" structured: type: array description: Structured remittance information with attached reference documents and other reconciliation data that might be needed by the Creditor (Supplier). The structured remittance data is mandatory only when the Creditor has asked for remittance data from CDP. If the Creditor does not requires remittance data from CDP, the entire structured array is optional. items: $ref: '#/components/schemas/Structured' Structured: type: object description: At least one CINV type of document is mandatory if the object is included in the payload. properties: referredDocumentInformation: type: array description: Provides the identification and the content of the referred document. Following are the supported document types- CINV - Commercial Invoice PUOR - Purchase Order (this is a supporting document and can be only added as an attachment to the commercial invoice) CREN - Credit Note BREF - Booking Reference CLAM - Claim Document Note - There can be either CINV or CREN type of document as part of one single referredDocumentInformation array. As mentioned above, PUOR can be added optionally along with CINV. items: $ref: '#/components/schemas/ReferredDocumentInformation' maximum: 2 referredDocumentAmount: $ref: '#/components/schemas/ReferredDocumentAmount' creditorReferenceInformation: $ref: '#/components/schemas/CreditorReferenceInformation' invoicer: $ref: '#/components/schemas/Invoicer' invoicee: $ref: '#/components/schemas/Invoicee' additionalRemittanceInformation: type: array description: Additional Remittance Information items: type: string minLength: 1 maxLength: 140 example: - 'email: testcreditor@hotmail.com' - 'URL: https://exampleinvoice.com/GLCode:200' example: referredDocumentInformation: - type: code: CINV number: AB7894565235 relatedDate: - type: code: PADD date: '2025-12-24' lineDetails: - identification: - type: code: MDNB issuer: eVCUtkC_cF0tQcp7fbLzbJRass4k number: Mi18v1ddVoaNIHNOh relatedDate: '2025-06-24' description: line detail identification code amount: remittanceAmountandType: - type: code: DUPA currency: USD amount: 210.05 adjustmentAmountAndReason: - currency: USD amount: 10 creditDebitIndicator: CRDT reason: DAMAGED_GOODS additionalInformation: Damaged Goods referredDocumentAmount: remittanceAmountandType: - type: code: REMI currency: USD amount: 200.05 adjustmentAmountAndReason: - currency: USD amount: 10 creditDebitIndicator: DBIT reason: DAMAGED_GOODS additionalInformation: Damaged Goods creditorReferenceInformation: type: code: DISP issuer: Issuer Name reference: RF18539007547034 invoicer: name: Invoicer Name postalAddress: streetName: 2200 Mastercard Blvd postalCode: '63368' townName: O'Fallon countrySubDivision: MO country: US identification: organisationIdentification: anyBIC: 88B0GWVU lei: 064QB7W3N1S0AW0QJG94 other: - identification: pTL80r schemeName: code: CUST issuer: Issuer Name invoicee: name: Invoicee Name postalAddress: streetName: 2200 Mastercard Blvd postalCode: '63368' townName: O'Fallon countrySubDivision: MO country: US identification: organisationIdentification: anyBIC: 88B0GWVU lei: 064QB7W3N1S0AW0QJG94 other: - identification: pTL80r schemeName: code: CUST issuer: Issuer Name additionalRemittanceInformation: - "email: testcreditor@hotmail.com" - "URL: https://exampleinvoice.com/GLCode:200" ReferredDocumentInformation: type: object properties: number: type: string description: Provides the identification and the content of the referred document. Following are the supported document types- CINV - Commercial Invoice PUOR - Purchase Order (this is a supporting document and can be only added as an attachment to the commercial invoice) CREN - Credit Note BREF - Booking Reference CLAM - Claim Document Note - There can be either CINV or CREN type of document as part of one single referredDocumentInformation array. As mentioned above, PUOR can be added optionally along with CINV. minLength: 1 maxLength: 35 example: 'AB7894565235' type: $ref: '#/components/schemas/ReferredDocumentType' relatedDate: type: array description: Date associated with the referred document. There are two dates supported as follows. items: $ref: '#/components/schemas/RelatedDate' lineDetails: type: array description: Set of elements used to provide the content of the referred document line items (ex. Commercial Invoice line details) items: $ref: '#/components/schemas/LineDetails' description: Provides the identification and the content of the referred document (ex. Commercial Invoice) ReferredDocumentType: type: object required: - code properties: code: type: string enum: - CINV - PUOR - CREN - BREF - CLAM minLength: 4 maxLength: 4 description: Defines the type of referred document- CINV - Commercial Invoice PUOR - Purchase Order (this is a supporting document and can be only added as an attachment to the commercial invoice) CREN - Credit Note BREF - Booking Reference CLAM - Claim Document Note - There can be either CINV or CREN type of document as part of one single referredDocumentInformation array. As mentioned above, PUOR can be added optionally along with CINV. example: CINV RelatedDate: type: object properties: date: type: string description: Date associated with the referred document (ex. Commercial Invoice created Date) example: '2025-12-24' minLength: 1 maxLength: 30 type: $ref: '#/components/schemas/RelatedDateType' RelatedDateType: type: object required: - code properties: code: type: string enum: - INDA - PADD minLength: 4 maxLength: 4 description: There are two types of date codes supported- INDA - Invoice Date PADD - Payment Due Date example: PADD LineDetails: type: object required: - identification properties: identification: type: array description: Provides identification of the referred document line item. This is pass through information. items: $ref: '#/components/schemas/LineDetailsIdentification' description: minLength: 1 maxLength: 2048 type: string description: Description associated with the document line. example: "BF5M.yEHpLJsXZ_plVvvoW6d6ijjdj1NnwWVzMwpTNSlcikUt.V_Q8zJEFfwFu" amount: $ref: '#/components/schemas/LineDetailsAmount' description: Set of elements used to provide the content of the referred document line items (ex. Commercial Invoice line details) LineDetailsIdentification: type: object properties: number: type: string description: Identification of the type specified for the referred document line. minLength: 1 maxLength: 35 example: "Mi18v1ddVoaNIHNOh" type: $ref: '#/components/schemas/LineDetailsIdentificationType' relatedDate: type: string description: Date associated with the referred document line. example: '2025-06-24' minLength: 1 maxLength: 30 description: Provides identification of the referred document line item LineDetailsIdentificationType: type: object required: - code properties: code: type: string enum: - ADPI - AISB - ASNB - CTNB - DBSP - EANN - EINB - GSNB - HIBC - ISBN - LTNB - MDNB - PRNB - PTCD - SKNB - STNB - TONB - UPCC - UPNB description: Line identification type is in a coded form. Following are the supported codes- ADPI - AdditionalProductIdentificationAssignedByTheManufacturer AISB - AlternateISBN ASNB - AssetNumber CTNB - CatalogNumber DBSP - DunBradstreetStandardProductAndServiceCode EANN - EuropeanArticleNumberEAN2551 EINB - EquipmentIdentificationNumber GSNB - GeneralSpecificationNumber HIBC - HIBCHealthCareIndustryBarCode ISBN - InternationalStandardBookNumberISBN LTNB - LotNumber MDNB - ModelNumber PRNB - PartNumber PTCD - ProductTypeCode SKNB - StockNumber STNB - StyleNumber TONB - TechnicalOrderNumber UPCC - UPCConsumerPackageCode UPNB - UniversalProductNumber minLength: 4 maxLength: 4 example: MDNB issuer: type: string description: Issuer identification, if any. minLength: 1 maxLength: 35 example: eVCUtkC_cF0tQcp7fbLzbJRass4k description: Specifies the type of creditor reference. LineDetailsAmount: type: object description: Line Details Amount object properties: remittanceAmountandType: type: array items: $ref: '#/components/schemas/LineDetailsAmountandType' adjustmentAmountAndReason: type: array items: $ref: '#/components/schemas/LineDetailsAdjustmentAmountAndReason' LineDetailsAmountandType: type: object description: Type and amounts for the line details properties: type: $ref: '#/components/schemas/LineDetailsAmountType' currency: type: string description: A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds". pattern: "[A-Z]{3,3}" minLength: 3 maxLength: 3 example: USD amount: type: number description: Amount of money for the line details. The number of fractional digits (or minor unit of currency) must comply with ISO 4217. Note- The decimal separator is a dot. Amount Format- minInclusive 0 totalDigits 18 fractionDigits 5 example: 210.05 LineDetailsAmountType: type: object required: - code properties: code: type: string enum: - APDS - STDS - TMDS - CREN - CITY - CNTY - LOCL - PROV - STAT - STAX - PRTL - WTHL - DUPA - REMI minLength: 4 maxLength: 4 description: Defines the type of amounts supported as follows- APDS - AdditionalPromotionalDiscount STDS - StandingDiscount TMDS - TermsDiscount CREN - CreditNote CITY - CityTax CNTY - CountyTax LOCL - LocalTax PROV - ProvinceTax STAT - StateTax STAX - Self-assessed Tax PRTL - Partial invoice payment WTHL - Withholding amount DUPA - DuePayable REMI - Remitted example: REMI LineDetailsAdjustmentAmountAndReason: type: object required: - currency - amount description: Specifies detailed information on the amount and reason of the adjustment, if any. properties: currency: type: string description: A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds" pattern: "[A-Z]{3,3}" minLength: 3 maxLength: 3 example: USD amount: type: number description: Amount of money of the document adjustment. The number of fractional digits (or minor unit of currency) must comply with ISO 4217. Note- The decimal separator is a dot. Amount Format- minInclusive 0 totalDigits 18 fractionDigits 5 example: 10 creditDebitIndicator: type: string description: Specifies whether the adjustment must be subtracted or added to the total amount (CRDT or DBIT) minLength: 4 maxLength: 4 example: CRDT reason: type: string enum: - INCORRECT_AMOUNT - DISC_EARLY_PAY - DISC_TAX_EXEMPT - DISC_SALES - DAMAGED_GOODS - LATE_GOODS - LATE_SERVICE - FEES - PREV_PAY_AMT - PARTIAL_PAY description: Specifies the reason for the adjustment. Select any of the following predefined reasons- INCORRECT_AMOUNT - The invoice amount is incorrect. DISC_EARLY_PAY - Discount applied for early payment. DISC_TAX_EXEMPT - Discount applied for tax exemption. DISC_SALES - Discount given by a salesperson. DAMAGED_GOODS - Discount applied for damaged goods. LATE_GOODS - Discount applied for late delivery of goods. LATE_SERVICE - Discount applied for late services. FEES - Additional fees applied for convenience or payment processing. PREV_PAY_AMT - There was a previous payment made to reduce the balance of the invoice total. PARTIAL_PAY - This is a partial payment. The total invoice is being paid by more than one transaction. minLength: 1 maxLength: 20 example: DAMAGED_GOODS additionalInformation: type: string description: Provides further details on the adjustment. minLength: 1 maxLength: 140 example: Damaged Goods ReferredDocumentAmount: type: object properties: remittanceAmountandType: type: array items: $ref: '#/components/schemas/RemittanceAmountandType' adjustmentAmountAndReason: type: array items: $ref: '#/components/schemas/AdjustmentAmountAndReason' RemittanceAmountandType: type: object description: Type and amount of money for the referred document properties: type: $ref: '#/components/schemas/ReferredDocumentRemittanceType' currency: type: string description: A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds". pattern: "[A-Z]{3,3}" minLength: 3 maxLength: 3 example: USD amount: type: number description: Amount of money for the referred document. The number of fractional digits (or minor unit of currency) must comply with ISO 4217. Note- The decimal separator is a dot. Amount Format- minInclusive 0 totalDigits 18 fractionDigits 5 example: 200.05 ReferredDocumentRemittanceType: type: object required: - code properties: code: type: string enum: - APDS - STDS - TMDS - CREN - CITY - CNTY - LOCL - PROV - STAT - DUPA - REMI minLength: 4 maxLength: 4 description: Defines the type of amounts supported as follows- APDS - AdditionalPromotionalDiscount STDS - StandingDiscount TMDS - TermsDiscount CREN - CreditNote CITY - CityTax CNTY - CountyTax LOCL - LocalTax PROV - ProvinceTax STAT - StateTax DUPA - DuePayable REMI - Remitted Note - The remitted amount, due payable amount and instructed amount should match. If the remitted amount and due payable amount do not match, the difference should be matched using other amount types. example: REMI AdjustmentAmountAndReason: type: object required: - currency - amount description: Specifies detailed information on the amount and reason of the adjustment. properties: currency: type: string description: A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds". pattern: "[A-Z]{3,3}" minLength: 3 maxLength: 3 example: USD amount: type: number description: Amount of money of the document adjustment. The number of fractional digits (or minor unit of currency) must comply with ISO 4217. Note- The decimal separator is a dot. Amount Format- minInclusive 0 totalDigits 18 fractionDigits 5 example: 10 creditDebitIndicator: type: string description: Specifies whether the adjustment must be subtracted or added to the total amount (CRDT or DBIT) minLength: 4 maxLength: 4 example: DBIT reason: type: string enum: - INCORRECT_AMOUNT - DISC_EARLY_PAY - DISC_TAX_EXEMPT - DISC_SALES - DAMAGED_GOODS - LATE_GOODS - LATE_SERVICE - FEES - PREV_PAY_AMT - PARTIAL_PAY description: Specifies the reason for the adjustment. Select any of the following predefined reasons- INCORRECT_AMOUNT - The invoice amount is incorrect. DISC_EARLY_PAY - Discount applied for early payment. DISC_TAX_EXEMPT - Discount applied for tax exemption. DISC_SALES - Discount given by a salesperson. DAMAGED_GOODS - Discount applied for damaged goods. LATE_GOODS - Discount applied for late delivery of goods. LATE_SERVICE - Discount applied for late services. FEES - Additional fees applied for convenience or payment processing. PREV_PAY_AMT - There was a previous payment made to reduce the balance of the invoice total. PARTIAL_PAY - This is a partial payment. The total invoice is being paid by more than one transaction. minLength: 1 maxLength: 20 example: DAMAGED_GOODS additionalInformation: type: string description: Provides further details on the document adjustment. minLength: 1 maxLength: 140 example: Damaged Goods CreditorReferenceInformation: type: object properties: reference: type: string description: A unique reference, as assigned by the Creditor, to unambiguously refer to the payment instruction. If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the Creditor upon receipt of the amount of money. minLength: 1 maxLength: 35 example: RF18539007547034 type: $ref: '#/components/schemas/CreditorReferenceInformationType' CreditorReferenceInformationType: type: object description: Specifies the type of creditor reference. properties: code: type: string enum: - DISP - FXDR - PUOR - RPIN - RADM - SCOR minLength: 4 maxLength: 4 description: Type of Creditor reference can be chosen from the following list- DISP - DispatchAdvice FXDR - ForeignExchangeDealReference PUOR - PurchaseOrder RPIN - RelatedPaymentInstruction RADM - RemittanceAdviceMessage SCOR - StructuredCommunicationReference example: DISP issuer: type: string minLength: 1 maxLength: 35 description: Entity that assigns the credit reference type. example: Issuer Name Invoicer: type: object description: Identification of the organisation issuing the invoice, when it is different from the Creditor or ultimate Creditor, this object can be used. properties: name: type: string description: The name by which a party is known and which is used to identify that party. minLength: 1 maxLength: 140 example: Invoicer Name postalAddress: $ref: '#/components/schemas/InvoicerPostalAddress' identification: $ref: '#/components/schemas/InvoicerIdentification' InvoicerPostalAddress: type: object properties: streetName: type: string description: Name of a street or thoroughfare minLength: 1 maxLength: 140 example: 2200 Mastercard Blvd postalCode: type: string description: Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail. minLength: 1 maxLength: 16 example: '63368' townName: type: string description: Name of a built-up area, with defined boundaries, and a local government minLength: 1 maxLength: 140 example: O'Fallon countrySubDivision: type: string description: Country Sub Division minLength: 1 maxLength: 35 example: MO country: type: string description: The code is checked against the list of country names obtained from the United Nations (ISO 3166, Alpha-2 code). Refer Alpha-2 codes from External Code Set excel. pattern: "[A-Z]{2,2}" minLength: 2 maxLength: 2 example: US description: Information that locates and identifies a specific address, as defined by postal services. InvoicerIdentification: type: object properties: organisationIdentification: $ref: '#/components/schemas/InvoicerOrganisationIdentification' InvoicerOrganisationIdentification: type: object properties: anyBIC: type: string pattern: "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$" description: Only a valid Business Identifier Code is allowed. Consists of eight (8) or eleven (11) contiguous characters. Format pattern [A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1} example: 88B0GWVU lei: type: string pattern: "^[A-Z0-9]{18,18}[0-9]{2,2}" description: Legal entity identification as an alternate identification for a party. Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)". Format pattern [A-Z0-9]{18,18}[0-9]{2,2} example: 064QB7W3N1S0AW0QJG94 other: type: array description: Unique identification of an organization, as assigned by an institution, using an identification scheme items: $ref: '#/components/schemas/InvoicerOrganisationIdentificationArr' InvoicerOrganisationIdentificationArr: type: object properties: identification: type: string description: This field carries identification of invoicer. minLength: 1 maxLength: 256 example: pTL80r issuer: type: string description: Entity that assigns the identification. minLength: 1 maxLength: 35 example: Issuer Name schemeName: $ref: '#/components/schemas/InvoicerSchemeName' InvoicerSchemeName: type: object description: Name of the identification scheme properties: code: type: string enum: - CUST - TXID - BANK - CBID - COID - DUNS description: Name of the identification scheme, in a coded form- CUST - Customer Number TXID - Tax Identification Number BANK - Bank Party Identification CBID - Central BankIdentification Number COID - Country Identification Code DUNS - Data Universal Numbering System minLength: 4 maxLength: 4 example: CUST Invoicee: type: object description: Identification of the party to whom an invoice is issued, when it is different from the Debtor or ultimate Debtor, this object can be used. properties: name: type: string description: Name by which a party is known and which is usually used to identify that party minLength: 1 maxLength: 140 example: Invoicee Name postalAddress: $ref: '#/components/schemas/InvoiceePostalAddress' identification: $ref: '#/components/schemas/InvoiceeIdentification' InvoiceePostalAddress: type: object properties: streetName: type: string description: Name of a street or thoroughfare minLength: 1 maxLength: 140 example: 2200 Mastercard Blvd postalCode: type: string description: Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail. minLength: 1 maxLength: 16 example: '63368' townName: type: string description: Name of a built-up area, with defined boundaries, and a local government minLength: 1 maxLength: 140 example: O'Fallon countrySubDivision: type: string description: Country Sub Division minLength: 1 maxLength: 35 example: MO country: type: string description: The code is checked against the list of country names obtained from the United Nations (ISO 3166, Alpha-2 code). Refer Alpha-2 codes from External Code Set excel. pattern: "[A-Z]{2,2}" minLength: 2 maxLength: 2 example: US description: Information that locates and identifies a specific address, as defined by postal services. InvoiceeIdentification: type: object properties: organisationIdentification: $ref: '#/components/schemas/InvoiceeOrganisationIdentification' InvoiceeOrganisationIdentification: type: object properties: anyBIC: type: string pattern: "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$" description: Only a valid Business Identifier Code is allowed. Consists of eight (8) or eleven (11) contiguous characters. Format pattern [A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1} example: 88B0GWVU lei: type: string pattern: "^[A-Z0-9]{18,18}[0-9]{2,2}" description: Legal entity identification as an alternate identification for a party. Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)". Format pattern [A-Z0-9]{18,18}[0-9]{2,2} example: 064QB7W3N1S0AW0QJG94 other: type: array description: Unique identification of an organization, as assigned by an institution, using an identification scheme items: $ref: '#/components/schemas/InvoiceeOrganisationIdentificationArr' InvoiceeOrganisationIdentificationArr: type: object properties: identification: type: string description: Identification of invoicee minLength: 1 maxLength: 256 example: pTL80r issuer: type: string description: Entity that assigns the identification. minLength: 1 maxLength: 35 example: Issuer Name schemeName: $ref: '#/components/schemas/InvoiceeSchemeName' InvoiceeSchemeName: type: object description: Name of the identification scheme properties: code: type: string enum: - CUST - TXID - BANK - CBID - COID - DUNS description: Name of the identification scheme, in a coded form- CUST - Customer Number TXID - Tax Identification Number BANK - Bank Party Identification CBID - Central BankIdentification Number COID - Country Identification Code DUNS - Data Universal Numbering System minLength: 4 maxLength: 4 example: CUST SupplementaryData: type: object required: - envelope properties: envelope: $ref: '#/components/schemas/Envelope' Envelope: type: object required: - cardDetails properties: cardDetails: $ref: '#/components/schemas/CardDetails' chargesInformation: type: array items: $ref: '#/components/schemas/ChargesInformation' CardDetails: type: object description: Specifies card details of the card holder properties: pan: maxLength: 28 minLength: 1 type: string description: Card Number (Permant Account Number of Card) example: '5149612222222220' expiryDate: type: string description: Expiry date of Card example: '2025-11' cvv: maxLength: 4 minLength: 3 type: string description: Verification of Card example: '100' cardholderName: maxLength: 140 minLength: 1 type: string description: Card Holder Name example: John Doe currency: minLength: 3 maxLength: 3 type: string description: Currency of the Card example: USD cardholderAddress: $ref: '#/components/schemas/CardHolderAddress' additionalCardDetails: $ref: '#/components/schemas/AdditionalCardDetails' CardHolderAddress: type: object properties: streetName: minLength: 1 maxLength: 140 type: string description: Street Name of the card holder example: 2200 Mastercard Blvd postalCode: minLength: 1 maxLength: 16 type: string description: Postal Code of the card holder example: '63368' townName: minLength: 1 maxLength: 140 type: string description: Town Name of the card holder example: O'Fallon countrySubDivision: minLength: 1 maxLength: 35 type: string description: Country Sub Divison of the card holder example: MO country: minLength: 2 maxLength: 2 type: string description: Country of the card holder example: US AdditionalCardDetails: type: object properties: validFrom: type: string description: Validity start of the card example: 2017-07-21T17:32:28Z validTo: type: string description: Validity end of the card example: 2017-07-21T17:32:28Z ChargesInformation: type: object properties: currency: type: string description: Identification of the currency in which the account is held. minLength: 3 maxLength: 3 example: USD type: $ref: '#/components/schemas/ChargesType' amount: type: number description: Transaction charges to be paid by the charge bearer (DEBT) example: 256.78 example: currency: 'USD' type: code: 'CARD_FEE' amount: 256.78 description: Provides information on the charges related to the processing of the rejection of the instruction. PaymentControlChargesInformation: type: object properties: flatAmount: type: string description: A flat fee amount applied to the payment instruction. example: '20.0' nullable: true percentageAmount: type: string description: A percentage fee amount applied to the payment instruction. example: '2.5' PaymentControlInstructedAmount: type: object properties: max: type: string description: Maximum amount allowed for this control example: '5000.2' min: type: string description: Minimum amount allowed for this control example: '50.99' PaymentControlReferredDocumentInformation: type: object properties: time: $ref: '#/components/schemas/Time' type: type: string description: |- Specifies the type of referred document (ex. CINV - Commercial Invoice). Valid Values; CINV - Commercial Invoice example: 'CINV' maxLength: 4 required: - time - type Time: type: object properties: maxDaysAfterRelatedDate: type: string description: Calendar Days in UTC example: '10' ChargesType: type: object required: - code properties: code: type: string minLength: 1 maxLength: 10 description: Defines the type fixed value CARD_FEE example: CARD_FEE PICustomerCreditTransferInitiation: type: object properties: paymentInformation: $ref: '#/components/schemas/PaymentInformation' paymentStatus: $ref: '#/components/schemas/PICustomerCreditTransferInitiationPaymentStatus' settlementTimeIndication: $ref: '#/components/schemas/SettlementTimeIndication' transactionIdentification: $ref: '#/components/schemas/TransactionIdentification' createdDate: type: string description: The date of creating a payment minLength: 1 maxLength: 30 example: '2025-02-13T11:32:28.548Z' updatedDate: type: string description: The date of updating a payment minLength: 1 maxLength: 30 example: '2025-02-13T11:32:28.684Z' description: Object for returning the status of the instruction identification PICustomerCreditTransferInitiationPaymentStatus: type: object properties: status: type: string enum: - RECEIVED - ACCEPTED - PENDING - SUBMITTED - APPROVED - DECLINED - REJECTED - CANCELLATION_REQUESTED - CANCELLATION_ACCEPTED - CANCELLATION_REJECTED - CANCELLED - SETTLED minLength: 1 maxLength: 30 description: Possible statuses returned in the status inquiry- RECEIVED ACCEPTED PENDING SUBMITTED APPROVED DECLINED REJECTED CANCELLATION_REQUESTED CANCELLATION_ACCEPTED CANCELLATION_REJECTED CANCELLED SETTLED example: "ACCEPTED" statusReasonInformation: type: array description: Status Reason Information items: $ref: '#/components/schemas/StatusReasonInformation' description: Specifies the status of the payment information. SettlementTimeIndication: type: object properties: creditDateTime: type: string minLength: 1 maxLength: 30 description: Date and time at which a payment has been credited. example: '2025-08-17T17:37:23.230Z' debitDateTime: type: string minLength: 1 maxLength: 30 description: Reserved for Future Use example: '2025-08-17T17:37:23.231Z' TransactionIdentification: type: object properties: approvalCode: minLength: 1 maxLength: 255 type: string description: The value assigned by the approval entity indicating approval. example: "214636" retrievalReferenceNumber: minLength: 1 maxLength: 12 type: string description: Reference supplied by the system retaining the original source information and used to assist in locating that information or a copy thereof. example: "54946469666" transactionReference: minLength: 1 maxLength: 35 type: string description: Identification of the transaction by the card acceptor. It may appear on the receipt of the cardholder. It remains unchanged throughout the lifetime of the transaction. example: "4494944994949" transactionDateTime: type: string minLength: 1 maxLength: 30 description: Local date and time of the transaction assigned by the POI (Point Of Interaction) example: '2025-02-13T11:32:28.028Z' CreditorPaymentStatusUpdate: type: object required: - status properties: status: type: string enum: - APPROVED - DECLINED - REJECTED - SETTLED - CANCELLATION_ACCEPTED - CANCELLATION_REJECTED minLength: 1 maxLength: 30 description: Possible status while Creditor updating the payment status- APPROVED DECLINED REJECTED SETTLED CANCELLATION_ACCEPTED CANCELLATION_REJECTED example: "CANCELLATION_REJECTED" settlementTimeIndication: $ref: '#/components/schemas/SettlementTimeIndication' transactionIdentification: $ref: '#/components/schemas/TransactionIdentification' statusReasonInformation: type: array description: Status Reason Information items: $ref: '#/components/schemas/CreditorStatusReasonInformationUpdate' description: Specifies the Creditor payment update status of the payment information. StatusReasonInformation: type: object properties: description: type: string description: Specifies the reason for the status report. Refer to the developer portal for the full list. minLength: 1 maxLength: 255 example: "This transaction is in transit." reasonCode: type: string description: Specifies the reason code for the status report. Refer to the developer portal for the full list. minLength: 1 maxLength: 100 example: "MIN_INSTRUCTED_AMT_WARNING" description: Provides detailed information on the status reason. CreditorStatusReasonInformationUpdate: type: object properties: description: type: string description: Specifies the reason for the status report. Refer to the developer portal for the full list. minLength: 1 maxLength: 255 example: "Transaction {transactionId} cancellation rejected. {paymentMethod} payment was processed already." reasonCode: type: string description: Specifies the reason code for the status report. Refer to the developer portal for the full list. minLength: 1 maxLength: 100 example: "PAYMENT_PROCESSED" description: Provides detailed information on the status reason. DebtorLegalAddress: type: object description: Identifies the Debtor's billing address provided to the Creditor to reconcile the payment. properties: addressLine: type: string description: Identifies the street address of the business. example: '2200 Mastercard Blvd.' maxLength: 70 minLength: 0 country: type: string description: Identifies the country where the business is located. example: 'US' maxLength: 2 minLength: 2 countrySubDivision: type: string description: "Identifies the subdivision within a country where the business\ \ is located such as the state, region, or county." example: 'MO' maxLength: 35 minLength: 0 postCode: type: string description: Identifies the mailing or zip code for the business. example: '63368' townName: type: string description: Identifies the name of the city or geographical location of the business. example: 'O''Fallon' maxLength: 50 minLength: 0 required: - addressLine - country DebtorRecord: type: object properties: address: $ref: '#/components/schemas/DebtorLegalAddress' debtorProfileId: type: string description: "Payment profile identifier, Format must be either: '\\.pay@stp'\ \ or '\\.\\.pay@stp'. Follow below format specifications - \\ is limited to 25 characters\ \ (no special characters) \\ is optional and limited to 25 characters\ \ (no special characters) '.pay@stp' is required not case sensitive." example: 'matest.debtor1.pay@stp' name: type: string description: Identifies the legal business name of the Debtor making the payment (UUID). example: 'MA Test Debtor 1' registrationId: type: string description: Unique identifier of Debtor. example: '7b8bfb09-3fdc-4cd1-b768-477757fec6be' maxLength: 36 minLength: 36 pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$' status: type: string description: A flag for the Debtor's status in the CDP. example: 'ACTIVE' taxId: type: string description: Tax identifier of the Debtor making the payment. example: '123456789' paymentMethods: type: array description: "Identifies the supported payment methods. Specifies the form\ \ of payment that will be used to complete the transaction. Valid values: CARD" example: - CARD items: type: string uniqueItems: true organisationIdentifications: type: array description: A unique and unambiguous way to identify an organisation. items: $ref: '#/components/schemas/OrganisationIdentification' uniqueItems: true required: - registrationId - paymentMethods CreditorSearchResults: type: object properties: data: type: object properties: count: type: integer format: int32 description: Number of results returned. example: 1 items: description: Results filtered type: array items: $ref: '#/components/schemas/CreditorSearchResultItem' limit: type: integer format: int32 description: Maximum results returned from a search query. example: 25 offset: type: integer format: int32 description: The starting row of results started at. example: 0 total: type: integer format: int32 description: Total number of results available to be returned. example: 1 CreditorRecord: type: object properties: dba: type: string description: Doing Business As example: 'Creditor Co.' maxLength: 240 minLength: 0 inactiveReason: type: string description: "Identifies the reason why the business is not active in CDP.\ \ Valid Values 'PRE_REGISTERED', 'AGENT_HOLD'" example: 'PRE_REGISTERED' isActive: type: boolean description: Indicates if the business is active in CDP. example: true legalBusinessAddress: $ref: '#/components/schemas/CreditorLegalAddress' legalBusinessName: type: string description: Identifies the legal business name of the Creditor receiving the payment. example: 'Creditor Company' maxLength: 240 minLength: 1 organisationIdentifications: type: array description: A unique and unambiguous way to identify an organisation. items: $ref: '#/components/schemas/OrganisationIdentification' uniqueItems: true paymentProfiles: type: array description: The profile associated with the business making the payment. The payment profile includes its payment preferences. items: $ref: '#/components/schemas/CreditorProfile' uniqueItems: true required: - legalBusinessAddress - legalBusinessName - organisationIdentifications - paymentProfiles CreditorLegalAddress: type: object description: Identifies the legal business address of the Creditor receiving the payment. properties: addressLine: type: string description: Identifies the street address of the business. example: '2200 Mastercard Blvd.' maxLength: 70 minLength: 0 country: type: string description: Identifies the country where the business is located. example: 'US' maxLength: 2 minLength: 2 countrySubDivision: type: string description: "Identifies the subdivision within a country where the business\ \ is located such as the state, region, or county." example: 'MO' maxLength: 35 minLength: 0 postCode: type: string description: Identifies the mailing or zip code for the business. example: '63368' townName: type: string description: Identifies the name of the city or geographical location of the business. example: 'O''Fallon' maxLength: 50 minLength: 0 required: - addressLine - country ResultId: type: object properties: id: type: string description: A unique ID generated for each result. example: '489eca17-6504-42ec-aaf8-b59ca9fdf9d5' CreditorRegistration: type: object properties: dba: type: string description: Doing Business As example: 'Creditor Co.' id: type: string description: A unique identifier for the Creditor's Company generated by system (UUID). example: '489eca17-6504-42ec-aaf8-b59ca9fdf9d5' maxLength: 36 minLength: 36 pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$' inactiveReason: type: string description: "Identifies the reason why the business is not active in CDP.\ \ Valid Values 'PRE_REGISTERED', 'AGENT_HOLD'" example: 'PRE_REGISTERED' isActive: type: boolean description: Indicates if the business is active in CDP. example: true legalBusinessAddress: $ref: '#/components/schemas/CreditorLegalAddress' legalBusinessName: type: string description: Identifies the legal business name of the Creditor receiving the payment. example: 'Creditor Company' organisationIdentifications: type: array description: A unique and unambiguous way to identify an organisation. items: $ref: '#/components/schemas/OrganisationIdentification' uniqueItems: true paymentProfiles: type: array description: The profile associated with the business making the payment. The payment profile includes its payment preferences. items: $ref: '#/components/schemas/CreditorProfile' uniqueItems: true UpdateCreditorRecord: type: object properties: dba: type: string description: Doing Business As example: 'Creditor Co.' maxLength: 240 minLength: 0 inactiveReason: type: string description: "Identifies the reason why the business is not active in CDP.\ \ Valid Values 'PRE_REGISTERED', 'AGENT_HOLD'" example: 'PRE_REGISTERED' isActive: type: boolean description: Indicates if the business is active in CDP. example: true legalBusinessAddress: $ref: '#/components/schemas/CreditorLegalAddress' organisationIdentifications: type: array description: A unique and unambiguous way to identify an organisation. items: $ref: '#/components/schemas/OrganisationIdentification' uniqueItems: true CreditorProfileData: type: object properties: isActive: type: boolean description: Indicates if the profile is active in CDP. example: true email: type: string description: Business-only email of profile (not personal). example: creditor@yourcompany.com format: email maxLength: 255 minLength: 6 payToAddress: $ref: '#/components/schemas/PayToAddress' paymentMethods: type: array description: "Identifies the supported payment methods. Specifies the form\ \ of payment that will be used to complete the transaction. Valid values: CARD" example: - CARD items: type: string uniqueItems: true paymentProcessor: type: string description: ICA of the payment processor. example: '12345' maxLength: 20 inactiveReason: type: string description: "Valid Values: 'PRE_REGISTERED'" example: 'PRE_REGISTERED' registrationStatus: $ref: '#/components/schemas/RegistrationStatus' gatewayIdentification: $ref: '#/components/schemas/GatewayIdentification' required: - paymentMethods OrganisationIdentification: type: object properties: identification: type: string description: A unique identification for the organisation. example: '998765432' maxLength: 15 minLength: 1 type: type: string description: Organisation Identification Type example: 'TXID' required: - identification - type RegistrationStatus: type: object description: Registration status details of the creditor. properties: status: type: string description: "The registration status. Valid values: 'APPROVED', 'REJECTED'" example: 'REJECTED' enum: - APPROVED - REJECTED reasonCode: type: string description: The reason code for the registration status. example: 'MISSING_DOC' description: type: string description: A human-readable description of the registration status. example: 'Registration was rejected due to incomplete creditor documentation.' GatewayIdentification: type: object description: Gateway identification details for the creditor. properties: merchantId: type: string nullable: true description: The merchant identifier. example: 'US123456A12' pattern: '^[A-Za-z0-9_-]+$' minLength: 1 maxLength: 15 terminalIds: type: array description: List of terminal identifiers associated with the merchant. Maximum 100 items, each alphanumeric having min length 3 and max length 8. maxItems: 100 example: - 'TER0113Y' items: type: string pattern: '^[A-Za-z0-9]+$' minLength: 3 maxLength: 8 gatewayName: type: string description: The name of the payment gateway. Allows letters, numbers, spaces, hyphens, and underscores. example: 'Mastercard Gateway' pattern: '^[A-Za-z0-9 _-]+$' minLength: 1 maxLength: 64 bankMerchantId: type: string description: The Bank Merchant ID/SE Number is an identifier allocated to the merchant by their acquiring bank. example: 'MERCHANT123456AA' pattern: '^[A-Za-z0-9]+$' minLength: 1 maxLength: 16 acquirerBank: type: string description: Bank that processes merchant card payments and settles funds. example: 'Network International via S2I' pattern: "^[a-zA-Z0-9 '_.,()/+\\-]+$" minLength: 1 maxLength: 100 acquirerId: type: string description: The unique identifier for the acquirer issued by the gateway. example: 'CISTEST_S2I' minLength: 1 maxLength: 50 cardBrands: type: array description: The list of valid card types supported by this merchant acquirer link. One of MASTERCARD, VISA, AMEX, DINERS_CLUB, JCB, DISCOVER, UNION_PAY, MAESTRO items: type: string enum: - MASTERCARD - VISA - AMEX - DINERS_CLUB - JCB - DISCOVER - UNION_PAY - MAESTRO example: - 'MASTERCARD' - 'VISA' currencies: type: array description: List of currencies associated with the merchant. The currencies list must not exceed 10 elements. Each currency must contain only alphanumeric characters and must not exceed 3 characters in length.ISO 4217 alpha-3 e.g. USD, EUR maxItems: 10 example: - 'USD' - 'EUR' items: type: string pattern: '^[a-zA-Z]+$' minLength: 3 maxLength: 3 pennyTxnTokenRefId: type: string format: uuid description: The penny transaction token reference identifier. Optional. The pennyTxnTokenRefId must be UUID. example: '489eca17-6504-42ec-aaf8-b59ca9fdf9d5' maxLength: 36 minLength: 36 attributes: type: array description: "Additional gateway attributes as key value pair strings. Each entry must not exceed 2048 characters. Below are the required attributes based on card brand and acquirer-\n url - attribute is required if the card brand is American Express.\n region - mpgs-nam,mpgs-eu,mpgs-ap,mpgs-in. Region of Merchant categoryCode - Min & Max length 4. Data is a string that consists of the characters 0-9. A 4 digit industry specific code that describes the business or industry the merchant operates in. timeZone - Min length 1 & Max length 40. It is used to display the transaction time. The value must be provided in the form '/', e.g. 'America/New_York'. goodsDescription - Min length 1 & Max length 80. Description of the merchant's goods, for example, books or electronics. visaMerchantVerificationValue - Min and Max length 10. Data is hexadecimal encoded. The Merchant Verification Value (MVV) assigned to the merchant by Visa. Value will be submitted to the acquirer on transaction requests with card type Visa serviceProviderMerchantId - Min length 8 & Max length 16. The unique identifier for the merchant with the Service Provider" items: type: string maxLength: 2048 pattern: '^[^:]*\S[^:]*:.*$' example: - "url: https://ghvfhcvb" - "region: mpgs-nam" - "categoryCode: 1234" - "timeZone: America/New_York" - "goodsDescription: Electronics" - "visaMerchantVerificationValue: 221B12345A" - "serviceProviderMerchantId: ABC123456789" CreditorSearchResultItem: type: object properties: dba: type: string description: Doing Business As example: 'Creditor Co.' id: type: string description: A unique identifier for the Creditor's Company generated by a system (UUID). example: '489eca17-6504-42ec-aaf8-b59ca9fdf9d5' maxLength: 36 minLength: 36 pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$' inactiveReason: type: string description: "Identifies the reason why the business is not active in CDP.\ \ Valid Values 'PRE_REGISTERED', 'AGENT_HOLD'" example: 'PRE_REGISTERED' isActive: type: boolean description: Indicates if the business is active in CDP. example: true legalBusinessAddress: $ref: '#/components/schemas/CreditorLegalAddress' legalBusinessName: type: string description: Identifies the legal business name of the Creditor receiving the payment. example: 'Creditor Company' organisationIdentifications: type: array description: A unique and unambiguous way to identify an organisation. items: $ref: '#/components/schemas/OrganisationIdentification' uniqueItems: true profileCount: type: integer format: int64 description: Number of profiles that match the search. example: 22 CreditorProfile: type: object properties: isActive: type: boolean description: Indicates if the profile is active in CDP. example: true email: type: string description: Business-only email of profile (not personal). example: creditor@yourcompany.com format: email maxLength: 255 minLength: 6 gatewayIdentification: $ref: '#/components/schemas/GatewayIdentification' payToAddress: $ref: '#/components/schemas/PayToAddress' paymentMethods: type: array description: "Identifies the supported payment methods. Specifies the form\ \ of payment that will be used to complete the transaction. Valid values:\ \ CARD" example: - CARD items: type: string uniqueItems: true creditorProfileId: type: string description: "Payment profile identifier, Format must be either: '\\@stp'\ \ or '\\.\\@stp'. Follow below format specifications - \\ is limited to 25 characters\ \ (no special characters) \\ is optional and limited to 25 characters\ \ (no special characters) '@stp' is required not case sensitive." example: 'matest.creditor5@stp' pattern: "[a-zA-Z0-9]{1,25}([.][a-zA-Z0-9]{1,25})?@[Ss][Tt][Pp]" paymentProcessor: type: string description: ICA of the payment processor. example: '12345' maxLength: 20 required: - creditorProfileId - paymentMethods PayToAddress: type: object description: Identifies the Creditor's billing address provided to the Debtor to include when making the payment. properties: addressLine: type: string description: Identifies the street address where the Debtor must send the payment. example: '2200 Mastercard Blvd.' maxLength: 70 minLength: 0 country: type: string description: Identifies the country of the Creditor's payTo address. example: 'US' maxLength: 2 minLength: 2 countrySubDivision: type: string description: "Identifies the subdivision where the business is located such\ \ as state, region, or county." example: 'MO' maxLength: 35 minLength: 0 postCode: type: string description: Identifies the mailing or zip code. example: '63368' townName: type: string description: Identifies the name of the city or geographical location of the payTo address. example: 'O''Fallon' maxLength: 50 minLength: 0 required: - addressLine - country - countrySubDivision - postCode - townName GetAllCreditorPaymentControls: description: List of Creditor payment controls. type: object properties: paymentControls: type: array description: List of Creditor payment controls. items: $ref: '#/components/schemas/CreditorPaymentControl' CreditorPaymentControl: type: object properties: conditions: $ref: '#/components/schemas/Conditions' decision: type: string description: "The desired outcome when a payment instruction violates a\ \ Creditor's payment controls. There are two valid values, WARNING and REJECT.\ \ Warning: Use WARNING to notify all associated payment agents that the payment instruction violates your Creditor's controls. \ The payment instruction proceeds through the payment lifecycle. You receive the payment instruction warning and APPROVE or REJECT as necessary. \ Reject: Use REJECT to notify the Debtor Agent that the payment instruction violates the Creditor's controls and does not proceed through the payment lifecycle. \ CDP rejects the payment instruction and provides a rejection reason code and description to the Debtor Agent." example: 'REJECT' paymentControlId: type: string description: A unique identifier for the Creditor payment control (UUID). example: '489eca17-6504-42ec-aaf8-b59ca9fdf9d5' maxLength: 36 minLength: 36 pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$' paymentMethod: type: string description: The payment rail applicable for the control. The control can be set against any payment method supported by the agent and Creditor. example: 'CARD' creditorId: type: string description: "CDP ID of Creditor receiving the payment. Examples: mastercard@stp\ \ and mastercard.northamerica@stp" example: 'matest.creditor1@stp' required: - decision - paymentMethod Conditions: type: object description: The terms of the control. properties: chargesInformation: $ref: '#/components/schemas/PaymentControlChargesInformation' instructedAmount: $ref: '#/components/schemas/PaymentControlInstructedAmount' referredDocumentInformation: type: array description: referredDocumentInformation items: $ref: '#/components/schemas/PaymentControlReferredDocumentInformation' relationship: $ref: '#/components/schemas/Relationship' Relationship: type: object description: relationship properties: excludeDebtors: type: array description: Debtor's Tax ID(12345789) or Debtor's Debtor ID(Debtor.pay@stp) items: $ref: '#/components/schemas/ExcludeDebtors' includeDebtors: type: array description: Debtor relationships to be included with the control. items: $ref: '#/components/schemas/IncludeDebtors' ExcludeDebtors: type: object properties: organisationIdentification: $ref: '#/components/schemas/ExcludeOrganisationIdentification' ExcludeOrganisationIdentification: type: object description: Exclude Organisation Identification for the relationship. properties: identification: type: string description: Organisation Identification for the relationship. example: '12-3456789' type: type: string description: "Organisation Identification Type for the relationship.\nValid\ \ Values;\nTXID - Tax ID \nCUST - Customer Number \nPRID - Mastercard\ \ Profile ID" example: 'TXID' IncludeDebtors: type: object properties: organisationIdentification: $ref: '#/components/schemas/IncludeOrganisationIdentification' IncludeOrganisationIdentification: type: object description: Include Organisation Identification for the relationship. properties: identification: type: string description: Organisation Identification for the relationship. example: '12345789' type: type: string description: "Organisation Identification Type for the relationship.\nValid\ \ Values;\nTXID - Tax ID \nCUST - Customer Number \nPRID - Mastercard\ \ Profile ID" example: 'TXID' CreditorPaymentControlInformation: type: object description: Creditor Payment Controls information. properties: conditions: $ref: '#/components/schemas/Conditions' decision: type: string description: "The desired outcome when a payment instruction violates a\ \ Creditor's payment controls.There are two valid values, WARNING and REJECT.\ \ Warning: Use WARNING to notify all associated payment agents that the payment instruction violates your Creditor's controls. \ The payment instruction proceeds through the payment lifecycle. You receive the payment instruction warning and APPROVE or REJECT as necessary. \ Reject: Use REJECT to notify the Debtor Agent that the payment instruction violates the Creditor's controls and does not proceed through the payment lifecycle. \ CDP rejects the payment instruction and provides a rejection reason code and description to the Debtor Agent." example: 'REJECT' paymentMethod: type: string description: The payment rail applicable for the control. The control can be set against any payment method supported by the agent and Creditor. example: 'CARD' required: - decision - paymentMethod examples: BadRequestExample: summary: Bad Request Error Example value: Errors: Error: - Source: Commercial Direct Payments ReasonCode: BAD_REQUEST Description: Please add the missing details and resubmit. Recoverable: false Details: Please contact Mastercard support for additional details for 400 response. AccessDeniedExample: summary: Access Denied Error Example value: Errors: Error: - Source: Commercial Direct Payments ReasonCode: ACCESS_DENIED Description: Access denied to the endpoint. Recoverable: false Details: Please contact Mastercard support for additional details for 403 response. UnauthorizedExample: summary: Unauthorized Error Example value: Errors: Error: - Source: Commercial Direct Payments ReasonCode: INVALID_AUTH Description: Invalid authorization. Please correct your access credentials and try again. Recoverable: false Details: Please contact Mastercard support for additional details for 401 response. ResourceNotFoundExample: summary: Resource Not Found Error Example value: Errors: Error: - Source: Commercial Direct Payments ReasonCode: NOT_FOUND Description: Please check the input and resubmit. Recoverable: false Details: Please contact Mastercard support for additional details for 404 response.