Mastercard Approvals API

The API provides ability for the lender to approve a BNPL loan during purchase.

Operations 2

POST /approvals Approve or decline an installment plan. #
GET /approvals/{plan_id} Get the status of checkout and callback URL to PSP (Payment service provider). #

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

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/mastercard-approvals-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

mastercard-approvals-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Mastercard Installments Approvals API
  description: The Mastercard Installments program enables financial institutions, licensed lenders, fintechs, and Buy Now, Pay Later (BNPL) players to offer installment plans before, during, and post purchase. This can be done by utilizing either existing or new lines of consumer credit.
  contact:
    name: API Support
    email: apisupport@mastercard.com
    url: https://developer.mastercard.com/support
  version: 2.0.0
servers:
- url: https://sandbox.api.mastercard.com/installments
  description: Sandbox
- url: https://api.mastercard.com/installments
  description: Production
tags:
- name: Approvals
  description: The API provides ability for the lender to approve a BNPL loan during purchase.
paths:
  /approvals:
    post:
      tags:
      - Approvals
      summary: Approve or decline an installment plan.
      x-mastercard-api-encrypted: true
      description: This API will be used by the provider to approve or decline a plan. This endpoint uses [JWE payload encryption] (https://developer.mastercard.com/platform/documentation/security-and-authentication/securing-sensitive-data-using-payload-encryption/#jwe-encryption). Please refer to the [Securing Sensitive Data Using Payload Encryption] (https://developer.mastercard.com/platform/documentation/security-and-authentication/securing-sensitive-data-using-payload-encryption/) sections for implementation details.
      operationId: planApproval
      parameters:
      - $ref: '#/components/parameters/Sync'
      requestBody:
        $ref: '#/components/requestBodies/PlanApprovalParameters'
      responses:
        '200':
          $ref: '#/components/responses/PSPData'
        '202':
          $ref: '#/components/responses/Accepted'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '406':
          $ref: '#/components/responses/NotAcceptableHeader'
  /approvals/{plan_id}:
    get:
      tags:
      - Approvals
      summary: Get the status of checkout and callback URL to PSP (Payment service provider).
      description: This API will be used by the provider to get the status of checkout and callback URL to PSP (Payment service provider). This API should be used within 24 hours from the time the approval was posted.
      operationId: getPlanApprovalStatus
      parameters:
      - $ref: '#/components/parameters/plan_id'
      responses:
        '200':
          $ref: '#/components/responses/CompletionPSPData'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFound'
        '406':
          $ref: '#/components/responses/NotAcceptableHeader'
components:
  responses:
    NotAcceptableHeader:
      description: This response code is returned when a user enters anything except application/json in the Accept header.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorWrapper'
          examples:
            NotAcceptableHeader:
              $ref: '#/components/examples/NotAcceptableHeader'
    BadRequestError:
      description: This response code is returned when a request is invalid, or data in the request is not valid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorWrapper'
          examples:
            InvalidCardProductError:
              $ref: '#/components/examples/InvalidCardProductError'
            InvalidFieldFormat:
              $ref: '#/components/examples/InvalidFieldFormat'
            InvalidFieldLength:
              $ref: '#/components/examples/InvalidFieldLength'
            InvalidFieldValue:
              $ref: '#/components/examples/InvalidFieldValue'
            MissingRequiredField:
              $ref: '#/components/examples/MissingRequiredField'
    Accepted:
      description: The request was successful and will be processed asynchronously.
      headers:
        Location:
          schema:
            type: string
          description: The URL that the client should poll for a response status. Refer to GET /approvals/{plan_id}.
    PSPData:
      description: Success response. Returns only if the sync parameter is true.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PSPData'
    CompletionPSPData:
      description: Success response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CompletionPSPData'
          examples:
            Completed:
              $ref: '#/components/examples/ApprovedCompleted'
            In Progress:
              $ref: '#/components/examples/ApprovedInProgress'
    ForbiddenError:
      description: This response code is returned when API or resource access is not approved for the client.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorWrapper'
          examples:
            ForbiddenError:
              $ref: '#/components/examples/ForbiddenError'
    NotFound:
      description: Not Found.
      headers:
        Correlation-Id:
          $ref: '#/components/headers/Correlation-Id'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorWrapper'
          examples:
            NotFound:
              $ref: '#/components/examples/NotFound'
    Unauthorized:
      description: Unauthorized to access the resource.
      headers:
        Correlation-Id:
          $ref: '#/components/headers/Correlation-Id'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorWrapper'
          examples:
            Unauthorized:
              $ref: '#/components/examples/Unauthorized'
  examples:
    ForbiddenError:
      value:
        Errors:
          Error:
          - Source: Mastercard Installments API's
            ReasonCode: forbidden
            Description: Your account is not approved to access the API or resource, kindly contact your Mastercard associate to get approval.
            Recoverable: false
            Details: ''
    ApprovedInProgress:
      description: Approval processing is in progress.
      value:
        status: IN_PROGRESS
    ApprovedCompleted:
      description: Approval processing is completed
      value:
        status: COMPLETED
        callbackUrl: https://src.mastercard.com?action=COMPLETED&checkoutResponse=EncryptedData
    NotFound:
      description: URI/Resource not found.
      value:
        Errors:
          Error:
          - Source: mci-installments-offers-eligibilities-api
            ReasonCode: not.found
            Description: URI/Resource not found.
            Recoverable: false
            Details: ''
    InvalidFieldLength:
      value:
        Errors:
          Error:
          - Source: Mastercard Installments API's
            ReasonCode: invalid.request.body.parameter
            Description: Field length is out of bound
            Recoverable: false
            Details: ''
    InvalidFieldFormat:
      value:
        Errors:
          Error:
          - Source: Mastercard Installments API's
            ReasonCode: invalid.request.body.parameter
            Description: Field format or type is invalid
            Recoverable: false
            Details: ''
    Declined:
      description: This example shows an installment loan request being declined.
      value:
        planId: 3d56f5a7-db48-41f0-875e-30920e8465f3
        status: DECLINED
        rejectReasonCode: LENDER_DRIVEN_REJECTION
        rejectReasonDetail: Credit score is too low
    LenderSelectedOffer:
      description: This example shows an offer approved by the lender. The offer in this case is selected by the consumer on the lenders experience.
      value:
        planId: 3d56f5a7-db48-41f0-875e-30920e8465f3
        status: APPROVED
        offerId: '24092019'
        approvedAmount: 300
        approvedCurrency: USD
        paymentAuthorization:
          primaryAccountNumber: '5110921032063789'
          panExpirationMonth: 08
          panExpirationYear: '2022'
          cardSecurityCode: '123'
          cardholderFullName: John Doe
          cardholderFirstName: John
          cardholderLastName: Doe
          billingAddress:
            line1: 5 Street Drive
            line2: Apartment 123
            line3: Southampton
            city: O'Fallon
            state: MO
            countryCode: US
            zip: '123456'
    MissingRequiredField:
      value:
        Errors:
          Error:
          - Source: Mastercard Installments API's
            ReasonCode: invalid.request.body.parameter
            Description: One or more of the required fields are missing
            Recoverable: false
            Details: ''
    ConsumerSelectedOffer:
      description: This example shows a consumer-selected offer that is approved by the lender.
      value:
        planId: 3d56f5a7-db48-41f0-875e-30920e8465f3
        status: APPROVED
        approvedAmount: 300
        approvedCurrency: USD
        paymentAuthorization:
          primaryAccountNumber: '5110921032063789'
          panExpirationMonth: 08
          panExpirationYear: '2022'
          cardSecurityCode: '123'
          cardholderFullName: John Doe
          cardholderFirstName: John
          cardholderLastName: Doe
          billingAddress:
            line1: 5 Street Drive
            line2: Apartment 123
            line3: Southampton
            city: O'Fallon
            state: MO
            countryCode: US
            zip: '123456'
    InvalidCardProductError:
      value:
        Errors:
          Error:
          - Source: Mastercard Installments API's
            ReasonCode: invalid.request.parameter
            Description: Product SPP is not available for the IND country
            Recoverable: false
            Details: ''
    InvalidFieldValue:
      value:
        Errors:
          Error:
          - Source: Mastercard Installments API's
            ReasonCode: invalid.request.body.parameter
            Description: Value doesn't exist / doesn't meet specified range
            Recoverable: false
            Details: ''
    NotAcceptableHeader:
      value:
        Errors:
          Error:
          - Source: Mastercard Installments API's
            ReasonCode: not.acceptable.header
            Description: Accept header value is not application/json.
            Recoverable: false
            Details: ''
    Unauthorized:
      description: Unauthorized to access the resource.
      value:
        Errors:
          Error:
          - Source: mci-installments-offers-eligibilities-api
            ReasonCode: unauthorized
            Description: Unauthorized to access the resource.
            Recoverable: false
            Details: ''
  schemas:
    ErrorWrapper:
      title: ErrorWrapper
      type: object
      description: The error response object which gets returned in case of any error.
      required:
      - Errors
      properties:
        Errors:
          $ref: '#/components/schemas/Errors'
    Error:
      title: Error
      type: object
      description: Error object which contains details about the Error.
      required:
      - Source
      - ReasonCode
      - Description
      - Recoverable
      properties:
        Source:
          type: string
          description: The application name that generated this error.
          minLength: 1
          maxLength: 100
          example: Mastercard Installments APIs
        ReasonCode:
          type: string
          description: A unique constant identifying the error case encountered during request processing.
          minLength: 1
          maxLength: 100
          example: invalid.request.parameter
        Description:
          type: string
          description: Short description of the ReasonCode field.
          minLength: 10
          maxLength: 1000
          example: One of the request parameters is invalid, try again with the correct request.
        Recoverable:
          type: boolean
          description: Indicates whether this error will always be returned for this request, or retrying could change the outcome.
          example: false
        Details:
          type: string
          description: (Optional) Where appropriate, indicates detailed information about data received and calculated during request processing, to help the user with diagnosing errors.
          minLength: 0
          maxLength: 5000
          example: paymentCardId size must be between 36 and 36
    Errors:
      title: Errors
      type: object
      description: Error object which returns the list of Error objects.
      required:
      - Error
      properties:
        Error:
          $ref: '#/components/schemas/ErrorList'
    ErrorList:
      type: array
      minItems: 1
      items:
        $ref: '#/components/schemas/Error'
    CompletionPSPData:
      allOf:
      - $ref: '#/components/schemas/PSPData'
      - type: object
        required:
        - status
        properties:
          status:
            description: Indicates the status of processing. It will be either IN_PROGRESS or COMPLETED.
            type: string
            example: IN_PROGRESS
    PSPData:
      type: object
      properties:
        callbackUrl:
          description: PSP (Payment service provider) callback URL with checkout response. This URL will expire after 24 hours from the time the approval is posted.
          type: string
          example: https://src.mastercard.com#%7B%22action%22%3A%22COMPLETED%22%2C%22checkoutResponse%22%3AEncryptedData%7D
    PlanApprovalParameters:
      type: object
      required:
      - planId
      - status
      properties:
        planId:
          description: A unique identifier assigned to an installment plan.
          type: string
          format: uuid
          example: 3d56f5a7-db48-41f0-875e-30920e8465f3
        status:
          type: string
          description: Plan approval status. It will be either APPROVED or DECLINED.
          enum:
          - APPROVED
          - DECLINED
          example: APPROVED
        offerId:
          description: 'Installment Program Provider''s offer identifier generated by Mastercard. This ID is generated at the time of setup on MC Connect UI when the Lender creates an Offer.


            The lender must provide the offer ID if the consumer offer selection is disabled. The offer ID provided must be one of the offer IDs retrieved via Plan API.

            '
          type: string
          format: string
          minLength: 8
          maxLength: 8
          example: '24092019'
        rejectReasonCode:
          type: string
          description: Describes the reason for plan rejection. Mandatory for when the status is DECLINED.
          enum:
          - CONSUMER_AUTH_FAIL
          - CONSUMER_APPLICATION_FAIL
          - CONSUMER_CANCELLATION
          - LENDER_DRIVEN_REJECTION
          - LENDER_SYSTEM_ERROR
          - OTHER_REASON
          example: CONSUMER_APPLICATION_FAIL
        rejectReasonDetail:
          type: string
          description: Indicates detailed information about the reason for rejection.
          minLength: 0
          maxLength: 5000
          example: No credit or credit score too low
        approvedAmount:
          description: The total approved amount owed by the consumer on an installment purchase, inclusive of fees and interest, for the installment plan. This field is required if the status is APPROVED.
          type: number
          format: double
          example: 300
          minimum: 0
          maximum: 999999999999999
        approvedCurrency:
          description: Alphanumeric currency code as per ISO 4217. This field is required if the status is APPROVED.
          type: string
          minLength: 3
          maxLength: 3
          example: USD
        paymentAuthorization:
          description: This block is required in the event that the status is APPROVED.
          type: object
          required:
          - primaryAccountNumber
          - panExpirationMonth
          - panExpirationYear
          - cardSecurityCode
          - billingAddress
          properties:
            primaryAccountNumber:
              type: string
              minLength: 9
              maxLength: 19
              description: 'Primary Account Number. A variable length, ISO/IEC 7812-compliant account number is generated within account ranges associated with a BIN, by a Card Issuer.

                '
              example: '5555111122223333'
            panExpirationMonth:
              type: string
              minLength: 2
              maxLength: 2
              description: The expiration month of the card, expressed as a two-digit calendar month.
              example: 08
            panExpirationYear:
              type: string
              minLength: 4
              maxLength: 4
              description: The expiration year of the Card, expressed as a four-digit calendar year.
              example: '2022'
            cardSecurityCode:
              type: string
              minLength: 3
              maxLength: 4
              description: Card security code
              example: '123'
            cardholderFullName:
              type: string
              maxLength: 60
              description: Cardholders Name. This field is optional if cardholderFirstName and cardholderLastName are used.
              example: John Doe
            cardholderFirstName:
              type: string
              maxLength: 30
              description: Cardholders First Name. This field is optional if cardholderFullName is used.
              example: John
            cardholderLastName:
              type: string
              maxLength: 30
              description: Cardholders Last Name. This field is optional if cardholderFullName is used.
              example: Doe
            billingAddress:
              type: object
              required:
              - line1
              - city
              - state
              - countryCode
              - zip
              description: Cardholders Billing Address.
              properties:
                line1:
                  type: string
                  maxLength: 60
                  description: Address line 1
                  example: 5 Street Drive
                line2:
                  type: string
                  maxLength: 75
                  description: Address line 2
                  example: Apartment 123
                line3:
                  type: string
                  maxLength: 75
                  description: Address line 3
                  example: Southampton
                city:
                  type: string
                  maxLength: 50
                  description: City of residence
                  example: O'Fallon
                state:
                  type: string
                  maxLength: 30
                  description: State of Residence
                  example: MO
                countryCode:
                  description: Address country code in ISO 3166 alpha 2 format.
                  type: string
                  minLength: 2
                  maxLength: 2
                  pattern: ^[a-zA-Z]{2}$
                  example: US
                zip:
                  description: Address zip/postal code
                  type: string
                  maxLength: 16
                  example: '123456'
  parameters:
    Sync:
      in: query
      description: Indicates whether the request is synchronous (the default value is false) or asynchronous.
      name: sync
      schema:
        type: boolean
      example: true
    plan_id:
      description: Unique identifier for plan
      in: path
      name: plan_id
      required: true
      schema:
        type: string
        format: uuid
      example: 3d56f5a7-db48-41f0-875e-30920e8465f3
  requestBodies:
    PlanApprovalParameters:
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PlanApprovalParameters'
          examples:
            Approved Consumer Selected Offer:
              $ref: '#/components/examples/ConsumerSelectedOffer'
            Approved Lender Selected Offer:
              $ref: '#/components/examples/LenderSelectedOffer'
            Declined Offer:
              $ref: '#/components/examples/Declined'
  headers:
    Correlation-Id:
      description: Correlation-Id response header to trace the request.
      schema:
        type: string
      required: true
      example: 44dc28d6-cf59-11ec-9d64-0242ac120002
externalDocs:
  description: ISO 3166 COUNTRY CODES
  url: https://www.iso.org/iso-3166-country-codes.html