PPRO Authorization Endpoints API

The Authorization Endpoints API from PPRO — 5 operation(s) for authorization endpoints.

Business capability
Card Transaction Processing Management BC-1340.70

Operations 7

POST /v1/payment-agreements/{agreementId}/authorizations Update authorization #
GET /v1/payment-charges List payment charges #
POST /v1/payment-charges Create a payment charge #
GET /v1/payment-charges/{paymentChargeId}/authorizations List authorizations #
POST /v1/payment-charges/{paymentChargeId}/authorizations Update authorization #
GET /v1/payment-charges/{paymentChargeId} Get Payment Charge #
GET /v1/payment-charges/{paymentChargeId}/authorizations/{authorizationId} Get authorization #

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/ppro-authorization-endpoints-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 email required.

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

OpenAPI Specification

ppro-authorization-endpoints-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ppro Authorization Endpoints API
  version: v1
  description: 'Operations tagged Authorization Endpoints across 4 of this provider''s published API definitions: ppro-payment-agreements-openapi.yml, ppro-payment-agreements.json, ppro-payment-charges-openapi.yml, ppro-payment-charges.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.sandbox.eu.ppro.com
  description: Production - Sandbox environment for integration testing
- url: https://api.qa.eu.ppro.com/v1/payment-agreements
  description: QA
- url: https://api.eu.ppro.com
  description: Production endpoint for EU customers
