Mastercard Callbacks API

This API is to be used by the payment provider to notify payment status to relevant Mastercard Applications in case the payment was initiated by the Mastercard Application.

Documentation

📖
Documentation
https://developer.mastercard.com/mastercard-id-for-tp/documentation/api-reference/
📖
Documentation
https://developer.mastercard.com/mastercard-id-for-idp/documentation/api-reference/
📖
GettingStarted
https://developer.mastercard.com/doconomy-aland-index/documentation/getting-started/
📖
Authentication
https://developer.mastercard.com/doconomy-aland-index/documentation/api-basics/#authentication
📖
Documentation
https://developer.mastercard.com/doconomy-aland-index/documentation/api-reference/
📖
Documentation
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/api-reference/
📖
GettingStarted
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/getting-started/
📖
Authentication
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/api-basics/authentication-and-encryption/#authentication
📖
Documentation
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/api-reference/
📖
Documentation
https://developer.mastercard.com/merchant-self-services/documentation/api-reference/
📖
Authentication
https://developer.mastercard.com/fld-suspected-fraud/documentation/api-basics/#authentication
📖
Documentation
https://developer.mastercard.com/fld-suspected-fraud/documentation/api-reference/
📖
Authentication
https://developer.mastercard.com/fld-fraud-submission/documentation/api-basics/#authentication
📖
Documentation
https://developer.mastercard.com/fld-fraud-submission/documentation/api-reference/
📖
Documentation
https://developer.mastercard.com/identity-insights-for-accounts/documentation/api-reference/
📖
Documentation
https://developer.mastercard.com/identity-insights-for-transactions/documentation/api-reference/
📖
Documentation
https://developer.mastercard.com/in-control-for-mobile-payments/documentation/api-reference/
📖
Authentication
https://developer.mastercard.com/unified-installments/documentation/api-basics/#authentication
📖
Documentation
https://developer.mastercard.com/unified-installments/documentation/api-reference/
📖
GettingStarted
https://developer.mastercard.com/locations-merchants/documentation/quick-start-guide/
📖
Documentation
https://developer.mastercard.com/locations-merchants/documentation/api-reference/
📖
GettingStarted
https://developer.mastercard.com/locations/documentation/quick-start-guide/
📖
Documentation
https://developer.mastercard.com/locations/documentation/api-reference/
📖
GettingStarted
https://developer.mastercard.com/donations/documentation/getting-started/
📖
Documentation
https://developer.mastercard.com/donations/documentation/api-reference/
📖
Authentication
https://developer.mastercard.com/mastercard-insurance-programs/documentation/api-basics/#authentication
📖
Documentation
https://developer.mastercard.com/mastercard-insurance-programs/documentation/api-reference/
📖
GettingStarted
https://developer.mastercard.com/card-issuance/documentation/getting-started/
📖
Authentication
https://developer.mastercard.com/card-issuance/documentation/api-basics/#authentication
📖
Documentation
https://developer.mastercard.com/traditional-fulfillment-service/documentation/api-reference/
📖
Documentation
https://developer.mastercard.com/user-account-management-service/documentation/api-reference/

Specifications

Code Examples

💻
CodeExamples
https://developer.mastercard.com/mastercard-id-for-tp/documentation/postman-collection/
💻
CodeExamples
https://developer.mastercard.com/mastercard-id-for-tp/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/mastercard-id-for-idp/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/doconomy-aland-index/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/doconomy-aland-index/documentation/postman-collection/
💻
CodeExamples
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/merchant-self-services/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/merchant-self-services/documentation/postman-collection/
💻
CodeExamples
https://developer.mastercard.com/fld-suspected-fraud/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/fld-fraud-submission/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/identity-insights-for-accounts/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/identity-insights-for-accounts/documentation/postman-collections/
💻
CodeExamples
https://developer.mastercard.com/identity-insights-for-transactions/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/identity-insights-for-transactions/documentation/postman-collection/
💻
CodeExamples
https://developer.mastercard.com/in-control-for-mobile-payments/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/unified-installments/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/unified-installments/documentation/postman-collection/
💻
CodeExamples
https://developer.mastercard.com/locations-merchants/documentation/integration-and-testing/#insomnia
💻
CodeExamples
https://developer.mastercard.com/locations-merchants/documentation/integration-and-testing/#postman
💻
CodeExamples
https://developer.mastercard.com/locations-merchants/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/locations/documentation/integration-and-testing/#insomnia
💻
CodeExamples
https://developer.mastercard.com/locations/documentation/integration-and-testing/#postman
💻
CodeExamples
https://developer.mastercard.com/locations/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/donations/documentation/reference_app/
💻
CodeExamples
https://developer.mastercard.com/donations/documentation/postman-collection/
💻
CodeExamples
https://developer.mastercard.com/card-issuance/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/traditional-fulfillment-service/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/traditional-fulfillment-service/documentation/postman-collection/
💻
CodeExamples
https://developer.mastercard.com/user-account-management-service/documentation/reference-app/

