swagger: '2.0' info: title: Mastercard Bill Payment Validator Account Opening Donations API description: This service is provided on behalf of the Mastercard Remote Payment and Presentment (RPPS) Bill Payment Processing Network, which supports consumer to business "push" bill payments (i.e. those which are not funded by debit/credit card transactions) in the U.S. version: '1.0' x-artifactId: billpay-api contact: name: Bill Pay Development Support email: Bill_Pay_Development_Support@mastercard.com host: sandbox.api.mastercard.com basePath: /billpayAPI/v1 schemes: - https consumes: - application/json produces: - application/json tags: - name: Donations paths: /donors/{donor_id}/setups/{donation_setup_id}: get: tags: - Donations summary: Get Recurring Donation description: Retrieve donation setup details by setupid operationId: retriveDonationSetupByIdUsingGET parameters: - $ref: '#/components/parameters/ClientId' - $ref: '#/components/parameters/CorrelationId' - $ref: '#/components/parameters/ProgramId' - $ref: '#/components/parameters/DonationSetup' - $ref: '#/components/parameters/Donor' responses: '200': $ref: '#/components/responses/RetrieveDonateSetUpDetails' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' deprecated: false put: tags: - Donations summary: Update Recurring Donation description: Update Monthly, Micro or Round-up donation for a registered user. Encrypting request body is not required. operationId: updateDonationSetupUsingPUT parameters: - $ref: '#/components/parameters/ClientId' - $ref: '#/components/parameters/CorrelationId' - $ref: '#/components/parameters/ProgramId' - $ref: '#/components/parameters/DonationSetup' - $ref: '#/components/parameters/Donor' requestBody: $ref: '#/components/requestBodies/DonateSetupUpdate' responses: '200': $ref: '#/components/responses/DonateSetup' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' deprecated: false delete: tags: - Donations summary: Delete Recurring Donation description: Delete Monthly, Micro or Round-up donation for a registered user operationId: deleteDonationSetupUsingDELETE parameters: - $ref: '#/components/parameters/ClientId' - $ref: '#/components/parameters/CorrelationId' - $ref: '#/components/parameters/ProgramId' - $ref: '#/components/parameters/DonationSetup' - $ref: '#/components/parameters/Donor' responses: '204': $ref: '#/components/responses/NoContent' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' deprecated: false /donations/non-ma/setup/cards: get: tags: - Donations summary: Get All Non Mastercard Brand Cards API description: This API is used by the API consumer to download all their Non-Mastercard registered cards. operationId: fetchDonationNonMA parameters: - $ref: '#/components/parameters/ClientId' - name: x-correlation-id in: header description: CorrelationId is a unique donation request ID. It is recommended to pass the x-correlation-id by the customer and to use the format "bankname_UUID" (bank name can be indicated using the first 4 digits). Maximum length of this field should be 100 alphanumeric characters. If not passed, Mastercard will generate it. ***Note:*** If there is a timeout when doing the guest api call, it is important to redo the same api call with same x-correlation-id to get the status of the previous api call required: false schema: type: string example: 03f8c4e8-8bdc-4a30-a2b4-b6f989e96ca3 - $ref: '#/components/parameters/ProgramId' responses: '200': $ref: '#/components/responses/RetrieveNonMABrandCards' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error-InvalidProgramId' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error-InternalServerError' deprecated: false /donations/transactions: get: tags: - Donations summary: Donation Transaction Status description: This API can retrieve the status of a particular donation transaction by passing the respective transaction Id or correlation Id. To retrieve the transaction status, donor need to provide either the `transactionId` or `correlationId` or both as query parameters. In case both parameters are passed, transaction Id value takes precedence over correlation Id. operationId: fetchDonationTransactionStatusGET parameters: - $ref: '#/components/parameters/ClientId' - name: transactionId in: query description: TransactionId is a unique identifier for the donation at Mastercard Donate platform. It is recommended to pass the transactionId as query parameter by the customer while retrieving its status. If correlation Id not passed as query parameter, then this field becomes mandatory. required: false schema: type: string example: OTimfp86SL6Q7eaRRh2KfA - name: correlationId in: query description: CorrelationId is a unique donation request ID. It is recommended to pass the x-correlation-id by the customer while retrieving the donation transaction status. If transaction Id not passed as query parameter, then this field becomes mandatory. required: false schema: type: string example: 03f8c4e8-8bdc-4a30-a2b4-b6f989e96ca3 responses: '200': $ref: '#/components/responses/RetrieveTransactionStatus' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error-DonationTransactionStatus' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error-InternalServerError' deprecated: false /donations/program/{programId}/transactions: post: tags: - Donations summary: Program Transaction History API description: Get Program Transaction History Details based on retrieves a list of donation transactions by programId in a given timeframe."cardID", "charityID" and "donationType" are optional fields. If a Micro donation is setup, it won't show up in Program Transaction History until the end of the month when the transaction happen. Encrypting request body is not required. operationId: getProgramTransactionHistoryUsingPOST parameters: - $ref: '#/components/parameters/ClientId' - $ref: '#/components/parameters/CorrelationId' - $ref: '#/components/parameters/Programid' - $ref: '#/components/parameters/donorId' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Offset' requestBody: $ref: '#/components/requestBodies/ProgramTransactionHistoryRequest' responses: '200': $ref: '#/components/responses/ProgramTransactionHistoryPaged' '201': $ref: '#/components/responses/Created' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '415': $ref: '#/components/responses/Unsupported' '500': $ref: '#/components/responses/InternalServerError' deprecated: false /donations/non-ma/transactions: post: tags: - Donations summary: Upload Non Mastercard Brand Card transactions API description: This API is to be used by API Consumer to upload the non-Mastercard transactions details to the Donate Platform. operationId: uploadDonationNonMA parameters: - $ref: '#/components/parameters/ClientId' - $ref: '#/components/parameters/ProgramId' - name: x-correlation-id in: header description: CorrelationId is a unique donation request ID. It is recommended to pass the x-correlation-id by the customer and to use the format "bankname_UUID" (bank name can be indicated using the first 4 digits). Maximum length of this field should be 100 alphanumeric characters. If not passed, Mastercard will generate it. ***Note:*** If there is a timeout when doing the guest api call, it is important to redo the same api call with same x-correlation-id to get the status of the previous api call required: false schema: type: string example: 03f8c4e8-8bdc-4a30-a2b4-b6f989e96ca3 requestBody: $ref: '#/components/requestBodies/UploadNonMACardTrxRequest' responses: '200': $ref: '#/components/responses/UploadNonMACardTrxResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error-IncorrectNonMACardTransactionData' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error-InternalServerError' deprecated: false /donations/record: post: tags: - Donations summary: Record API description: This API is used to store all external donations. Entire request body should be encrypted. operationId: recordApi parameters: - $ref: '#/components/parameters/ClientId' - name: x-correlation-id in: header description: CorrelationId is a unique donation request ID. It is recommended to pass the x-correlation-id by the customer and to use the format "bankname_UUID" (bank name can be indicated using the first 4 digits). Maximum length of this field should be 100 alphanumeric characters. If not passed, Mastercard will generate it. ***Note:*** If there is a timeout when doing the guest api call, it is important to redo the same api call with same x-correlation-id to get the status of the previous api call required: false schema: type: string example: 03f8c4e8-8bdc-4a30-a2b4-b6f989e96ca3 requestBody: $ref: '#/components/requestBodies/RecordApi' responses: '200': $ref: '#/components/responses/RecordApiResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error-Record' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '415': $ref: '#/components/responses/Unsupported' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error-InternalServerError' deprecated: false components: requestBodies: ProgramTransactionHistoryRequest: description: ProgramTransactionHistoryRequest content: application/json: schema: $ref: '#/components/schemas/ProgramTransactionHistory' required: true UploadNonMACardTrxRequest: description: uploadNonMATransactions content: application/json: schema: $ref: '#/components/schemas/UploadNonMACardTrxRequest' required: false RecordApi: description: recordApiRequest content: application/json: schema: $ref: '#/components/schemas/RecordApi' required: false DonateSetupUpdate: description: donateSetupUpdateRequest content: application/json: schema: $ref: '#/components/schemas/DonateSetupUpdate' required: false schemas: RetrieveDonateSetUpDetails: type: object properties: amount: type: string example: '11' minLength: 1 maxLength: 10 description: Fixed amount incase of Monthly and Per Real-Transaction incase of Micro cardId: type: string minLength: 36 maxLength: 36 description: Card Id example: ebee3d81-18d4-409a-8330-73db083f2cfc charityId: type: string minLength: 36 maxLength: 36 example: ae3c5f35-084a-4df9-a2af-7e0efd512fc0 format: uuid description: Charity Id donationSetupId: type: string minLength: 36 maxLength: 36 example: 4a520af0-8e47-44cd-8925-9f3ecd09baff format: uuid description: Donation SetupId donationType: type: string example: Micro minLength: 3 maxLength: 20 description: Can be either Micro or Monthly donorId: type: string minLength: 36 maxLength: 36 example: 652ce9ff-fa5f-4e9f-8151-c73fa20088f7 format: uuid description: Valid UUID. maxCap: type: string example: '50' minLength: 1 maxLength: 10 description: Max limit is applicable only for Micro Donations setupStatus: type: string example: ACTIVE minLength: 3 maxLength: 20 description: Can be ACTIVE / DELETED / INACTIVE title: RetrieveDonateSetUpDetailsResponse Error-415: type: object required: - Errors properties: Errors: type: object required: - Error description: Contains all errors caused properties: Error: type: array description: Only returned in the event of an authorization is failed. items: type: object properties: Source: type: string example: DONATE_SERVICE description: The application that generated this error ReasonCode: type: string example: UNSUPPORTED_CONTENT_TYPE description: A unique constant identifying the error case encountered during API processing Description: type: string example: The request Content-Type () is not supported for this service description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: 'null' description: Where appropriate, indicates detailed information about data received and calculated during request processing. 3ds2: type: object required: - transactionStatus properties: transactionStatus: type: string example: Y minLength: 1 maxLength: 1 description: Status of Transaction (recommended - Y) protocolVersion: type: string example: 2.2.2 minLength: 5 maxLength: 20 description: Protocol Version description: Required If authPayerResponse object is passed, only for MPGS. Error-InternalServerError: type: object required: - Errors properties: Errors: type: object required: - Error description: Contains all errors caused properties: Error: type: array description: Only returned in the event of an authorization is failed. items: type: object properties: Source: type: string example: DONATE_SERVICE description: The application that generated this error ReasonCode: type: string example: INTERNAL_SERVER_ERROR description: A unique constant identifying the error case encountered during API processing Description: type: string example: An error occurred on the server. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: 'null' description: Where appropriate, indicates detailed information about data received and calculated during request processing. Error-IncorrectNonMACardTransactionData: type: object required: - Errors properties: Errors: type: object required: - Error properties: Error: type: array description: Only returned in the event of an error condition. items: type: object properties: Source: type: string example: DONATE_SERVICE description: The application that generated this error ReasonCode: type: string example: INVALID_REQUEST_PARAMETER description: A unique constant identifying the error case encountered during API processing Description: type: string example: One of the request parameters is invalid, try again with the correct request. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: - currencyCode, Currency code cannot be empty description: Where appropriate, indicates detailed information about data received and calculated during request processing. Error-DonationTransactionStatus: type: object required: - Errors properties: Errors: type: object required: - Error properties: Error: type: array description: Only returned in the event of an error condition. items: type: object properties: Source: type: string example: DONATE_SERVICE description: The application that generated this error ReasonCode: type: string example: INVALID_TXN_OR_CORRELATION_ID description: A unique constant identifying the error case encountered during API processing Description: type: string example: No record found in DB. Please verify client-id/transactionId/correlationId passed in the request and re-try. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: null description: Where appropriate, indicates detailed information about data received and calculated during request processing. CardItems: type: object properties: card_id: type: string example: 908c0a3c-f258-4313-9f5b-83b6cc058692 minLength: 36 maxLength: 36 description: Card Id pan: type: string example: 371449******8431 minLength: 16 maxLength: 16 description: The Masked Primary Account Number (PAN) title: CardItems Customer: type: object required: - customerName - isoCountryCode properties: customerName: type: string example: Amazon minLength: 5 maxLength: 255 description: Customer Name isoCountryCode: type: string example: USA minLength: 3 maxLength: 3 description: ISO Country Code locale: type: string example: en minLength: 2 maxLength: 10 description: Locale title: Customer Error-401: type: object required: - Errors properties: Errors: type: object required: - Error description: Contains all errors caused due to authorization failure properties: Error: type: array description: Only returned in the event of an authorization is failed. items: type: object properties: Source: type: string example: Gateway description: The application that generated this error ReasonCode: type: string example: AUTHENTICATION_FAILED description: A unique constant identifying the error case encountered during API processing Description: type: string example: OAuth signatures did not match. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: 'null' description: Where appropriate, indicates detailed information about data received and calculated during request processing. Error-Record: type: object required: - Errors properties: Errors: type: object required: - Error properties: Error: type: array description: Only returned in the event of an error condition. items: type: object properties: Source: type: string example: DONATE_SERVICE description: The application that generated this error ReasonCode: type: string example: DUPLICATE_RECORD_FOUND description: A unique constant identifying the error case encountered during API processing Description: type: string example: Record already exists. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: null description: Where appropriate, indicates detailed information about data received and calculated during request processing. Authentication: type: object properties: 3ds: $ref: '#/components/schemas/3ds' 3ds2: $ref: '#/components/schemas/3ds2' Error-403: type: object required: - Errors properties: Errors: type: object required: - Error description: Contains all errors caused due to forbidden requests properties: Error: type: array description: Only returned in the event of forbidden request. items: type: object properties: Source: type: string example: Gateway description: The application that generated this error ReasonCode: type: string example: INVALID_KEY description: A unique constant identifying the error case encountered during API processing Description: type: string example: The signing certificate is not valid. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: 'null' description: Where appropriate, indicates detailed information about data received and calculated during request processing. ProgramTransactionHistoryPaged: type: object properties: limit: type: integer example: 25 format: int32 minLength: 1 maxLength: 5 description: Limit offset: type: integer example: 10 format: int32 minLength: 1 maxLength: 10 description: Offset totalTransactions: type: integer example: 60 format: int64 minLength: 1 maxLength: 10 description: Total Transactions filteredTransactions: type: integer example: 60 format: int64 minLength: 1 maxLength: 10 description: Filtered Transactions realTimeTransaction: $ref: '#/components/schemas/PagedResult_RealTimeTransaction_ProgramTransactionHistoryResponse_' recurringTransaction: $ref: '#/components/schemas/PagedResult_RecurringTransaction_ProgramTransactionHistoryResponse_' title: ProgramTransactionHistoryPaged Partner: type: object required: - partnerName - isoCountryCode properties: partnerName: type: string example: Verestro minLength: 5 maxLength: 255 description: Partner Name isoCountryCode: type: string example: USA minLength: 3 maxLength: 3 description: ISO Country Code locale: type: string example: en minLength: 2 maxLength: 10 description: Locale title: Partner Error-201: type: object required: - Errors properties: Errors: type: object required: - Error description: Contains all errors caused properties: Error: type: array description: Only returned in the event of an authorization is failed. items: type: object properties: Source: type: string example: Gateway description: The application that generated this error ReasonCode: type: string example: CREATED description: A unique constant identifying the error case encountered during API processing Description: type: string example: OAuth signatures did not match. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: 'null' description: Where appropriate, indicates detailed information about data received and calculated during request processing. AuthPayerResponse: type: object properties: authentication: $ref: '#/components/schemas/Authentication' PagedResult_RealTimeTransaction_ProgramTransactionHistoryResponse_: type: object properties: items: type: array description: Items items: $ref: '#/components/schemas/DonationHistoryRes' limit: type: integer example: 25 format: int32 minLength: 1 maxLength: 5 description: Limit offset: type: integer example: 10 format: int32 minLength: 1 maxLength: 10 description: Offset totalItems: type: integer example: 60 format: int64 minLength: 1 maxLength: 10 description: Total Items title: PagedResult�ProgramTransactionHistoryResponse� description: ONE-TIME or Monthly transactions will be returned in list,because for monthly setup one real time transaction happens and then monthly donation is started ProgramTransactionHistory: type: object required: - fromDate - toDate properties: cardId: type: string example: ebee3d81-18d4-409a-8330-73db083f2cfc minLength: 36 maxLength: 36 description: Card Id (UUID) charityId: type: string example: ae3c5f35-084a-4df9-a2af-7e0efd512fc0 minLength: 36 maxLength: 36 description: Charity Id (UUID) donorId: type: string minLength: 36 maxLength: 36 example: 652ce9ff-fa5f-4e9f-8151-c73fa20088f7 format: uuid description: Valid UUID. donationType: type: string example: Micro minLength: 5 maxLength: 20 description: Donation Type fromDate: type: string example: '2019-02-25' minLength: 10 maxLength: 10 description: From Date toDate: type: string example: '2020-02-25' minLength: 10 maxLength: 10 description: To Date transactionStatus: type: string example: SUCCESS minLength: 3 maxLength: 30 description: Transaction Status limit: type: integer example: 25 format: int32 minLength: 1 maxLength: 5 description: Limit offset: type: integer example: 10 format: int32 minLength: 1 maxLength: 10 description: Offset title: ProgramTransactionHistory DonateSetup: type: object properties: donationSetupId: type: string example: 4a520af0-8e47-44cd-8925-9f3ecd09baff format: uuid minLength: 36 maxLength: 36 description: Donation SetupId donorId: type: string minLength: 36 maxLength: 36 example: 652ce9ff-fa5f-4e9f-8151-c73fa20088f7 format: uuid description: Valid UUID. setupStatus: type: string example: ACTIVE minLength: 5 maxLength: 20 description: Can be ACTIVE / DELETED / INACTIVE transactionId: type: string example: 3311e859-3ee4-4155-a640-8cae447c27ca minLength: 36 maxLength: 36 description: Generated upon successful donation setup. transactionMessage: type: string example: Transaction APPROVED. minLength: 3 maxLength: 30 description: Message for donation setup transaction. transactionStatus: type: string example: SUCCESS minLength: 3 maxLength: 30 description: Status of transaction. title: DonateSetupResponse DonationHistoryRes: type: object properties: amount: type: number format: double example: 11 minLength: 1 maxLength: 20 description: Amount cardId: type: string example: ebee3d81-18d4-409a-8330-73db083f2cfc minLength: 36 maxLength: 36 description: Card Id (UUID) charityId: type: string example: ae3c5f35-084a-4df9-a2af-7e0efd512fc0 minLength: 36 maxLength: 36 description: Charity Id (UUID) charityName: type: string example: WFP minLength: 3 maxLength: 30 description: Charity Name clientId: type: string example: 0a7e433a-63fc-4557-8cf4 minLength: 3 maxLength: 30 description: Client Id currency: type: string example: USD minLength: 3 maxLength: 3 description: Currency date: type: string example: '2021-09-03' format: date minLength: 10 maxLength: 10 description: Date donationType: type: string example: Micro minLength: 5 maxLength: 20 description: Donation Type donorId: type: string example: 652ce9ff-fa5f-4e9f-8151-c73fa20088f7 minLength: 36 maxLength: 36 description: Donor Id (UUID) orderId: type: string example: 5dfa4509-1bf2-425b-965b-d44dd11f5f95 minLength: 36 maxLength: 36 description: Order Id paymentNetwork: type: string example: mastercard minLength: 3 maxLength: 30 description: Payment Network primaryAccountNumberSuffix: type: string example: '3538' minLength: 4 maxLength: 4 description: PAN Suffix programId: type: string example: 80380ef2-5037-4e57-86bf-1bdd1efb0ae2 minLength: 36 maxLength: 36 description: Program Id (UUID) transactionId: type: string example: 3311e859-3ee4-4155-a640-8cae447c27ca minLength: 36 maxLength: 36 description: Transaction Id transactionStatus: type: string example: SUCCESS minLength: 3 maxLength: 30 description: Transaction Status updatedDate: type: string example: '2021-09-14' format: date minLength: 10 maxLength: 10 description: Updated Date title: DonationHistoryResponse Transactions: type: object required: - transactionId - transactionDate - amount properties: transactionId: type: string example: 3311e859-3ee4-4155-a640-8cae447c27ca minLength: 36 maxLength: 36 description: Transaction Id transactionDate: type: string example: '2021-09-03' format: date minLength: 10 maxLength: 10 description: Date of the transaction amount: type: string example: 50 minLength: 3 maxLength: 30 description: Transaction amount title: Transactions RecordApi: type: object required: - partner - transactionDate - transactionId - currency - amount - charityName properties: partner: $ref: '#/components/schemas/Partner' customer: $ref: '#/components/schemas/Customer' merchant: $ref: '#/components/schemas/Merchant' transactionDate: type: string example: '2022-06-28T10:50:10.000Z' format: yyyy-MM-dd HH:mm:ss description: Transaction Date(yyyy-MM-dd HH:mm:ss) transactionId: type: string example: Td-123567810 minLength: 10 maxLength: 255 description: transactionId campaignId: type: string example: CampId12345 minLength: 10 maxLength: 255 description: campaignId currency: type: string example: dollar minLength: 4 maxLength: 10 description: currency amount: type: string example: '51' minLength: 1 maxLength: 10 description: amount cardScheme: type: string example: Mastercard minLength: 4 maxLength: 20 description: cardScheme charityId: type: string example: CId-12345 minLength: 10 maxLength: 50 description: charityId charityName: type: string example: Happy Smiles minLength: 5 maxLength: 255 description: charityName donationType: type: string example: Micro minLength: 5 maxLength: 20 description: donationType title: RecordApiRequest Error-InvalidProgramId: type: object required: - Errors properties: Errors: type: object required: - Error properties: Error: type: array description: Only returned in the event of an error condition. items: type: object properties: Source: type: string example: DONATE_SERVICE description: The application that generated this error ReasonCode: type: string example: INVALID_PROGRAM_ID description: A unique constant identifying the error case encountered during API processing Description: type: string example: Invalid Program ID, it must be a valid UUID. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: null description: Where appropriate, indicates detailed information about data received and calculated during request processing. RetrieveNonMABrandCards: type: object properties: totalItems: type: integer example: 1 format: int64 minLength: 1 maxLength: 10 description: Total number of items items: type: array description: Card items items: $ref: '#/components/schemas/CardItems' title: RetrieveNonMABrandCards DonateSetupUpdate: type: object required: - amount properties: amount: type: string example: '5' minLength: 1 maxLength: 20 description: Fixed amount incase of Monthly and Per Real-Transaction incase of Micro maxCap: type: string example: '50' minLength: 1 maxLength: 20 description: Max limit is applicable only for Micro Donations authPayerResponse: $ref: '#/components/schemas/AuthPayerResponse' title: DonateSetupUpdateRequest RetrieveTransactionStatus: type: object properties: transactionId: type: string example: OTimfp86SL6Q7eaRRh2KfA minLength: 22 maxLength: 22 description: Transaction Id transactionStatus: type: string example: SUCCESS minLength: 5 maxLength: 20 description: Transaction Status transactionMessage: type: string example: Transaction APPROVED. minLength: 3 maxLength: 30 description: Transaction Message title: RetrieveTransactionStatus Merchant: type: object properties: merchantId: type: string example: 5077f7d84 minLength: 5 maxLength: 50 description: Merchant Id merchantName: type: string example: Santander minLength: 5 maxLength: 255 description: Merchant Name title: Merchant Error-404: type: object required: - Errors properties: Errors: type: object required: - Error description: Contains all errors caused due to resource not found properties: Error: type: array description: Only returned in the event of an resource not found. items: type: object properties: Source: type: string example: Gateway description: The application that generated this error ReasonCode: type: string example: NOT_FOUND description: A unique constant identifying the error case encountered during API processing Description: type: string example: The signing certificate is not valid. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: 'null' description: Where appropriate, indicates detailed information about data received and calculated during request processing. 3ds: type: object required: - authenticationToken - transactionId - version properties: acsEci: type: string example: 2 minLength: 1 maxLength: 2 description: ascEci authenticationToken: type: string example: kHyn+7YFi1EUAREAAAAvNUe6Hv8= minLength: 28 maxLength: 32 description: Authentication Token transactionId: type: string example: 9f343e5d-fc28-4818-88d4-17a35fb7dea9 minLength: 36 maxLength: 36 description: transaction ID (UUID) version: type: string example: 1.0.2 minLength: 5 maxLength: 20 description: version description: Required If authPayerResponse object is passed. UploadNonMACardTrxRequest: type: object required: - currencyCode - transactionsSummary properties: currencyCode: type: string example: USD minLength: 3 maxLength: 3 description: Currency transactionsSummary: $ref: '#/components/schemas/TransactionsSummary' title: UploadNonMACardTrxRequest UploadNonMACardResponse: type: string example: '{Data load for Non MA Card Transactions is success.}' TransactionsSummary: type: object required: - card_id - card_brand - transactions properties: card_id: type: string example: 79bfa3d3-235a-4985-8137-447849fe797d minLength: 3 maxLength: 20 description: Card Id card_brand: type: string example: VISA minLength: 3 maxLength: 3 description: Card Brand transactions: $ref: '#/components/schemas/Transactions' title: TransactionsSummary PagedResult_RecurringTransaction_ProgramTransactionHistoryResponse_: type: object properties: items: type: array description: Items items: $ref: '#/components/schemas/DonationHistoryRes' limit: type: integer example: 25 format: int32 minLength: 1 maxLength: 5 description: Limit offset: type: integer example: 10 format: int32 minLength: 1 maxLength: 10 description: Offset totalItems: type: integer example: 60 format: int64 minLength: 1 maxLength: 10 description: Total Items title: PagedResult�ProgramTransactionHistoryResponse� description: All Micro OR Monthly transactions will be returned in list Error-500: type: object required: - Errors properties: Errors: type: object required: - Error description: Contains all errors caused due to server error properties: Error: type: array description: Only returned in the event of an server issue. items: type: object properties: Source: type: string example: DONATE_SERVICE description: The application that generated this error ReasonCode: type: string example: PROGRAM_ID_NOT_FOUND description: A unique constant identifying the error case encountered during API processing Description: type: string example: Program id is required as this client is mapped to multiple programs. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: 'null' description: Where appropriate, indicates detailed information about data received and calculated during request processing. Error: type: object required: - Errors properties: Errors: type: object required: - Error properties: Error: type: array description: Only returned in the event of an error condition. items: type: object properties: Source: type: string example: DONATE_SERVICE description: The application that generated this error ReasonCode: type: string example: DONOR_ID_INVALID description: A unique constant identifying the error case encountered during API processing Description: type: string example: Invalid donorId, it must be a valid UUID. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: Provided donorId is not valid, Please check and provide valid Unique Id. description: Where appropriate, indicates detailed information about data received and calculated during request processing. responses: Forbidden: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error-403' DonateSetup: description: Success content: application/json: schema: $ref: '#/components/schemas/DonateSetup' RetrieveNonMABrandCards: description: Success content: application/json: schema: $ref: '#/components/schemas/RetrieveNonMABrandCards' Created: description: The specified resource was created content: application/json: schema: $ref: '#/components/schemas/Error-201' RetrieveTransactionStatus: description: Success content: application/json: schema: $ref: '#/components/schemas/RetrieveTransactionStatus' examples: SUCCESS: $ref: '#/components/examples/oneTimePaymentSuccess' FAILURE: $ref: '#/components/examples/oneTimePaymentFail' Unauthorized: description: Unauthorised content: application/json: schema: $ref: '#/components/schemas/Error-401' RecordApiResponse: description: Success InternalServerError: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error-500' Unsupported: description: Unsupported Content Type content: application/json: schema: $ref: '#/components/schemas/Error-415' NotFound: description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/Error-404' RetrieveDonateSetUpDetails: description: Success content: application/json: schema: $ref: '#/components/schemas/RetrieveDonateSetUpDetails' BadRequest: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' ProgramTransactionHistoryPaged: description: Success content: application/json: schema: $ref: '#/components/schemas/ProgramTransactionHistoryPaged' examples: success: $ref: '#/components/examples/ProgramTransactionHistoryPagedExample' NoContent: description: The Setup is successfully deleted. UploadNonMACardTrxResponse: description: Success content: application/json: schema: $ref: '#/components/schemas/UploadNonMACardResponse' parameters: ClientId: name: x-openapi-clientid in: header description: ClientId is a unique and a mandatory ID shared while creating a project on Mastercard Developers Portal. required: true schema: type: string example: 0a7e433a-63fc-4557-8cf4 Limit: name: limit in: query description: limit required: false schema: type: integer format: int32 example: 25 ProgramId: name: ProgramId in: header description: ProgramId is an optional field, but if a client has more than one program associated to it, then this field becomes mandatory. required: false schema: type: string example: 80380ef2-5037-4e57-86bf-1bdd1efb0ae2 Offset: name: offset in: query description: offset required: false schema: type: integer format: int32 example: 10 Donor: name: donor_id in: path description: donor_id required: true schema: type: string example: 652ce9ff-fa5f-4e9f-8151-c73fa20088f7 donorId: name: donor_id in: query description: Donor required: false schema: type: integer example: 652ce9ff-fa5f-4e9f-8151-c73fa20088f7 DonationSetup: name: donation_setup_id in: path description: donation_setup_id required: true schema: type: string example: 4a520af0-8e47-44cd-8925-9f3ecd09baff Programid: name: ProgramId in: header description: ProgramId is an required field. required: true schema: type: string example: 80380ef2-5037-4e57-86bf-1bdd1efb0ae2 CorrelationId: name: x-correlation-id in: header description: CorrelationId is a unique donation request ID. It is recommended to pass the x-correlation-id by the customer and to use the format "bankname_UUID" (bank name can be indicated using the first 4 digits). Maximum length of this field should be 100 alphanumeric characters. If not passed, Mastercard will generate it. required: false schema: type: string example: 03f8c4e8-8bdc-4a30-a2b4-b6f989e96ca3 examples: oneTimePaymentSuccess: summary: Payment success value: transactionId: OTBVMrlAQa6Ecl7PlKSDyw transactionStatus: SUCCESS transactionMessage: Transaction APPROVED ProgramTransactionHistoryPagedExample: value: limit: 2000, offset: 0, totalTransactions: 602, filteredTransactions: 4, realTimeTransaction: totalTransactions: 137, filteredTransactions: 3, transactions: - charityName: Save the Children, primaryAccountNumberSuffix: 1111, donationType: ONE-TIME, date: 2022-11-07, updatedDate: 2022-11-07, amount: 10.0, currency: EUR, paymentNetwork: null, clientId: 4dG5GoNZizSe_hDkUULGvYoaK9jmbEZsQbGxg-CA7fca22dc, programId: da28a815-fd25-4df4-8b60-1a735d81e473, donorId: 10d212f0-198e-466e-8d9b-ac26746f7fb4, cardId: d518967d-2b76-4d83-8fad-b9c43cdba076, charityId: 9a2e0ca5-e574-440e-af0a-5f58c035d7e8, transactionId: OTrPjQjNS3SC0d-BCPeb1Q, orderId: 84b57c00-63b8-4392-afc6-a1286f02ccd8, transactionStatus: FAILURE - charityName: Save the Children, primaryAccountNumberSuffix: 0019, donationType: ONE-TIME, date: 2022-11-07, updatedDate: 2022-11-07, amount: 40.0, currency: EUR, paymentNetwork: null, clientId: 4dG5GoNZizSe_hDkUULGvYoaK9jmbEZsQbGxg-CA7fca22dc, programId: da28a815-fd25-4df4-8b60-1a735d81e473, donorId: 10d212f0-198e-466e-8d9b-ac26746f7fb4, cardId: 2bd45372-c4cb-4cd2-8d20-9ac0b7f51e2f, charityId: 9a2e0ca5-e574-440e-af0a-5f58c035d7e8, transactionId: OTtgadqNSrmybjRx6f9GmA, orderId: e0002e19-90de-422a-bac2-3001f4bd13ac, transactionStatus: SUCCESS - charityName: Save the Children, primaryAccountNumberSuffix: 0007, donationType: ONE-TIME, date: 2022-11-07, updatedDate: 2022-11-07, amount: 100.0, currency: EUR, paymentNetwork: mastercard, clientId: 4dG5GoNZizSe_hDkUULGvYoaK9jmbEZsQbGxg-CA7fca22dc, programId: da28a815-fd25-4df4-8b60-1a735d81e473, donorId: 10d212f0-198e-466e-8d9b-ac26746f7fb4, cardId: 234c51a1-ee50-4f98-ad3c-e304f2d6f846, charityId: 9a2e0ca5-e574-440e-af0a-5f58c035d7e8, transactionId: OTUpK9mGShS_0BRY8Zv8Rg, orderId: 0bf04655-ff03-4d09-82bf-e6b590dbffba, transactionStatus: FAILURE recurringTransaction: totalTransactions: 465, filteredTransactions: 1, transactions: - charityName: Save the Children, primaryAccountNumberSuffix: 0007, donationType: MICRO, date: 2019-08-24, updatedDate: 2020-10-01, amount: 50.0, currency: EUR, paymentNetwork: mastercard, clientId: 4dG5GoNZizSe_hDkUULGvYoaK9jmbEZsQbGxg-CA7fca22dc, programId: da28a815-fd25-4df4-8b60-1a735d81e473, donorId: 10d212f0-198e-466e-8d9b-ac26746f7fb4, cardId: 234c51a1-ee50-4f98-ad3c-e304f2d6f812, charityId: 9a2e0ca5-e574-440e-af0a-5f58c035d7e8, transactionId: OTUpK9mGShS_0BRY8Zv8Af, orderId: 0bf04655-ff03-4d09-82bf-e6b590dbffer, transactionStatus: FAILURE oneTimePaymentFail: summary: Payment failure value: transactionId: OTbB0kCkRxC7tu1itsIN8Q transactionStatus: FAILURE transactionMessage: Transaction declined reasonCode: DECLINE reasonMessage: Your payment was declined. Please use a different card or contact your issuer for more information.