security:
- bearer_token: []
tags:
- name: Authorization Endpoints
paths:
  /v1/payment-agreements/{agreementId}/authorizations:
    post:
      tags:
      - Authorization Endpoints
      summary: Update authorization
      description: Provide additional data required to proceed with the authorization.
      operationId: confirm
      parameters:
      - name: agreementId
        in: path
        required: true
        schema:
          type: string
      - name: Merchant-Id
        in: header
        description: The merchant identifier.
        required: true
        schema:
          type: string
        example: merch_cb6RQnZbBwSBkn34QYXhr
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfirmationRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ConfirmationResponse'
    servers:
    - url: https://api.sandbox.eu.ppro.com
      description: Production - Sandbox environment for integration testing
    - url: https://api.qa.eu.ppro.com/v1/payment-agreements
      description: QA
  /v1/payment-charges:
    get:
      tags:
      - Authorization Endpoints
      summary: List payment charges
      description: 'Returns all payment charges that match the given search criteria. '
      operationId: searchPaymentCharge
      parameters:
      - name: merchantPaymentChargeReference
        in: query
        required: false
        schema:
          type: string
      - name: agreementId
        in: query
        required: false
        schema:
          type: string
      - name: page
        in: query
        required: false
        schema:
          type: string
      - name: Merchant-Id
        in: header
        description: The merchant identifier.
        required: true
        schema:
          type: string
        example: merch_cb6RQnZbBwSBkn34QYXhr
      - name: Request-Reference
        in: header
        description: Unique request reference to facilitate debugging.
        schema:
          type: string
        example: abc-unique-value-for-tracing
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GetPaymentChargesResponse'
        '409':
          description: Duplicate request received with the same idempotency key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseBody'
        '504':
          description: Call to the upstream dependency timed out.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseBody'
    post:
      tags:
      - Authorization Endpoints
      summary: Create a payment charge
      description: Creates a payment charge.
      operationId: authorize
      parameters:
      - name: Merchant-Id
        in: header
        description: The merchant identifier.
        required: true
        schema:
          type: string
        example: merch_cb6RQnZbBwSBkn34QYXhr
      - name: Request-Reference
        in: header
        description: Unique request reference to facilitate debugging.
        schema:
          type: string
        example: abc-unique-value-for-tracing
      - name: Request-Idempotency-Key
        in: header
        description: Optional Idempotency Key for the request. Sending duplicate requests will result in 409 HTTP status code.
        schema:
          type: string
        example: xyz-unique-value-for-idempotency
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthorizationRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PaymentChargeResponse'
        '409':
          description: Duplicate request received with the same idempotency key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseBody'
        '504':
          description: Call to the upstream dependency timed out.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseBody'
    servers:
    - url: https://api.sandbox.eu.ppro.com
      description: Production - Sandbox environment for integration testing
    - url: https://api.eu.ppro.com
      description: Production endpoint for EU customers
  /v1/payment-charges/{paymentChargeId}/authorizations:
    get:
      tags:
      - Authorization Endpoints
      summary: List authorizations
      description: Returns all authorizations associated with the payment charge.
      operationId: getAuthorizations
      parameters:
      - name: paymentChargeId
        in: path
        required: true
        schema:
          type: string
      - name: Merchant-Id
        in: header
        description: The merchant identifier.
        required: true
        schema:
          type: string
        example: merch_cb6RQnZbBwSBkn34QYXhr
      - name: Request-Reference
        in: header
        description: Unique request reference to facilitate debugging.
        schema:
          type: string
        example: abc-unique-value-for-tracing
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GetAuthorizationsResponse'
        '409':
          description: Duplicate request received with the same idempotency key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseBody'
        '504':
          description: Call to the upstream dependency timed out.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseBody'
    post:
      tags:
      - Authorization Endpoints
      summary: Update authorization
      description: Provide additional data required to proceed with the authorization.
      operationId: confirm
      parameters:
      - name: paymentChargeId
        in: path
        required: true
        schema:
          type: string
      - name: Merchant-Id
        in: header
        description: The merchant identifier.
        required: false
        schema:
          type: string
        example: merch_cb6RQnZbBwSBkn34QYXhr
      - name: Request-Reference
        in: header
        description: Unique request reference to facilitate debugging.
        schema:
          type: string
        example: abc-unique-value-for-tracing
      - name: Request-Idempotency-Key
        in: header
        description: Optional Idempotency Key for the request. Sending duplicate requests will result in 409 HTTP status code.
        schema:
          type: string
        example: xyz-unique-value-for-idempotency
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfirmationRequest_2'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PaymentChargeAuthorizationResponse'
        '409':
          description: Duplicate request received with the same idempotency key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseBody'
        '504':
          description: Call to the upstream dependency timed out.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseBody'
    servers:
    - url: https://api.sandbox.eu.ppro.com
      description: Production - Sandbox environment for integration testing
    - url: https://api.eu.ppro.com
      description: Production endpoint for EU customers
  /v1/payment-charges/{paymentChargeId}:
    get:
      tags:
      - Authorization Endpoints
      summary: Get Payment Charge
      description: Returns the payment charge, given the charge ID.
      operationId: getPaymentCharge
      parameters:
      - name: paymentChargeId
        in: path
        required: true
        schema:
          type: string
      - name: Merchant-Id
        in: header
        description: The merchant identifier.
        required: true
        schema:
          type: string
        example: merch_cb6RQnZbBwSBkn34QYXhr
      - name: Request-Reference
        in: header
        description: Unique request reference to facilitate debugging.
        schema:
          type: string
        example: abc-unique-value-for-tracing
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PaymentChargeResponse'
        '409':
          description: Duplicate request received with the same idempotency key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseBody'
        '504':
          description: Call to the upstream dependency timed out.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseBody'
    servers:
    - url: https://api.sandbox.eu.ppro.com
      description: Production - Sandbox environment for integration testing
    - url: https://api.eu.ppro.com
      description: Production endpoint for EU customers
  /v1/payment-charges/{paymentChargeId}/authorizations/{authorizationId}:
    get:
      tags:
      - Authorization Endpoints
      summary: Get authorization
      description: Returns a specific authorization operation associated with the payment charge
      operationId: getAuthorization
      parameters:
      - name: paymentChargeId
        in: path
        required: true
        schema:
          type: string
      - name: authorizationId
        in: path
        required: true
        schema:
          type: string
      - name: Merchant-Id
        in: header
        description: The merchant identifier.
        required: true
        schema:
          type: string
        example: merch_cb6RQnZbBwSBkn34QYXhr
      - name: Request-Reference
        in: header
        description: Unique request reference to facilitate debugging.
        schema:
          type: string
        example: abc-unique-value-for-tracing
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PaymentChargeAuthorizationResponse'
        '409':
          description: Duplicate request received with the same idempotency key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseBody'
        '504':
          description: Call to the upstream dependency timed out.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseBody'
    servers:
    - url: https://api.sandbox.eu.ppro.com
      description: Production - Sandbox environment for integration testing
    - url: https://api.eu.ppro.com
      description: Production endpoint for EU customers