Other Resources

🔗
Security
https://developer.mastercard.com/mastercard-id-for-tp/documentation/api-basics/#api-security
🔗
Security
https://developer.mastercard.com/mastercard-id-for-tp/documentation/api-basics/#encryption
🔗
Sandbox
https://developer.mastercard.com/mastercard-id-for-tp/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/mastercard-id-for-tp/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/mastercard-id-for-tp/documentation/tutorials-and-guides/
🔗
ErrorCodes
https://developer.mastercard.com/mastercard-id-for-tp/documentation/code-and-formats/
🔗
ChangeLog
https://developer.mastercard.com/mastercard-id-for-tp/documentation/release-history/
🔗
FAQ
https://developer.mastercard.com/mastercard-id-for-tp/documentation/support/#faqs
🔗
Support
https://developer.mastercard.com/mastercard-id-for-tp/documentation/support/#get-help
🔗
Security
https://developer.mastercard.com/mastercard-id-for-idp/documentation/api-basics/#api-security
🔗
Security
https://developer.mastercard.com/mastercard-id-for-idp/documentation/
🔗
Sandbox
https://developer.mastercard.com/mastercard-id-for-idp/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/mastercard-id-for-idp/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/mastercard-id-for-idp/documentation/tutorials-and-guides/
🔗
ErrorCodes
https://developer.mastercard.com/mastercard-id-for-idp/documentation/code-and-formats/
🔗
ChangeLog
https://developer.mastercard.com/mastercard-id-for-idp/documentation/release-history/
🔗
FAQ
https://developer.mastercard.com/mastercard-id-for-idp/documentation/support/#faqs
🔗
Support
https://developer.mastercard.com/mastercard-id-for-idp/documentation/support/#help
🔗
Sandbox
https://developer.mastercard.com/doconomy-aland-index/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/doconomy-aland-index/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/doconomy-aland-index/documentation/tutorials-and-guides/
🔗
ErrorCodes
https://developer.mastercard.com/doconomy-aland-index/documentation/code-and-formats/
🔗
FAQ
https://developer.mastercard.com/doconomy-aland-index/documentation/support/#faqs
🔗
Support
https://developer.mastercard.com/doconomy-aland-index/documentation/support/#get-help
🔗
ReleaseNotes
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/announcements/
🔗
Security
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/api-basics/#api-security
🔗
Sandbox
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/api-basics/#environments
🔗
Tutorials
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/tutorials-and-guides/
🔗
UseCases
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/use-cases/
🔗
ErrorCodes
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/code-and-formats/
🔗
Sandbox
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/testing/
🔗
Sandbox
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/testing/#test-data
🔗
ChangeLog
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/release-history/
🔗
FAQ
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/support/#get-help
🔗
ReleaseNotes
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/announcements/
🔗
Security
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/api-basics/authentication-and-encryption/#encryption
🔗
UseCases
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/tutorials-and-guides/
🔗
ErrorCodes
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/code-and-formats/
🔗
Sandbox
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/testing/
🔗
ChangeLog
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/release-history/
🔗
FAQ
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/support/#get-help
🔗
ReleaseNotes
https://developer.mastercard.com/merchant-self-services/documentation/announcements/
🔗
Security
https://developer.mastercard.com/merchant-self-services/documentation/api-basics/#api-security
🔗
Sandbox
https://developer.mastercard.com/merchant-self-services/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/merchant-self-services/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/merchant-self-services/documentation/tutorials-and-guides/
🔗
ErrorCodes
https://developer.mastercard.com/merchant-self-services/documentation/code-and-formats/
🔗
Sandbox
https://developer.mastercard.com/merchant-self-services/documentation/testing/
🔗
ChangeLog
https://developer.mastercard.com/merchant-self-services/documentation/release-history/
🔗
FAQ
https://developer.mastercard.com/merchant-self-services/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/merchant-self-services/documentation/support/#get-help
🔗
Security
https://developer.mastercard.com/fld-suspected-fraud/documentation/api-basics/#encryption
🔗
Sandbox
https://developer.mastercard.com/fld-suspected-fraud/documentation/api-basics/#environment-descriptions
🔗
UseCases
https://developer.mastercard.com/fld-suspected-fraud/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/fld-suspected-fraud/documentation/tutorials/
🔗
ErrorCodes
https://developer.mastercard.com/fld-suspected-fraud/documentation/code-and-formats/
🔗
FAQ
https://developer.mastercard.com/fld-suspected-fraud/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/fld-suspected-fraud/documentation/support/#get-help
🔗
ReleaseNotes
https://developer.mastercard.com/fld-fraud-submission/documentation/announcements/
🔗
Security
https://developer.mastercard.com/fld-fraud-submission/documentation/api-basics/#encryption
🔗
Sandbox
https://developer.mastercard.com/fld-fraud-submission/documentation/api-basics/#environment-descriptions
🔗
UseCases
https://developer.mastercard.com/fld-fraud-submission/documentation/use-cases/
🔗
Sandbox
https://developer.mastercard.com/fld-fraud-submission/documentation/use-cases/testing/
🔗
Tutorials
https://developer.mastercard.com/fld-fraud-submission/documentation/tutorials/
🔗
ErrorCodes
https://developer.mastercard.com/fld-fraud-submission/documentation/code-and-formats/
🔗
FAQ
https://developer.mastercard.com/fld-fraud-submission/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/fld-fraud-submission/documentation/support/#get-help
🔗
ReleaseNotes
https://developer.mastercard.com/identity-insights-for-accounts/documentation/announcements/
🔗
Security
https://developer.mastercard.com/identity-insights-for-accounts/documentation/api-basics/#api-security
🔗
Sandbox
https://developer.mastercard.com/identity-insights-for-accounts/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/identity-insights-for-accounts/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/identity-insights-for-accounts/documentation/tutorials-and-guides/
🔗
ErrorCodes
https://developer.mastercard.com/identity-insights-for-accounts/documentation/code-and-formats/
🔗
Sandbox
https://developer.mastercard.com/identity-insights-for-accounts/documentation/testing/
🔗
FAQ
https://developer.mastercard.com/identity-insights-for-accounts/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/identity-insights-for-accounts/documentation/support/#get-help
🔗
ReleaseNotes
https://developer.mastercard.com/identity-insights-for-transactions/documentation/announcements/
🔗
Security
https://developer.mastercard.com/identity-insights-for-transactions/documentation/api-basics/#api-security
🔗
Sandbox
https://developer.mastercard.com/identity-insights-for-transactions/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/identity-insights-for-transactions/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/identity-insights-for-transactions/documentation/tutorials-and-guides/
🔗
ErrorCodes
https://developer.mastercard.com/identity-insights-for-transactions/documentation/code-and-formats/
🔗
Sandbox
https://developer.mastercard.com/identity-insights-for-transactions/documentation/testing/
🔗
ChangeLog
https://developer.mastercard.com/identity-insights-for-transactions/documentation/release-history/
🔗
FAQ
https://developer.mastercard.com/identity-insights-for-transactions/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/identity-insights-for-transactions/documentation/support/#get-help
🔗
Security
https://developer.mastercard.com/in-control-for-mobile-payments/documentation/api-basics/#api-security
🔗
Sandbox
https://developer.mastercard.com/in-control-for-mobile-payments/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/in-control-for-mobile-payments/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/in-control-for-mobile-payments/documentation/tutorials-and-guides/
🔗
Sandbox
https://developer.mastercard.com/in-control-for-mobile-payments/documentation/testing/
🔗
ErrorCodes
https://developer.mastercard.com/in-control-for-mobile-payments/documentation/code-and-formats/
🔗
FAQ
https://developer.mastercard.com/in-control-for-mobile-payments/documentation/support/#frequently-asked-questions
🔗
Support
https://developer.mastercard.com/in-control-for-mobile-payments/documentation/support/#get-help
🔗
Glossary
https://developer.mastercard.com/in-control-for-mobile-payments/documentation/glossary/
🔗
ChangeLog
https://developer.mastercard.com/unified-installments/documentation/release-history/
🔗
Security
https://developer.mastercard.com/unified-installments/documentation/api-basics/#api-security
🔗
Security
https://developer.mastercard.com/unified-installments/documentation/api-basics/#encryption
🔗
Sandbox
https://developer.mastercard.com/unified-installments/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/unified-installments/documentation/use-cases/mastercard-installments-program-with-merchant-participation/
🔗
Tutorials
https://developer.mastercard.com/unified-installments/documentation/tutorials-and-guides/
🔗
ErrorCodes
https://developer.mastercard.com/unified-installments/documentation/code-and-formats/
🔗
Sandbox
https://developer.mastercard.com/unified-installments/documentation/testing/
🔗
Support
https://developer.mastercard.com/unified-installments/documentation/support/
🔗
Security
https://developer.mastercard.com/locations-merchants/documentation/api-basics/#api-security
🔗
Sandbox
https://developer.mastercard.com/locations-merchants/documentation/api-basics/#environments
🔗
Sandbox
https://developer.mastercard.com/locations-merchants/documentation/integration-and-testing/
🔗
Sandbox
https://developer.mastercard.com/locations-merchants/documentation/integration-and-testing/#sandbox-test-data
🔗
UseCases
https://developer.mastercard.com/locations-merchants/documentation/use-cases/
🔗
ErrorCodes
https://developer.mastercard.com/locations-merchants/documentation/code-and-formats/
🔗
FAQ
https://developer.mastercard.com/locations-merchants/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/locations-merchants/documentation/support/#get-help
🔗
ReleaseNotes
https://developer.mastercard.com/locations-merchants/documentation/announcements/
🔗
ChangeLog
https://developer.mastercard.com/locations-merchants/documentation/release-history/
🔗
Security
https://developer.mastercard.com/locations/documentation/api-basics/#api-security
🔗
Sandbox
https://developer.mastercard.com/locations/documentation/api-basics/#environments
🔗
Sandbox
https://developer.mastercard.com/locations/documentation/integration-and-testing/
🔗
Sandbox
https://developer.mastercard.com/locations/documentation/integration-and-testing/#sandbox-test-data
🔗
UseCases
https://developer.mastercard.com/locations/documentation/use-cases/
🔗
ErrorCodes
https://developer.mastercard.com/locations/documentation/code-and-formats/
🔗
FAQ
https://developer.mastercard.com/locations/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/locations/documentation/support/#get-help
🔗
ReleaseNotes
https://developer.mastercard.com/locations/documentation/announcements/
🔗
ChangeLog
https://developer.mastercard.com/locations/documentation/release-history/
🔗
UseCases
https://developer.mastercard.com/donations/documentation/use-cases/
🔗
Sandbox
https://developer.mastercard.com/donations/documentation/api-basics/#environment-descriptions
🔗
ErrorCodes
https://developer.mastercard.com/donations/documentation/code-and-formats/
🔗
FAQ
https://developer.mastercard.com/donations/documentation/support/#faqs
🔗
Support
https://developer.mastercard.com/donations/documentation/support/#get-help
🔗
Tutorials
https://developer.mastercard.com/donations/documentation/support/#guides
🔗
Tutorials
https://developer.mastercard.com/donations/documentation/tutorials/
🔗
Security
https://developer.mastercard.com/mastercard-insurance-programs/documentation/api-basics/#encryption
🔗
Sandbox
https://developer.mastercard.com/mastercard-insurance-programs/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/mastercard-insurance-programs/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/mastercard-insurance-programs/documentation/tutorials-and-guides/
🔗
ErrorCodes
https://developer.mastercard.com/mastercard-insurance-programs/documentation/code-and-formats/
🔗
Sandbox
https://developer.mastercard.com/mastercard-insurance-programs/documentation/testing/
🔗
FAQ
https://developer.mastercard.com/mastercard-insurance-programs/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/mastercard-insurance-programs/documentation/support/#get-help
🔗
Glossary
https://developer.mastercard.com/card-issuance/documentation/getting-started/#glossary
🔗
Sandbox
https://developer.mastercard.com/card-issuance/documentation/api-basics/#encryption
🔗
Sandbox
https://developer.mastercard.com/card-issuance/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/card-issuance/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/card-issuance/documentation/tutorials-and-guides/
🔗
ErrorCodes
https://developer.mastercard.com/card-issuance/documentation/code-and-formats/
🔗
FAQ
https://developer.mastercard.com/card-issuance/documentation/support/#faqs
🔗
Support
https://developer.mastercard.com/card-issuance/documentation/support/#get-help
🔗
Security
https://developer.mastercard.com/traditional-fulfillment-service/documentation/api-basics/#api-security
🔗
Sandbox
https://developer.mastercard.com/traditional-fulfillment-service/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/traditional-fulfillment-service/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/traditional-fulfillment-service/documentation/tutorials-and-guides/
🔗
ErrorCodes
https://developer.mastercard.com/traditional-fulfillment-service/documentation/code-and-formats/
🔗
ChangeLog
https://developer.mastercard.com/traditional-fulfillment-service/documentation/release-history/
🔗
FAQ
https://developer.mastercard.com/traditional-fulfillment-service/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/traditional-fulfillment-service/documentation/support/#get-help
🔗
Security
https://developer.mastercard.com/user-account-management-service/documentation/api-basics/#api-security
🔗
Sandbox
https://developer.mastercard.com/user-account-management-service/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/user-account-management-service/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/user-account-management-service/documentation/tutorials-and-guides/
🔗
Glossary
https://developer.mastercard.com/user-account-management-service/documentation/glossary/
🔗
ErrorCodes
https://developer.mastercard.com/user-account-management-service/documentation/code-and-formats/
🔗
ChangeLog
https://developer.mastercard.com/user-account-management-service/documentation/release-history/
🔗
FAQ
https://developer.mastercard.com/user-account-management-service/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/user-account-management-service/documentation/support/#get-help

