openapi: 3.0.3 info: title: Mastercard Debtor Service Provider Resources API description: >- Online checkouts can be frustrating and tedious. As shopping habits shift to digital, consumers and merchants require secure and streamlined online experiences. Mastercard Account to Account Commerce enables debtor service providers (DSP) to provide their debtors (customers) with a fast, secure, and convenient way to pay using their mobile banking app.= Through Account to Account Commerce, the debtors can view their balance before checkout, initiate refunds, and use their accounts for recurring payments or frequent purchases. contact: name: API Support email: apisupport@mastercard.com url: https://developer.mastercard.com/support version: 1.2.1 servers: - url: https://mtf.services.mastercard.com/zapp/pbarfp/dsp description: >- Mastercard Test Facility (MTF) is a Production-like environment that enables DSP and Creditor Service Provider (CSP) to integrate and test end to end solution with Mastercard APIs. - url: https://services.mastercard.com/zapp/pbarfp/dsp description: Production environment. tags: - name: Agreement - name: Agreements description: >- API endpoints used by DSP to create agreements and manage lifecycle of agreements. - name: Confirmations - name: Lifecycle - name: Payment - name: Payment Requests - name: Payments - name: Refunds description: >- API endpoint used by Mastercard to fetch Refund account and confirm refund status. - name: Request - name: Retrievals - name: Status - name: Step - name: Up paths: /payment-request-retrievals: post: tags: - Payment Requests - Payments - Request - Retrievals summary: Mastercard Retrieve Payment Request Details. description: >- Enables DSP to retrieve request for payment using either paymentRequestLifecycleId or paymentRequestReferenceNumber to present it to the debtor and obtain consent for funds transfer. operationId: retrievePaymentRequest parameters: - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/X-Product-ID' - $ref: '#/components/parameters/X-Participant-ID' - $ref: '#/components/parameters/X-JWS-Signature' requestBody: $ref: '#/components/requestBodies/PaymentRequestDetailRetrievalRequest' responses: '200': $ref: '#/components/responses/PaymentRequestDetailRetrievalResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorisedErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK /payment-requests/{payment_request_lifecycle_id}/payment-confirmation-advices: post: tags: - Confirmations - Lifecycle - Payment - Payment Requests - Payments - Request summary: Mastercard Confirm Payment description: >- Enables DSP to send payment status information for the request for payment message. operationId: confirmPaymentAdvice parameters: - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/X-Product-ID' - $ref: '#/components/parameters/X-Participant-ID' - $ref: '#/components/parameters/X-JWS-Signature' - $ref: '#/components/parameters/Idempotency-Key' - $ref: '#/components/parameters/payment_request_lifecycle_id' requestBody: $ref: '#/components/requestBodies/PaymentConfirmationAdviceRequest' responses: '200': $ref: '#/components/responses/PaymentConfirmationAdviceResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorisedErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK /payment-requests/{payment_request_lifecycle_id}/step-up-advices: post: tags: - Lifecycle - Payment - Payment Requests - Payments - Request - Step - Up summary: Mastercard Step-up Advice description: Enables DSP to send step-up advice to CSP through Mastercard. operationId: createStepUpAdvice parameters: - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/X-Product-ID' - $ref: '#/components/parameters/X-Participant-ID' - $ref: '#/components/parameters/X-JWS-Signature' - $ref: '#/components/parameters/payment_request_lifecycle_id' requestBody: $ref: '#/components/requestBodies/StepUpNotificationRequest' responses: '200': $ref: '#/components/responses/StepUpNotificationResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorisedErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK /agreement-retrievals: post: tags: - Agreement - Agreements - Retrievals summary: Mastercard Retrieve Agreement Details description: >- Enables DSP to retrieve agreement details, either agreementId or agreementReferenceNumber must be provided to retrieve agreement details. operationId: retrieveAgreement parameters: - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/X-Product-ID' - $ref: '#/components/parameters/X-Participant-ID' - $ref: '#/components/parameters/X-JWS-Signature' requestBody: $ref: '#/components/requestBodies/RetrieveAgreementRequest' responses: '200': $ref: '#/components/responses/RetrieveAgreementResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorisedErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK /agreement-searches: post: tags: - Agreement - Agreements summary: Mastercard Retrieve Agreement List description: Enables DSP to retrieve list of active agreements. operationId: retrieveAgreementList parameters: - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/X-Product-ID' - $ref: '#/components/parameters/X-Participant-ID' - $ref: '#/components/parameters/X-JWS-Signature' requestBody: $ref: '#/components/requestBodies/RetrieveAgreementListRequest' responses: '200': $ref: '#/components/responses/RetrieveAgreementListResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorisedErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK /agreements/{agreement_id}/updates: post: tags: - Agreement - Agreements summary: Mastercard Update Agreement operationId: updateAgreement description: >- Enables DSP to update agreement status to Approved or Rejected or Deleted or update account nickname. Nickname must be supplied when agreement status is Approved. - Update Status - status can be updated from in progress to approved or rejected, when it is approved nickname has to be provided. - Update Nickname - agreementId and nickname has be to supplied. - Delete Agreement - status can be updated from approved to deleted. parameters: - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/X-Product-ID' - $ref: '#/components/parameters/X-Participant-ID' - $ref: '#/components/parameters/X-JWS-Signature' - $ref: '#/components/parameters/Idempotency-Key' - $ref: '#/components/parameters/agreement_id' requestBody: $ref: '#/components/requestBodies/DebtorAgreementUpdateRequest' responses: '200': $ref: '#/components/responses/DebtorAgreementUpdateResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorisedErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK /payment-requests/{payment_request_lifecycle_id}/refunds/{refund_request_lifecycle_id}/status-retrievals: post: tags: - Lifecycle - Payment - Payments - Refunds - Request - Retrievals - Status summary: Mastercard Refund Request Status Retrieval Request description: Enables DSP to enquire about the status of Refund Request. operationId: retrieveRefundStatus parameters: - $ref: '#/components/parameters/X-Request-ID' - $ref: '#/components/parameters/X-Product-ID' - $ref: '#/components/parameters/X-Participant-ID' - $ref: '#/components/parameters/X-JWS-Signature' - $ref: '#/components/parameters/Idempotency-Key' - $ref: '#/components/parameters/refund_request_lifecycle_id' - $ref: '#/components/parameters/payment_request_lifecycle_id' requestBody: $ref: '#/components/requestBodies/RefundRequestStatusRetrievalRequest' responses: '200': $ref: '#/components/responses/RefundRequestStatusRetrievalResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorisedErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: parameters: X-Request-ID: name: X-Request-ID in: header required: true schema: type: string minLength: 1 maxLength: 50 example: 7eab4eab35a542e085add0363a49c035 description: >- Each API request has an associated request identifier. It can be used to match the response to the request and used for tracing, troubleshooting and analysis purposes. X-Product-ID: name: X-Product-ID in: header required: true schema: type: string minLength: 1 maxLength: 50 example: PBARFP description: >- Unique identifier assigned to the product by Mastercard and given to the participant. X-Participant-ID: name: X-Participant-ID in: header required: true schema: type: string minLength: 1 maxLength: 50 example: '000545' description: >- Unique identifier assigned to the participant by Mastercard during onboarding. X-JWS-Signature: name: X-JWS-Signature in: header required: true description: JWS detached signature is applied to ensure data integrity. schema: type: string example: >- eyJhbGciOiJSUzI1NiIsImtpZCI6Ik1LMGlrb1k3NFpNdUhnbncwSG1MNnpSbi9rRT0iLCJpYXQiOiIxNjc1OTYyMjA3IiwiY3JpdCI6WyJpYXQiXX0..XRHc_Q7mp49sr0CDL6Ps97uz4Lhl3XG_--JfeZrkj-4LK-3gzc7HsN0Jq4UjO_NX5ZlVp_tfL_GE1g9-vUT0NCfXmfbBXYEaC9CgFZIoU9F2PBegdZwHHmkDbu-5-t6kd2xo4UhaQ5VP1quWOD5yAs2a6MlQstT1iT-gPIW1teaiz4lgCmqbcTo6umjLKL-QsYvJ53Ngtb5rrF5WWQ1WKpGeq_PP1hGYbxDzcYBNZqGed-dXuGqpkWJ85JENJyOKDoskWM6cgs6OAjrmjTIFQ0qdfal91SUQtzJ49nbAiqMpROh79uYJ024jgtcQ_StqYJyJWYdLeUv1ge-kDJN0fw minLength: 1 maxLength: 512 Idempotency-Key: name: Idempotency-Key in: header required: true description: >- Unique identifier generated by the participant. Mastercard uses this identifier to recognize subsequent retries of the same request and ensure idempotent behaviour by sending the same response without repeating the operation again. schema: type: string format: uuid example: 7da7a728-f910-11e6-942a-68f728c1ba70 minLength: 1 maxLength: 36 agreement_id: name: agreement_id in: path required: true description: >- Unique identifier assigned by Mastercard, to the agreement, to be used in Payment Requests for routing them to the destined participant. schema: type: string example: '923123123123123100' minLength: 1 maxLength: 35 payment_request_lifecycle_id: name: payment_request_lifecycle_id in: path required: true description: >- Unique identifier assigned by Mastercard, to identify the payment request in subsequent transactions or services. schema: type: string example: '128361739311340082' minLength: 1 maxLength: 35 refund_request_lifecycle_id: name: refund_request_lifecycle_id in: path required: true description: >- Unique identifier assigned by Mastercard, to identify the refund request in subsequent transactions or services. schema: type: string example: '245566173931134008' minLength: 1 maxLength: 35 headers: X-Request-ID: required: true schema: type: string minLength: 1 maxLength: 50 example: 7eab4eab35a542e085add0363a49c035 description: >- Each API request has an associated request identifier. It can be used to match the response to the request and for tracing, troubleshooting and analysis purposes. X-Product-ID: required: true schema: type: string minLength: 1 maxLength: 50 example: PBARFP description: >- Unique identifier assigned to the product by Mastercard and given to the participant. X-Participant-ID: required: true schema: type: string minLength: 1 maxLength: 50 example: '000545' description: >- Unique identifier assigned to the participant by Mastercard during onboarding. X-JWS-Signature: required: true description: JWS detached signature is applied to ensure data integrity. schema: type: string example: >- eyJhbGciOiJSUzI1NiIsImtpZCI6Ik1LMGlrb1k3NFpNdUhnbncwSG1MNnpSbi9rRT0iLCJpYXQiOiIxNjc1OTYyMjA3IiwiY3JpdCI6WyJpYXQiXX0..XRHc_Q7mp49sr0CDL6Ps97uz4Lhl3XG_--JfeZrkj-4LK-3gzc7HsN0Jq4UjO_NX5ZlVp_tfL_GE1g9-vUT0NCfXmfbBXYEaC9CgFZIoU9F2PBegdZwHHmkDbu-5-t6kd2xo4UhaQ5VP1quWOD5yAs2a6MlQstT1iT-gPIW1teaiz4lgCmqbcTo6umjLKL-QsYvJ53Ngtb5rrF5WWQ1WKpGeq_PP1hGYbxDzcYBNZqGed-dXuGqpkWJ85JENJyOKDoskWM6cgs6OAjrmjTIFQ0qdfal91SUQtzJ49nbAiqMpROh79uYJ024jgtcQ_StqYJyJWYdLeUv1ge-kDJN0fw minLength: 1 maxLength: 512 requestBodies: RetrieveAgreementRequest: required: true description: Retrieve Agreement Request. content: application/json: schema: $ref: '#/components/schemas/NewAgreementDetailRetrieval' RetrieveAgreementListRequest: required: true description: Retrieve Agreement List Request. content: application/json: schema: $ref: '#/components/schemas/NewAgreementListRetrieval' DebtorAgreementConfirmationRequest: required: true description: Confirm Agreement Request. content: application/json: schema: $ref: '#/components/schemas/NewAgreementConfirmation' DebtorAgreementUpdateRequest: required: true description: Update Agreement Request. content: application/json: schema: $ref: '#/components/schemas/NewAgreementUpdate' PaymentRequestDetailRetrievalRequest: required: true description: Retrieve Payment Request. content: application/json: schema: $ref: '#/components/schemas/NewPaymentRequestDetailRetrieval' StepUpNotificationRequest: required: true description: Step Up Notification. content: application/json: schema: $ref: '#/components/schemas/NewStepUpNotification' PaymentConfirmationAdviceRequest: required: true description: Payment Request Confirmation Advice. content: application/json: schema: $ref: '#/components/schemas/NewPaymentConfirmationAdvice' RefundRequestStatusRetrievalRequest: required: true description: Refund Request Status Retrieval Request. content: application/json: schema: $ref: '#/components/schemas/NewRefundRequestStatusRetrieval' responses: RetrieveAgreementResponse: description: Retrieve Agreement Request Successful. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' X-Product-ID: $ref: '#/components/headers/X-Product-ID' X-Participant-ID: $ref: '#/components/headers/X-Participant-ID' X-JWS-Signature: $ref: '#/components/headers/X-JWS-Signature' content: application/json: schema: $ref: '#/components/schemas/AgreementDetailRetrieval' RetrieveAgreementListResponse: description: Retrieve Agreement List Request Successful. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' X-Product-ID: $ref: '#/components/headers/X-Product-ID' X-Participant-ID: $ref: '#/components/headers/X-Participant-ID' X-JWS-Signature: $ref: '#/components/headers/X-JWS-Signature' content: application/json: schema: $ref: '#/components/schemas/AgreementListRetrieval' DebtorAgreementConfirmationResponse: description: Confirm Agreement Request Successful. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' X-Product-ID: $ref: '#/components/headers/X-Product-ID' X-Participant-ID: $ref: '#/components/headers/X-Participant-ID' X-JWS-Signature: $ref: '#/components/headers/X-JWS-Signature' content: application/json: schema: $ref: '#/components/schemas/AgreementConfirmation' DebtorAgreementUpdateResponse: description: Update Agreement Request Successful. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' X-Product-ID: $ref: '#/components/headers/X-Product-ID' X-Participant-ID: $ref: '#/components/headers/X-Participant-ID' X-JWS-Signature: $ref: '#/components/headers/X-JWS-Signature' content: application/json: schema: $ref: '#/components/schemas/AgreementAckUpdate' PaymentRequestDetailRetrievalResponse: description: Payment Request creation successful. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' X-Product-ID: $ref: '#/components/headers/X-Product-ID' X-Participant-ID: $ref: '#/components/headers/X-Participant-ID' X-JWS-Signature: $ref: '#/components/headers/X-JWS-Signature' content: application/json: schema: $ref: '#/components/schemas/PaymentRequestDetailRetrieval' StepUpNotificationResponse: description: Step Up Notification Request creation successful. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' X-Product-ID: $ref: '#/components/headers/X-Product-ID' X-Participant-ID: $ref: '#/components/headers/X-Participant-ID' X-JWS-Signature: $ref: '#/components/headers/X-JWS-Signature' content: application/json: schema: $ref: '#/components/schemas/StepUpNotification' PaymentConfirmationAdviceResponse: description: Payment Request Status update successful. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' X-Product-ID: $ref: '#/components/headers/X-Product-ID' X-Participant-ID: $ref: '#/components/headers/X-Participant-ID' X-JWS-Signature: $ref: '#/components/headers/X-JWS-Signature' content: application/json: schema: $ref: '#/components/schemas/PaymentConfirmationAdvice' RefundRequestStatusRetrievalResponse: description: >- Refund Request Status Retrieval Request was successfully received by Mastercard. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' X-Product-ID: $ref: '#/components/headers/X-Product-ID' X-Participant-ID: $ref: '#/components/headers/X-Participant-ID' content: application/json: schema: $ref: '#/components/schemas/RefundRequestStatusRetrievalAck' BadRequestErrorResponse: description: >- Invalid structure: The header or payload fails syntax or structural validation. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' X-Product-ID: $ref: '#/components/headers/X-Product-ID' X-Participant-ID: $ref: '#/components/headers/X-Participant-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: BadRequestErrorExample: $ref: '#/components/examples/BadRequestErrorExample' UnauthorisedErrorResponse: description: Invalid signature. The service fails signature validation. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' X-Product-ID: $ref: '#/components/headers/X-Product-ID' X-Participant-ID: $ref: '#/components/headers/X-Participant-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: BadRequestExample: $ref: '#/components/examples/UnauthorisedExample' examples: BadRequestErrorExample: value: Errors: Error: - Source: ZAPP ReasonCode: STVL-9999 Description: Invalid structure. Recoverable: false Details: Invalid structure UnauthorisedExample: value: Errors: Error: - Source: ZAPP ReasonCode: SECU-9999 Description: Invalid signature. Recoverable: false Details: Invalid signature schemas: NewAgreementDetailRetrieval: allOf: - $ref: '#/components/schemas/MessageRequestBlock' - type: object required: - debtor - agreement properties: debtor: $ref: '#/components/schemas/Debtor' agreement: $ref: '#/components/schemas/AgreementForAgmtRetrieval' NewAgreementListRetrieval: allOf: - $ref: '#/components/schemas/MessageRequestBlock' - type: object required: - debtor properties: debtor: $ref: '#/components/schemas/Debtor' NewAgreementConfirmation: allOf: - $ref: '#/components/schemas/MessageRequestBlock' - type: object required: - debtor - agreement properties: debtor: $ref: '#/components/schemas/Debtor' agreement: $ref: '#/components/schemas/AgreementForAgmtConfirmation' NewAgreementUpdate: allOf: - $ref: '#/components/schemas/MessageRequestBlock' - type: object required: - debtor - agreement properties: debtor: $ref: '#/components/schemas/Debtor' agreement: $ref: '#/components/schemas/AgreementForAgmtUpdate' NewPaymentRequestDetailRetrieval: allOf: - $ref: '#/components/schemas/MessageRequestBlock' - type: object required: - transaction properties: transaction: $ref: '#/components/schemas/TransactionForPaymentRetrieval' NewStepUpNotification: allOf: - $ref: '#/components/schemas/MessageRequestBlock' - type: object required: - transaction - debtorServiceProviderId properties: debtorServiceProviderId: type: string example: '000369' minLength: 1 maxLength: 35 description: >- Unique identifier assigned to the DSP during Mastercard onboarding. transaction: $ref: '#/components/schemas/TransactionForStepUpNotification' NewPaymentConfirmationAdvice: allOf: - $ref: '#/components/schemas/MessageRequestBlock' - type: object required: - paymentRequestLifecycleId - status - debtor - acceptanceDateTime properties: paymentRequestLifecycleId: type: string minLength: 1 maxLength: 35 example: '923123123123123100' description: >- Unique identifier assigned by Mastercard, to identify the payment request in subsequent transactions or services. acceptanceDateTime: type: string format: date-time example: '2020-11-20T06:57:24.465Z' description: >- ISO 8601 format date and time in Coordinated Universal Time (UTC) on when the Debtor has accepted or rejected the request. creditAccountUsed: type: boolean example: true description: >- Indicator to specify when a Credit account is used for the payment. authorisedByDebtor: type: boolean example: false description: >- Indicator whether the Consumer authorised the account on file transaction which was stepped up. paymentRequestStatusRetrievalLifecycleId: type: string example: '111123123123123111' minLength: 1 maxLength: 35 description: >- Unique identifier assigned by Mastercard, to identify the Payment Request Status Retrieval request in subsequent transactions or services. debtor: $ref: '#/components/schemas/Debtor' status: $ref: '#/components/schemas/Status' payment: $ref: '#/components/schemas/Payment' agreementConfirmation: $ref: '#/components/schemas/AgreementConForPaymentAdvice' NewRefundRequestStatusRetrieval: allOf: - $ref: '#/components/schemas/MessageRequestBlock' - type: object required: - refundRequestLifecycleId - paymentRequestLifecycleId - debtor properties: paymentRequestLifecycleId: type: string minLength: 1 maxLength: 35 example: '923123123123123100' description: >- Unique identifier assigned by Mastercard, to identify the payment request in subsequent transactions or services. refundRequestLifecycleId: type: string example: '0123901239100' minLength: 1 maxLength: 35 description: >- Unique identifier assigned by Mastercard, to identify the refund request in subsequent transactions or services. debtor: $ref: '#/components/schemas/DebtorForSRR' RefundRequestStatusRetrievalAck: allOf: - $ref: '#/components/schemas/MessageResponseBlock' - type: object required: - refundRequestStatusRetrievalLifecycleId - retrievalRequestStatus properties: refundRequestStatusRetrievalLifecycleId: type: string example: '111123123123123111' minLength: 1 maxLength: 35 description: >- Unique identifier assigned by Mastercard, to identify the Refund Request Status Retrieval request in subsequent transactions or services. retrievalRequestStatus: type: string example: WFPC minLength: 1 maxLength: 35 description: >- Informs the status of the Retrieval Request. * Refer to Codes and Formats section for more details. AgreementDetailRetrieval: allOf: - $ref: '#/components/schemas/MessageResponseBlock' - type: object required: - confirmationExpiryTimeInterval - creditor - agreement properties: confirmationExpiryTimeInterval: type: number example: 150 description: >- Time window given in seconds within which the Agreement Confirmation must be received by the Mastercard. categoryPurpose: type: string example: EP2M minLength: 1 maxLength: 35 description: >- Set by the Creditor/CSP to offer specific transaction processing. * Refer to Codes and Formats section for more details. creditor: $ref: '#/components/schemas/CreditorAckForAgmtRetrieval' agreement: $ref: '#/components/schemas/AgreementAckForAgmtRetrieval' AgreementListRetrieval: allOf: - $ref: '#/components/schemas/MessageResponseBlock' - type: object properties: agreementList: $ref: '#/components/schemas/AgreementList' AgreementConfirmation: allOf: - $ref: '#/components/schemas/MessageResponseBlock' AgreementAckForAgmtUpdate: allOf: - $ref: '#/components/schemas/MessageResponseBlock' - type: object required: - agreement properties: agreement: $ref: '#/components/schemas/AgreementAckForAgmtUpdate' AgreementAckUpdate: allOf: - $ref: '#/components/schemas/MessageResponseBlock' PaymentRequestDetailRetrieval: allOf: - $ref: '#/components/schemas/MessageResponseBlock' - type: object required: - creditor - debtor - transaction properties: debtor: $ref: '#/components/schemas/DebtorAckForPaymentRetrieval' creditor: $ref: '#/components/schemas/CreditorAckForPaymentRetrieval' transaction: $ref: '#/components/schemas/TransactionAcknowledgement' agreementType: type: string example: AOF minLength: 1 maxLength: 4 description: >- Creditor requesting DSP to display to Debtor to setup Agreement during payment confirmation. * Refer to Codes and Formats section for more details. StepUpNotification: allOf: - $ref: '#/components/schemas/MessageResponseBlock' PaymentConfirmationAdvice: allOf: - $ref: '#/components/schemas/MessageResponseBlock' - type: object required: - paymentRequestLifecycleId - requestStatus properties: paymentRequestLifecycleId: type: string minLength: 1 maxLength: 35 example: '923123123123123100' description: >- Unique identifier assigned by Mastercard, to identify the payment request in subsequent transactions or services. requestStatus: $ref: '#/components/schemas/RequestStatus' agreementStatus: $ref: '#/components/schemas/AgreementStatus' MessageRequestBlock: type: object required: - messageId - creationDateTime - initiatingPartyId - businessType properties: initiatingPartyId: type: string example: '000545' minLength: 1 maxLength: 35 description: Unique identifier of the message sender. messageId: type: string example: 7eab4eab35a542e085add0363a49c035 minLength: 1 maxLength: 35 description: >- A point-to-point unique identifier is assigned to every message by the message initiator. creationDateTime: type: string example: '2020-11-20T06:57:24.465Z' format: date-time description: >- ISO 8601 format date and time in Coordinated Universal Time (UTC) when this message was created. businessType: type: number example: 3 minimum: 1 maximum: 999 description: >- Unique identifier assigned by Mastercard to define the commercial product construct. * Refer to Codes and Formats section for more details. MessageResponseBlock: type: object required: - messageId - creationDateTime - initiatingPartyId - originalMessageId properties: initiatingPartyId: type: string example: ZAPP minLength: 1 maxLength: 35 description: Unique identifier of the message sender. messageId: type: string example: 3bef00e542ec4be583b1b5d449799084 minLength: 1 maxLength: 35 description: >- A point-to-point unique identifier is assigned to every message by the message initiator. creationDateTime: type: string example: '2020-11-20T06:57:24.465Z' format: date-time description: >- ISO 8601 format date and time in Coordinated Universal Time (UTC) when this message was created. originalMessageId: type: string example: 7eab4eab35a542e085add0363a49c035 minLength: 1 maxLength: 35 description: >- Original message identifier generated and sent by the initiator of the request message. Creditor: type: object required: - creditorServiceProviderId - creditorId properties: creditorServiceProviderId: type: string example: '000645' minLength: 1 maxLength: 35 description: Unique identifier assigned to the CSP during Mastercard onboarding. creditorId: type: string example: VerizonoMobile000588 minLength: 1 maxLength: 35 description: Unique identifier assigned to the Creditor by the CSP. CreditorAckForAgmtRetrieval: type: object required: - creditorServiceProviderId - creditorId - creditorTradeName - creditorCategoryCode properties: creditorId: type: string example: VerizonoMobile000588 minLength: 1 maxLength: 35 description: Unique identifier assigned to the Creditor by the CSP. creditorServiceProviderId: type: string example: '000645' minLength: 1 maxLength: 35 description: Unique identifier assigned to the CSP during Mastercard onboarding. creditorTradeName: type: string example: VerizonoMobileLtd minLength: 1 maxLength: 35 description: >- Name used by the Creditor in dealing with customers, which may not be the same as the one it uses for legal purposes. creditorCategoryCode: type: string example: '0742' minLength: 4 maxLength: 4 description: >- The category code of the Creditor, also known as Merchant Category Code (MCC). Enables the classification of Creditors into specific categories based on the type of business, trade or services supplied. creditorLogoUrl: type: string example: https://www.cdn.com/creditorlogourl minLength: 1 maxLength: 512 description: >- Creditor's Logo (in URL encoded format). Can be used by the Debtor to display the Creditor's Logo. creditorReturnString: type: string example: https://www.creditor.com/creditorreturnstring minLength: 1 maxLength: 512 description: >- Return string (in URL encoded format) that is passed to the DSP to return the Debtor back to the Creditor's page. CreditorAckForPaymentRetrieval: type: object required: - creditorId - creditorServiceProviderId - creditorTradeName - creditorCategoryCode properties: creditorId: type: string example: VerizonoMobile000588 minLength: 1 maxLength: 35 description: Unique identifier assigned to the Creditor by the CSP. creditorServiceProviderId: type: string example: '000645' minLength: 1 maxLength: 35 description: Unique identifier assigned to the CSP during Mastercard onboarding. creditorCategoryCode: type: string example: '0742' minLength: 4 maxLength: 4 description: >- The category code of the Creditor, also known as Merchant Category Code (MCC). Enables the classification of Creditors into specific categories based on the type of business, trade or services supplied. creditorTradeName: type: string example: VerizonoMobileLtd minLength: 1 maxLength: 35 description: >- Name used by the Creditor in dealing with customers, which may not be the same as the one it uses for legal purposes. creditorReturnString: type: string example: https://www.creditor.com/creditorreturnstring minLength: 1 maxLength: 512 description: >- Return string (in URL encoded format) that is passed to the DSP to return the Debtor back to the Creditor's page. creditorLogoUrl: type: string example: https://www.cdn.com/creditorlogourl minLength: 1 maxLength: 512 description: >- Creditor's Logo (in URL encoded format). Can be used by the Debtor to display the Creditor's Logo. creditorAccount: type: object required: - accountNumber description: >- Creditor's Account Information. Either the IBAN or account number should be used. This is provided only for Me-to-Me payments. properties: accountNumber: type: string x-guarded-string: 'true' example: '45122351223323' minLength: 1 maxLength: 35 description: >- Unique identifier for each account assigned by a financial institution or wallet provider. For example, IBAN. If sort code or routing number is 451223 and account number is 51223323, then after concatenation, the account number will be 45122351223323. clearingSystem: type: string example: FPS minLength: 1 maxLength: 35 description: >- Creditor or CSP requested real-time settlement method. * Refer to Codes and Formats section for more details. example: example_value creditorAccounts: type: array deprecated: true description: >- Creditor's Account Information. Either of the IBAN or Other account should be used. (This "creditorAccounts" block is deprecated, use "creditorAccount" block) items: type: object properties: iban: type: string x-guarded-string: 'true' example: GB54HBUK60161331926819 minLength: 1 maxLength: 35 description: >- International Bank Account Number to uniquely identify the account. other: type: object description: Unique identification of an account. required: - accountNumber properties: accountNumber: type: string x-guarded-string: 'true' example: '45122351223323' minLength: 1 maxLength: 35 description: >- Unique Identifier for each account assigned by a financial institution. For example, if sort code or routing number is 451223 and account number is 51223323, then after concatenation the account number will be 45122351223323. clearingSystems: type: array items: type: string example: - FPS description: >- Creditor or CSP requested real-time settlement method. * Refer to Codes and Formats section for more details. example: [] AgreementAckForAgmtRetrieval: type: object required: - agreementId - agreementType - agreementStatus properties: agreementId: type: string example: a3e2a749088440eab8b40c926efe2931 minLength: 1 maxLength: 35 description: Unique identifier assigned by Mastercard to the agreement. agreementType: type: string example: AOF minLength: 1 maxLength: 4 description: >- Creditor requesting DSP to display to Debtor to setup Agreement during payment confirmation. * Refer to Codes and Formats section for more details. agreementStatus: type: string example: INPR minLength: 4 maxLength: 4 description: >- Status of the Agreement. * Refer to Codes and Formats section for more details. AgreementList: type: array description: >- An object that has a list of active agreements and details about each agreement that belongs to the Debtor. items: $ref: '#/components/schemas/AgreementListItems' Debtor: type: object required: - debtorId - debtorServiceProviderId properties: debtorId: type: string example: Fxrsi5345 minLength: 1 maxLength: 35 description: Unique identifier of the Debtor provided to Mastercard by the DSP. debtorServiceProviderId: type: string example: '000369' minLength: 1 maxLength: 35 description: Unique identifier assigned to the DSP during Mastercard onboarding. DebtorForSRR: type: object required: - debtorId - debtorServiceProviderId properties: debtorId: type: string example: Fxrsi5345 minLength: 1 maxLength: 35 description: Unique identifier of the Debtor provided to Mastercard by the DSP. debtorServiceProviderId: type: string example: '000369' minLength: 1 maxLength: 35 description: Unique identifier assigned to the DSP during Mastercard onboarding. DebtorAckForPaymentRetrieval: type: object required: - debtorId - debtorServiceProviderId properties: debtorId: type: string example: Fxrsi5345 minLength: 1 maxLength: 35 description: Unique identifier of the Debtor provided to Mastercard by the DSP. debtorServiceProviderId: type: string example: '000369' minLength: 1 maxLength: 35 description: Unique identifier assigned to the DSP during Mastercard onboarding. TransactionForStepUpNotification: type: object required: - paymentRequestLifecycleId - stepUpMessage properties: paymentRequestLifecycleId: type: string example: '923123123123123100' minLength: 1 maxLength: 35 description: >- Unique identifier assigned by Mastercard, to identify the payment request in subsequent transactions or services. stepUpMessage: type: string example: Please go to your Banking App and Authorise the transaction minLength: 1 maxLength: 250 description: >- Text message that DSP will be providing to display to the Debtor on Creditor website or application. applicationUrl: type: string example: zapp://812768758639876189746 minLength: 1 maxLength: 512 description: >- URL that will be used by the Debtor to open the banking app from Creditor's website or application on a single device journey. Creditor should only use this when it's a single device journey. TransactionForPaymentRetrieval: type: object required: - debtorServiceProviderId - debtorId - retrieveInitMethod properties: paymentRequestLifecycleId: type: string example: '923123123123123100' minLength: 1 maxLength: 35 description: >- Unique identifier assigned by Mastercard, to identify the payment request in subsequent transactions or services. debtorId: type: string example: Fxrsi5345 minLength: 1 maxLength: 35 description: Unique identifier of the Debtor provided to Mastercard by the DSP. debtorServiceProviderId: type: string example: '000369' minLength: 1 maxLength: 35 description: Unique identifier assigned to the DSP during Mastercard onboarding. retrieveInitMethod: type: string example: INTENT minLength: 1 maxLength: 30 description: >- Set by DSP to specify Payment Request retrieval initiation method. * Refer to Codes and Formats section for more details. paymentRequestReferenceNumber: type: string example: '789563' minLength: 6 maxLength: 6 description: >- Unique 6 character reference provided by Mastercard to the CSP to be conveyed to the Debtor to make a payment. AgreementForAgmtRetrieval: type: object properties: agreementId: type: string example: a3e2a749088440eab8b40c926efe2931 minLength: 1 maxLength: 35 description: Unique identifier assigned by Mastercard to the agreement. agreementReferenceNumber: type: string example: '122549' minLength: 6 maxLength: 6 description: >- Unique 6 digit reference used by DSP to retrieve the create agreement request. AgreementForAgmtConfirmation: type: object required: - agreementId - agreementStatus properties: agreementId: type: string example: a3e2a749088440eab8b40c926efe2931 minLength: 1 maxLength: 35 description: Unique identifier assigned by Mastercard to the agreement. agreementStatus: type: string example: APPR minLength: 4 maxLength: 4 description: >- Status of the Agreement updated by DSP to either Approved or Rejected or Deleted. * Refer to Codes and Formats section for more details. agreementStatusReason: type: string example: SYSP maxLength: 4 minLength: 4 description: >- Reason for declined agreement. * Refer to Codes and Formats section for more details. accountNickname: type: string x-guarded-string: 'true' example: bankname_account minLength: 1 maxLength: 35 description: Nickname of the account is passed when agreementConfirmed is true. AgreementConForPaymentAdvice: description: Agreement Confirmation from DSP type: object required: - agreementConfirmed properties: agreementConfirmed: type: boolean example: true description: >- Indicates true whether Agreement was confirmed by Debtor. False for any other reasons. agreementStatusReason: type: string example: SYSP maxLength: 4 minLength: 4 description: >- Reason for declined agreement. * Refer to Codes and Formats section for more details. accountNickname: type: string x-guarded-string: 'true' example: bankname_account minLength: 1 maxLength: 35 description: Nickname of the account is passed when agreementConfirmed is true. AgreementForAgmtUpdate: type: object required: - agreementId properties: agreementId: type: string example: a3e2a749088440eab8b40c926efe2931 minLength: 1 maxLength: 35 description: Unique identifier assigned by Mastercard to the agreement. agreementStatus: type: string example: APPR minLength: 4 maxLength: 4 description: >- Status of the Agreement updated by DSP to either Approved or Rejected or Deleted. * Refer to Codes and Formats section for more details. agreementStatusReason: type: string example: SYSP maxLength: 4 minLength: 4 description: >- Reason provided by DSP when agreement status is rejected. * Refer to Codes and Formats section for more details. accountNickname: type: string x-guarded-string: 'true' example: bankname_account minLength: 1 maxLength: 35 description: >- Nickname updated by DSP. Nickname must be supplied when agreement status is Approved. AgreementStatus: type: object required: - agreementId - agreementStatus properties: agreementId: type: string example: a3e2a749088440eab8b40c926efe2931 minLength: 1 maxLength: 35 description: Unique identifier assigned by Mastercard to the agreement. agreementStatus: type: string example: APPR minLength: 4 maxLength: 4 description: >- Status of the Agreement updated by DSP to either Approved or Rejected or Deleted. * Refer to Codes and Formats section for more details. AgreementListItems: type: object required: - creditor - agreement properties: creditor: $ref: '#/components/schemas/CreditorAcknowledgement' agreement: type: object required: - agreementId - agreementStatus - agreementType properties: agreementId: type: string example: a3e2a749088440eab8b40c926efe2931 minLength: 1 maxLength: 35 description: Unique identifier assigned by Mastercard to the agreement. agreementStatus: type: string example: APPR minLength: 4 maxLength: 4 description: >- Status of the Agreement updated by DSP to Approved. * Refer to Codes and Formats section for more details. agreementType: type: string example: AOF minLength: 1 maxLength: 4 description: >- Creditor requesting DSP to display to Debtor to setup Agreement during payment confirmation. * Refer to Codes and Formats section for more details. accountNickname: type: string x-guarded-string: 'true' example: bankname_account minLength: 1 maxLength: 35 description: Nickname of the account. example: example_value CreditorAcknowledgement: type: object required: - creditorId - creditorTradeName properties: creditorId: type: string example: VerizonoMobile000588 minLength: 1 maxLength: 35 description: Unique identifier assigned to the Creditor by the CSP. creditorTradeName: type: string example: VerizonoMobileLtd minLength: 1 maxLength: 35 description: >- Name used by the Creditor in dealing with customers, which may not be the same as the one it uses for legal purposes. creditorLogoUrl: type: string example: https://www.cdn.com/creditorlogourl minLength: 1 maxLength: 512 description: >- Creditor's Logo (in URL encoded format). Can be used by the Debtor to display the Creditor's Logo. TransactionAcknowledgement: type: object required: - endToEndId - instructedAmount - paymentRequestLifecycleId - categoryPurpose - confirmationExpiryTimeInterval - paymentRequestType - instructionId - transactionCreationDateTime - purpose properties: paymentRequestLifecycleId: type: string example: '923123123123123100' minLength: 1 maxLength: 35 description: >- Unique identifier assigned by Mastercard, to identify the payment request in subsequent transactions or services. endToEndId: type: string example: 7jhg5eab35a542e085add0363a4423o6 minLength: 1 maxLength: 35 description: >- Unique identifier assigned by Creditor to identify Payment Request in their system. instructionId: type: string example: 98dj4eab35a542e085add0363a40jk564 minLength: 1 maxLength: 60 description: >- Unique identifier for the transaction assigned by the transaction initiator (CSP). accountServicerReference: type: string example: '12254935976349875' minLength: 1 maxLength: 35 description: >- Unique identifier assigned by Mastercard, to identify a particular payment (also referred to as settlement identifier) associated with a Payment Request. reconId: type: string example: RECON1201202201 minLength: 1 maxLength: 15 description: Reconciliation identifier assigned by Mastercard to the transaction. confirmationExpiryTimeInterval: type: number example: 150 description: >- Time window given in seconds within which the Payment Confirmation must be received by the Mastercard. paymentRequestType: type: string example: IMDT minLength: 4 maxLength: 4 description: >- Set by the Creditor/CSP to define the settlement type of the Payment Request. * Refer to Codes and Formats section for more details. transactionCreationDateTime: type: string format: date-time example: '2020-11-20T06:57:24.465Z' description: >- ISO 8601 format date and time in Coordinated Universal Time (UTC) the Payment Request was created. instructedAmount: description: >- The total amount of the payment request, as specified by the Creditor. allOf: - $ref: '#/components/schemas/Amount' example: example_value purpose: type: string example: ONLN minLength: 1 maxLength: 35 description: >- Set by Creditor/CSP to indicate the Payment Request type. * Refer to Codes and Formats section for more details. categoryPurpose: type: string example: PYMT minLength: 1 maxLength: 35 description: >- Set by the Creditor/CSP to offer specific transaction processing. * Refer to Codes and Formats section for more details. restriction: type: string example: 18PLUS minLength: 1 maxLength: 30 description: >- Set by the Creditor/CSP to communicate any restrictions to be verified by DSP before payment authorization. * Refer to Codes and Formats section for more details. creditAccountAllowed: type: boolean example: true description: Indicator to specify Credit account can be used for the payment. strongCustomerAuthentication: type: boolean example: true description: >- Indicates a request from Creditor to DSP to step-up authentication for the transaction. Amount: required: - currency - value type: object properties: currency: type: string example: GBP maxLength: 3 minLength: 3 description: ISO 4217 code for Currency. value: type: number example: 100.25 description: Amount value. Status: type: object required: - transactionStatus properties: transactionStatus: type: string example: RJCT maxLength: 4 minLength: 4 description: >- Status of the transaction. * Refer to Codes and Formats section for more details. transactionStatusReason: type: string example: FRDS maxLength: 4 minLength: 4 description: >- Reason for declined transaction. * Refer to Codes and Formats section for more details. Payment: type: object required: - paymentReference - clearingSystem - paymentDateTime - paymentAmount properties: paymentReference: type: string minLength: 1 maxLength: 42 example: y18dvGsj3GJ57Tt description: >- Unique Payment Reference of the real time settlement method provided by DSP. clearingSystem: type: string minLength: 1 maxLength: 35 example: FPS description: >- Creditor or CSP requested real-time settlement method. * Refer to Codes and Formats section for more details. paymentDateTime: type: string format: date-time example: '2020-11-20T06:57:24.465Z' description: >- ISO 8601 format date and time in Coordinated Universal Time (UTC), when real time settlement is initiated. paymentAmount: description: >- The actual amount that has been transferred from the Debtor to the Creditor. allOf: - $ref: '#/components/schemas/Amount' example: example_value RequestStatus: type: object required: - paymentRequestStatus properties: paymentRequestStatus: type: string example: RJCT maxLength: 4 minLength: 4 description: >- Status of the Payment Request returned by Mastercard. * Refer to Codes and Formats section for more details. ErrorWrapper: description: A top level object for errors. type: object required: - Errors properties: Errors: $ref: '#/components/schemas/Errors' Errors: description: Object that contains the list of errors. type: object required: - Error properties: Error: $ref: '#/components/schemas/ErrorList' ErrorList: description: The list of errors. type: array minItems: 1 items: $ref: '#/components/schemas/Error' Error: description: A single error. type: object properties: Source: type: string example: ZAPP description: Source of the error. ReasonCode: type: string example: STVL-9999 description: Error Code Description: type: string example: Invalid structure description: Error Description. Recoverable: type: boolean example: false description: Boolean value to specify if error is recoverable or not. Details: type: string example: Invalid structure description: Optional details of the error.