components:
  schemas:
    AdditionalData:
      type: object
      properties:
        merchantAdviceCode:
          type: string
          description: Merchant Advice Code (MAC) returned by the payment network on decline, indicating whether and when the payment may be retried.
        merchantAdviceCodeText:
          type: string
          description: Human-readable explanation of the Merchant Advice Code (MAC).
    AuthenticationResult:
      type: object
      properties:
        type:
          type: string
          description: The type of authentication result
          enum:
          - APP_NOTIFICATION
          - MULTI_FACTOR
        details:
          type: object
          additionalProperties: {}
          description: A map containing the authentication result details which format is understood by the payment processor of the associated payment method
      required:
      - details
    ConfirmationResponse:
      type: object
      properties:
        id:
          type: string
          description: The notification identifier.
        agreementStatus:
          type: string
          description: Resulting payment-agreement status after processing the notification.
          enum:
          - INITIALIZING
          - AUTHENTICATION_PENDING
          - AUTHORIZATION_PROCESSING
          - ACTIVE
          - REVOKED_BY_CONSUMER
          - REVOKED_BY_MERCHANT
          - REVOKED_BY_PROVIDER
          - FAILED
        failure:
          $ref: '#/components/schemas/ProcessingFailure'
          description: The processing failure if the notification operation failed.
        createdAt:
          type: string
          format: date-time
          description: The notification timestamp in ISO 8601 format.
          example: '2023-03-26T20:24:27.123Z'
    ProcessingFailure:
      type: object
      properties:
        failureType:
          type: string
          description: The failure type.
          enum:
          - INTERNAL_ERROR
          - INTERNAL_DECLINE
          - PROVIDER_ERROR
          - PROVIDER_DECLINE
        failureCode:
          type: string
          description: The failure code.
        providerFailureCode:
          type: string
          description: The payment provider failure code.
        failureMessage:
          type: string
          description: The failure message.
        isRetryable:
          type: boolean
          description: Indicates whether the merchant should create a fresh new attempt, where initiating a fresh new attempt at a later time may potentially result in a successful outcome.
        additionalData:
          $ref: '#/components/schemas/AdditionalData'
    ConfirmationRequest:
      type: object
      properties:
        authenticationResult:
          $ref: '#/components/schemas/AuthenticationResult'
          description: 'The outcome of processing the payment authentication challenge (eg: a payment provider generated token or a 3DS challenge response).'
          example:
            type: APP_NOTIFICATION
            details:
              instrumentProviderIdentity: '+34700000000'
    AuthenticationMethod:
      discriminator:
        propertyName: type
        mapping:
          APP_INTENT: '#/components/schemas/AppIntentAuthenticationMethod'
          3DS: '#/components/schemas/ThreeDsAuthenticationMethod'
          SCAN_CODE: '#/components/schemas/ScanCodeAuthenticationMethod'
          MULTI_FACTOR: '#/components/schemas/MultiFactorAuthenticationMethod'
          APP_NOTIFICATION: '#/components/schemas/AppNotificationAuthenticationMethod'
          REDIRECT: '#/components/schemas/RedirectAuthenticationMethod'
      properties:
        type:
          type: string
      required:
      - type
    RedirectAuthenticationSettingsDetails:
      type: object
      properties:
        returnUrl:
          type: string
          description: The URL to which the consumer is redirected after completing an action, such as a payment or authentication flow.
          example: https://www.webshop.com/order-results-page
    RawCardInstrument:
      allOf:
      - $ref: '#/components/schemas/PaymentInstrument'
      - properties:
          details:
            description: The card details
            properties:
              brand:
                description: The card brand.<br>The value must be provided in uppercase.
                example: VISA
              number:
                description: The primary account number (PAN) of the card used for the payment.
                example: '4444333322221111'
              cvv:
                description: Card Verification Value used to authenticate the card during a payment.
                example: '123'
              holderName:
                description: The full name of the cardholder as it appears on the card.
                example: John Smith
              expiryMonth:
                format: int32
                description: The two-digit expiration month of the card.
                example: '1'
                maximum: 12
                minimum: 1
              expiryYear:
                format: int32
                description: The four-digit expiration year of the card.
                example: '2031'
                minimum: 2000
            required:
            - expiryMonth
            - expiryYear
            - holderName
            - number
          validate:
            description: If included, PPRO will try to validate the instrument with a nominal-amount authorization. If validation fails, the instrument creation request will fail
            properties:
              currency:
                description: ISO 4217 3-letter currency code.
                example: EUR
                maxLength: 3
                minLength: 3
              taxIdentification:
                description: The consumer's tax identification number, like CUIT in Argentina, CPF in Brazil, RUT in Chile, NIF in Spain or Portugal, Numéro fiscal in France, and Codice Fiscale in Italy, or the equivalent tax identifier applicable in the consumer's country.
                example: '798154336790'
            required:
            - currency
          type:
            description: The `RAW_CARD` payment instrument type.
            enum:
            - RAW_CARD
      required:
      - details
      title: Payment Instrument (RAW_CARD)
    Links:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/Link'
    ExternalThreeDs:
      type: object
      properties:
        authenticationStatus:
          type: string
          description: The 3DS authentication status code.
          enum:
          - SUCCESS
          - ATTEMPT_ACKNOWLEDGED
          - FAILED
          - AUTHENTICATION_UNAVAILABLE
        authenticationStatusReason:
          type: string
          description: The 3DS authentication status reason.
          enum:
          - CARD_AUTHENTICATION_FAILED
          - UNKNOWN_DEVICE
          - UNSUPPORTED_DEVICE
          - EXCEEDS_AUTHENTICATION_FREQUENCY_LIMIT
          - EXPIRED_CARD
          - INVALID_CARD_NUMBER
          - INVALID_TRANSACTION
          - NO_CARD_RECORD
          - SECURITY_FAILURE
          - STOLEN_CARD
          - SUSPECTED_FRAUD
          - TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER
          - CARDHOLDER_NOT_ENROLLED_IN_SERVICE
          - TRANSACTION_TIMED_OUT_AT_THE_ACS
          - LOW_CONFIDENCE
          - MEDIUM_CONFIDENCE
          - HIGH_CONFIDENCE
          - VERY_HIGH_CONFIDENCE
          - EXCEEDS_ACS_MAXIMUM_CHALLENGES
          - NON_PAYMENT_TRANSACTION_NOT_SUPPORTED
          - THREE_RI_TRANSACTION_NOT_SUPPORTED
        authenticationValue:
          type: string
          description: The 3DS authentication CAVV.
        authenticationAlgorithm:
          type: string
          description: The 3DS authentication CAVV algorithm used.
        authenticationMode:
          type: string
          description: The 3DS authentication mode.
          enum:
          - SCA
          - FRICTIONLESS
        eci:
          type: string
          description: The 3DS authentication ECI.
        version:
          type: string
          description: The 3DS authentication version.
        externalId:
          type: string
          description: The 3DS authentication transaction identifier.
        externalAcsId:
          type: string
          description: The 3DS universally unique transaction identifier assigned by the ACS to identify a single transaction. Canonical format as defined in IETF RFC 4122.
          example: 4dc406b0-038d-43ef-a96c-c85352c5e2c0
        score:
          type: string
          description: The 3DS score.
        challenge:
          $ref: '#/components/schemas/Challenge'
          description: The 3DS authentication challenge details.
        outOfScope:
          $ref: '#/components/schemas/OutOfScope'
          description: The 3DS out of scope object, to be used if the payment is out of scope of SCA
    RedirectAuthenticationDetails:
      type: object
      properties:
        requestUrl:
          type: string
          description: The URL where the consumer should be redirected in order to authenticate the payment.
          example: https://pay.playground.klarna.com/eu/hpp/payments/123abc
        requestMethod:
          type: string
          description: The redirect HTTP method.
          enum:
          - GET
          - POST
    AuthenticationResult_2:
      type: object
      properties:
        type:
          type: string
          description: The type of authentication result
        details:
          type: object
          additionalProperties: {}
          description: A map containing the authentication result details which format is understood by the payment processor of the associated payment method
      required:
      - details
    AirlineIndustryData:
      allOf:
      - $ref: '#/components/schemas/IndustryData'
      - type: object
        properties:
          details:
            $ref: '#/components/schemas/AirlineDetails'
            description: The airline industry specific details.
          type:
            type: string
            description: The `AIRLINE` industry data type.
            enum:
            - AIRLINE
      required:
      - details
    MultiFactorAuthenticationSettingsDetails:
      type: object
      properties:
        verificationCode:
          type: string
          description: Code generated to authenticate the user.
          example: '777123'
    Challenge:
      type: object
      properties:
        preference:
          type: string
          description: The 3DS authentication challenge initialization preference.
          enum:
          - NO_PREFERENCE
          - NO_CHALLENGE_REQUESTED
          - CHALLENGE_REQUESTED
          - CHALLENGE_MANDATED
          - DATA_ONLY
        outcome:
          type: string
          description: The 3DS authentication challenge outcome.
          enum:
          - CHALLENGE
          - FRICTIONLESS
          - DATA_ONLY
        exemptionReason:
          type: string
          description: The 3DS authentication challenge exemption reason.
          enum:
          - LOW_VALUE
          - LOW_RISK
          - TRUSTED_BENEFICIARY
          - FIXED_RECURRING
        cancellationReason:
          type: string
          description: The 3DS challenge cancellation indicator.Mandatory for CB transactions.
          enum:
          - CARDHOLDER_CANCELLED
          - REQUESTOR_CANCELLED
          - TRANSACTION_ABANDONED
          - TRANSACTION_TIMEOUT_ACS_OTHER
          - TRANSACTION_TIMEOUT_ACS_CREQ_NOT_RECEIVED
          - TRANSACTION_ERROR
          - UNKNOWN
    TravelDetails:
      type: object
      properties:
        travelType:
          type: string
          description: The travel type
          enum:
          - UNKNOWN
          - ONE_WAY
          - TWO_WAY
          - MULTIPLE
          example: MULTIPLE
        departureDate:
          type: string
          format: date
          description: Departure date
          example: '2025-06-10'
        returnDate:
          type: string
          format: date
          description: Return date
          example: '2025-06-15'
        departureLocation:
          type: string
          description: Departure location, if flight then provide IATA Airport Code
          example: Berlin
        arrivalLocation:
          type: string
          description: Arrival location, if flight then provide IATA Airport Code
          example: Madrid
        destinationCountry:
          type: string
          description: Destination country
          example: ES
        travelCompany:
          type: string
          description: Travel company name
          example: My Travel Company GmbH
        travelerCount:
          type: integer
          format: int64
          description: Total number of travelers
          example: 4
        buyerAmongTravelers:
          type: boolean
          description: Is the buyer consumer among travelers?
          example: true
        travelClass:
          type: string
          description: The class of travel
          example: PREMIUM
        travelInsured:
          type: boolean
          description: Whether the travel is insured?
          example: true
        travelDiscountVoucher:
          type: string
          description: Travel discount voucher
          example: TWENTY-OFF
        luggageSupplement:
          type: boolean
          description: Whether availing luggage supplement?
          example: true
        travelCanBeModifiedOrCanceled:
          type: boolean
          description: Can the travel be modified or canceled?
          example: true
        stayCompany:
          type: string
          description: Stay company name
          example: Hotel XYZ
        stayDestination:
          type: string
          description: Stay destination
          example: Madrid
        stayNightsCount:
          type: integer
          format: int64
          description: Stay nights count
          example: 4
        stayRoomRange:
          type: string
          description: Stay room category
          example: 4_STARS
    BancontactAccountDetails:
      type: object
      properties:
        bin:
          type: string
          description: The bank identification number
          example: '1234'
          maxLength: 8
          minLength: 6
          pattern: ^(\d{6}|\d{8})$
        last4Digits:
          type: string
          description: The last 4 digits of the card
          example: '1234'
          maxLength: 4
          minLength: 4
          pattern: ^\d+$
        expiryMonth:
          type: integer
          format: int32
          description: The card expiration month
          example: 1
          maximum: 12
          minimum: 1
        expiryYear:
          type: integer
          format: int32
          description: The card expiration year
          example: 2024
          minimum: 2000
        panAlias:
          type: string
          description: The card PAN alias
          minLength: 1
      required:
      - bin
      - expiryMonth
      - expiryYear
      - last4Digits
      - panAlias
    AirlineDetails:
      type: object
      properties:
        pnr:
          type: string
          description: The Passenger Name Record (PNR) associated with the airline booking.
          example: ABC123
        numberOfPassengers:
          type: integer
          format: int32
          description: The number of passengers on the booking.
          example: 2
          minimum: 1
        airlineCode:
          type: string
          description: The standardized two-letter or three-letter airline code assigned by IATA (International Air Transport Association) or ICAO (International Civil Aviation Organization).
          example: BA
        passengerEmail:
          type: string
          format: email
          description: The email address of the passenger.
          example: johnsmith@example.com
        passengerPhone:
          type: string
          description: The passenger phone number
          example: '+491521111111'
        passengerName:
          type: string
          description: The passenger name
          example: John Doe
        carrierCode:
          type: string
          description: The standardized two-letter or three-letter carrier code assigned by IATA (International Air Transport Association) or ICAO (International Civil Aviation Organization).
          example: AA
        tripSegments:
          type: array
          description: The trip segment details.
          items:
            $ref: '#/components/schemas/AirlineTripSegment'
    GatewayProcessingFailureResponse:
      type: object
      properties:
        failureType:
          type: string
          description: The failure type.
          enum:
          - INTERNAL_ERROR
          - INTERNAL_DECLINE
          - PROVIDER_ERROR
          - PROVIDER_DECLINE
        failureCode:
          type: string
          description: The failure code.
        providerFailureCode:
          type: string
          description: The payment provider failure code.
        failureMessage:
          type: string
          description: The failure message.
        isRetryable:
          type: boolean
          description: Indicates whether the merchant should create a fresh new attempt, where initiating a fresh new attempt at a later time may potentially result in a successful outcome.
        additionalData:
          $ref: '#/components/schemas/AdditionalData'
    PaymentChargeDiscardResponse:
      type: object
      properties:
        id:
          type: string
          description: The discard identifier.
          example: 5c019979-0751-469e-96e0-b67f1d95c577
        status:
          type: string
          description: The discard status.
          enum:
          - DISCARDED
          - FAILED
        merchantDiscardReference:
          type: string
          description: The merchant provided discard reference.
          example: 5c019979-0751-469e-96e0-b67f1d95c577
        type:
          type: string
          description: The type of the discard.
          enum:
          - AUTHENTICATION_TIMEOUT
          - PROVIDER_CONFIRMATION_TIMEOUT
          - MERCHANT_INITIATED_DISCARD
          example: MERCHANT_INITIATED_DISCARD
        failure:
          $ref: '#/components/schemas/GatewayProcessingFailureResponse'
          description: The discard processing failure if the discard operation failed.
        createdAt:
          type: string
          format: date-time
          description: The discard creation timestamp in ISO 8601 format.
          example: '2022-11-03T11:23:47.123Z'
        updatedAt:
          type: string
          format: date-time
          description: The discard update timestamp in ISO 8601 format.
          example: '2022-11-03T11:23:47.123Z'
        _links:
          $ref: '#/components/schemas/Links'
          readOnly: true
    AppIntentAuthenticationMethod:
      allOf:
      - $ref: '#/components/schemas/AuthenticationMethod'
      - type: object
        properties:
          details:
            $ref: '#/components/schemas/AppIntentAuthenticationDetails'
            description: The APP_INTENT authentication details.
          type:
            type: string
            description: The APP_INTENT authentication type.
            enum:
            - APP_INTENT
      title: Authentication Method (APP_INTENT)
    RedirectAuthenticationSettings:
      allOf:
      - $ref: '#/components/schemas/AuthenticationSettings'
      - type: object
        properties:
          settings:
            $ref: '#/components/schemas/RedirectAuthenticationSettingsDetails'
            description: The REDIRECT authentication settings.
          type:
            type: string
            description: The `REDIRECT` authentication type.
            enum:
            - REDIRECT
    AuthenticationSettings:
      discriminator:
        propertyName: type
      properties:
        type:
          type: string
      required:
      - type
    ScanCodeAuthenticationSettings:
      allOf:
      - $ref: '#/components/schemas/AuthenticationSettings'
      - type: object
        properties:
          settings:
            $ref: '#/components/schemas/ScanCodeAuthenticationSettingsDetails'
            description: The 

# --- truncated at 32 KB (81 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ppro/refs/heads/main/openapi/ppro-authorization-endpoints-api-openapi.yml