OpenAPI Specification

mastercard-callbacks-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: Mastercard Bill Payment Validator Account Opening Callbacks 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: Callbacks
  description: This API is to be used by the payment provider to notify payment status to relevant Mastercard Applications in case the payment was initiated by the Mastercard Application.
paths:
  /callbacks:
    post:
      tags:
      - Callbacks
      summary: Mastercard Callbacks Api
      description: This API is to be used by the payment provider to notify payment status to relevant Mastercard Applications in case the payment was initiated by the Mastercard Application.
      operationId: Callback
      requestBody:
        $ref: '#/components/requestBodies/CallbackRequest'
      responses:
        '200':
          $ref: '#/components/responses/CallbackSuccess'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/InvalidAuthHeaderError'
        '403':
          $ref: '#/components/responses/InvalidKeyError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    Errors:
      type: array
      minItems: 1
      items:
        $ref: '#/components/schemas/Error'
      description: Errors list
      example:
        $ref: '#/components/examples/BadRequestExample'
    Callback:
      type: object
      properties:
        appId:
          type: string
          description: Application identifier for client.
          enum:
          - MFN
          - KUPAA
          example: MFN
          minLength: 3
          maxLength: 15
        partnerAccountId:
          type: string
          description: An id provided by the payment provider to identify the source account.
          example: '12345678'
          minLength: 5
          maxLength: 30
        transactionReference:
          type: string
          description: Transaction reference generated by client as mentioned in enum.
          example: b808add0-5b1b-447c-9341-83e32a83856e
          minLength: 5
          maxLength: 50
        providerReference:
          type: string
          description: Provider reference generated by provider.
          example: pro-1233763
          minLength: 5
          maxLength: 50
        status:
          type: string
          minLength: 1
          maxLength: 50
          description: 'Status can be between the values mentioned in enum '
          enum:
          - PROCESSING
          - OK
          - ERROR
          - UNKNOWN
          - INDETERMINATE
          - INSUFFICIENT_FUNDS
          example: PROCESSING
        confirmationUrl:
          type: string
          minLength: 1
          maxLength: 500
          description: Confirmation url sent from payment provider
          example: https://yo/confirmation-url
        responseCode:
          type: string
          minLength: 1
          maxLength: 50
          example: '100'
          description: Response Code
        responseMessage:
          type: string
          minLength: 1
          maxLength: 500
          example: Successful
          description: Response Message
        correlationId:
          type: string
          format: uuid
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
          description: correlationId for request
        apiAction:
          type: string
          minLength: 1
          maxLength: 50
          description: Type of Action/Transaction to be taken for the particular request.Value should be from.
          enum:
          - B2C
          - C2B
          - MIN
          - BAL
          - BB2C
          - BTRQ
          example: B2C
        recipients:
          type: array
          items:
            $ref: '#/components/schemas/Recipient'
          example:
          - clientId: '88784744'
            transactionId: '7253653653'
            accountName: Test Account
            accountNumber: '1234567890'
            transactionAmount: 150
            currency: UGX
            countryCode: UG
            responseCode: '100'
            responseMessage: Successful
      title: Callback
      description: Callback Request
    ErrorWrapper:
      type: object
      required:
      - Errors
      properties:
        Errors:
          type: object
          required:
          - Error
          properties:
            Error:
              $ref: '#/components/schemas/Errors'
          description: Error object
          example:
            $ref: '#/components/examples/BadRequestExample'
    Error:
      type: object
      properties:
        Source:
          type: string
          minLength: 1
          maxLength: 50
          description: An element used to indicate the source of the issue causing this error.
          example: PAYMENT_SERVICE
        ReasonCode:
          type: string
          minLength: 1
          maxLength: 50
          description: A reason code for the error that has occurred.
          example: BAD_REQUEST
        Description:
          type: string
          minLength: 1
          maxLength: 500
          description: Description of the reason the operation failed.
          example: We couldn't handle your request
        Recoverable:
          type: boolean
          description: Generated by the gateway to indicate if the request could presented again for processing. Either "true" or "false".
          example: true
        Details:
          type: string
          minLength: 1
          maxLength: 500
          description: Identifies the description of the error.
          example: appId should be either MFN or Kupaa
      description: Error Object
    Recipient:
      type: object
      properties:
        clientId:
          type: string
          description: Client id generated for each beneficiary transaction by client application.
          enum:
          - MFN
          - KUPAA
          example: '8387484747'
          minLength: 5
          maxLength: 30
        transactionId:
          type: string
          description: Transcation id generated for each beneficiary transaction by payment provider.
          example: '7253653653'
          minLength: 5
          maxLength: 50
        accountName:
          type: string
          minLength: 1
          maxLength: 60
          example: Test User
          description: Account Name
        accountNumber:
          type: string
          minLength: 1
          maxLength: 30
          example: '1234567890'
          description: Account Number
        transactionAmount:
          type: number
          format: double
          example: 1500
          description: Transaction Amount
        currency:
          type: string
          example: USD
          minLength: 3
          maxLength: 3
          description: Alphabetic code of currency as per ISO4217 standard.
        countryCode:
          type: string
          minLength: 3
          maxLength: 3
          example: USA
          description: ISO 3-alpha country code format.
        responseCode:
          type: string
          minLength: 3
          maxLength: 3
          example: '200'
          description: Reason code
        responseMessage:
          type: string
          minLength: 3
          maxLength: 3
          example: XYZ
          description: Response Message
      title: Recipient
      description: Recipient Request
  responses:
    InvalidKeyError:
      description: Forbidden-You do not have necessary permission to access this resource on this server.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorWrapper'
          examples:
            InvalidKeyExample:
              $ref: '#/components/examples/InvalidKeyExample'
    CallbackSuccess:
      description: Payment callback request executed successfully.
    BadRequestError:
      description: Bad Request-The server cannot not process the request due to invalid request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorWrapper'
          examples:
            BadRequestExample:
              $ref: '#/components/examples/BadRequestExample'
    InvalidAuthHeaderError:
      description: Bad Request - No Authorization header set
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorWrapper'
          examples:
            InvalidAuthHeaderExample:
              $ref: '#/components/examples/InvalidAuthHeaderExample'
    NotFoundError:
      description: Not Found-The requested resource was not found on this server.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorWrapper'
          examples:
            NotFoundExample:
              $ref: '#/components/examples/NotFoundExample'
  examples:
    BadRequestExample:
      value:
        Errors:
          Error:
          - Source: PAYMENT_SERVICE
            ReasonCode: BAD_REQUEST
            Description: We couldn't handle your request
            Recoverable: false
            Details: appId should be either MFN or Kupaa
    NotFoundExample:
      value:
        Errors:
          Error:
          - Source: PAYMENT_SERVICE
            ReasonCode: NOT_FOUND
            Description: You requested something we don't have
            Recoverable: false
            Details: Requested resource doesn't exist
    InvalidAuthHeaderExample:
      value:
        Errors:
          Error:
          - Source: PAYMENT_SERVICE
            ReasonCode: INVALID_AUTH_HEADER
            Description: Bad Request - No Authorization header set
            Recoverable: false
            Details: check if key is passed to call the API
    InvalidKeyExample:
      value:
        Errors:
          Error:
          - Source: PAYMENT_SERVIC
            ReasonCode: INVALID_KEY
            Description: Signing certificate must be valid
            Recoverable: false
            Details: 'null'
  requestBodies:
    CallbackRequest:
      description: Callback Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Callback'