PPRO Payment Charges API

The Payment Charges API from PPRO — 1 operation(s) for payment charges.

Business capability
Payment Initiation Management BC-1340.10

Operations 1

POST /v1/payment-agreements/{agreement-id}/payment-charges Create a Payment Charge #

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-payment-charges-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-payment-charges-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ppro Payment Charges API
  version: v1
  description: 'Operations tagged Payment Charges across 2 of this provider''s published API definitions: ppro-payment-agreements-openapi.yml, ppro-payment-agreements.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
security:
- bearer_token: []
tags:
- name: Payment Charges
paths:
  /v1/payment-agreements/{agreement-id}/payment-charges:
    post:
      tags:
      - Payment Charges
      summary: Create a Payment Charge
      operationId: createCharge
      parameters:
      - name: agreement-id
        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/AgreementChargeRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AgreementChargeResponse'
        '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.qa.eu.ppro.com/v1/payment-agreements
      description: QA
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).
    AgreementChargeRequest:
      type: object
      properties:
        initiator:
          type: string
          description: The charge initiator
          enum:
          - MERCHANT
          - CONSUMER
        scheduleType:
          type: string
          description: Indicates the type of payment charge being processed. Use UNSCHEDULED for a one-off charge not tied to a schedule. Use SCHEDULED for charge that is part of a recurring schedule. Use SCHEDULED_RETRY for a retry attempt of a previously failed scheduled payment. The RECURRING enum is planned for deprecation and should not be used in new implementations.
          enum:
          - SCHEDULED
          - SCHEDULED_RETRY
          - UNSCHEDULED
          - RECURRING
        paymentDescriptor:
          type: string
          description: The transaction descriptor (arbitrary string). May be presented to the consumer.
          example: PPRO - ORDER 1234
        amount:
          $ref: '#/components/schemas/Money'
          description: The amount to be authorized.
        autoCapture:
          type: boolean
          description: Indicates whether the payment charge should be automatically captured after a successful authorization.
          example: false
        order:
          $ref: '#/components/schemas/Order'
          description: The order details.
        merchantPaymentChargeReference:
          type: string
          description: The merchant payment charge reference. Aka, Transaction Reference.
          example: 5c019979-0751-469e-96e0-b67f1d95c577
        webhooksUrl:
          type: string
          description: The URL to which the payment charge state changes will be notified
          pattern: ^(https)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]
        authenticationSettings:
          type: array
          description: The authorization authentication settings.
          items:
            discriminator:
              propertyName: type
              mapping:
                REDIRECT: '#/components/schemas/RedirectAuthenticationSettings'
                EXTERNAL_3DS: '#/components/schemas/ExternalThreeDsAuthenticationSettings'
                3DS: '#/components/schemas/ThreeDsAuthenticationSettings'
                SCAN_CODE: '#/components/schemas/ScanCodeAuthenticationSettings'
                APP_NOTIFICATION: '#/components/schemas/AppNotificationAuthenticationSettings'
                MULTI_FACTOR: '#/components/schemas/MultiFactorAuthenticationSettings'
            oneOf:
            - allOf:
              - $ref: '#/components/schemas/RedirectAuthenticationSettings'
              title: Authentication Settings
            - allOf:
              - $ref: '#/components/schemas/ExternalThreeDsAuthenticationSettings'
              title: Authentication Settings
            - allOf:
              - $ref: '#/components/schemas/ThreeDsAuthenticationSettings'
              title: Authentication Settings
            - allOf:
              - $ref: '#/components/schemas/ScanCodeAuthenticationSettings'
              title: Authentication Settings
            - allOf:
              - $ref: '#/components/schemas/AppNotificationAuthenticationSettings'
              title: Authentication Settings
            - allOf:
              - $ref: '#/components/schemas/MultiFactorAuthenticationSettings'
              title: Authentication Settings
        consumer:
          $ref: '#/components/schemas/ConsumerUpdate'
          description: The consumer details to override the agreement consumer.
        labels:
          type: object
          additionalProperties:
            type: string
            example: GTM_Campaign
            maxLength: 200
          description: Custom labels associated with the payment agreement charge.
          maxProperties: 50
          propertyNames:
            type: string
            example: consumer_origin
            maxLength: 50
          title: Add Labels
        initialSchemeAuthorizationReference:
          type: string
          description: The initial scheme authorization reference, eg. for cards network transaction identifier (NTI)
          example: XPTO
        initialTransactionLinkReference:
          type: string
          description: 'Transaction Link Reference or Id (ex: Mastercard TLID) is a unique identifier for a transaction, used by some card networks for transaction chain linking, this is in addition to Network Transaction Identifiers. Provide the initial TLID when creating the subsequent Merchant-Initiated-Transactions.'
          example: atf3_8msFoZ6klReRDlQwn
      required:
      - amount
    RedirectAuthenticationSettingsDetails:
      type: object
      properties:
        returnUrl:
          type: string
          description: The page where the consumer should be redirected to after the payment succeeds.
          example: https://example.com/order_details?order_id=12345
    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
    MultiFactorAuthenticationSettingsDetails:
      type: object
      properties:
        verificationCode:
          type: string
          description: Code generated to authenticate the user.
          example: '777123'
    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
      title: Industry Data (AIRLINE)
    AgreementChargeResponse:
      type: object
      properties:
        id:
          type: string
          description: The payment charge identifier.
          example: 5c019979-0751-469e-96e0-b67f1d95c577
        paymentMethod:
          type: string
          description: The payment method which was used to process the payment charge.
          example: klarna_bnpl
        currency:
          type: string
          description: ISO 4217 3-letter code of the payment charge currency.
          example: EUR
          maxLength: 3
          minLength: 3
        country:
          type: string
          description: The payment charge country.
          example: DE
        paymentDescriptor:
          type: string
          description: The payment charge transaction descriptor.
          example: PPRO - ORDER 1234
        instrumentId:
          type: string
          description: The ID of the payment instrument associated with this charge.
        instrumentUpdated:
          type: boolean
          description: Indicates that the Payment Instrument has been updated during processing. Query Payment Instruments to retrieve the new details.
        status:
          type: string
          description: The payment charge status.
          enum:
          - AUTHORIZATION_PROCESSING
          - AUTHORIZATION_ASYNC
          - AUTHENTICATION_PENDING
          - CAPTURE_PENDING
          - CAPTURE_PROCESSING
          - CAPTURED
          - REFUND_PROCESSING
          - REFUNDED
          - VOID_PROCESSING
          - VOIDED
          - DISCARDED
          - FAILED
        consumer:
          $ref: '#/components/schemas/Consumer'
          description: The payment charge consumer details.
        order:
          $ref: '#/components/schemas/Order'
          description: The payment charge order details.
        failure:
          $ref: '#/components/schemas/ProcessingFailure'
          description: The latest payment charge processing failure.
        authorizations:
          type: array
          description: The payment charge authorizations.
          items:
            $ref: '#/components/schemas/PaymentChargeAuthorization'
        captures:
          type: array
          description: The payment charge captures.
          items:
            $ref: '#/components/schemas/PaymentChargeCapture'
        refunds:
          type: array
          description: The payment charge refunds.
          items:
            $ref: '#/components/schemas/PaymentChargeRefund'
        voids:
          type: array
          description: The payment charge voids.
          items:
            $ref: '#/components/schemas/PaymentChargeVoid'
        createdAt:
          type: string
          format: date-time
          description: The payment charge creation timestamp in ISO 8601 format.
        updatedAt:
          type: string
          format: date-time
          description: The payment charge update timestamp in ISO 8601 format.
        networkTransactionIdentifier:
          type: string
          deprecated: true
          description: The NTI (Network Transaction Identifier)
          example: XPTO
        initialTransactionLinkReference:
          type: string
          description: 'Transaction Link Reference or Id (ex: Mastercard TLID) is a unique identifier for a transaction, used by some card networks for transaction chain linking, this is in addition to Network Transaction Identifiers. Provide the initial TLID when creating the subsequent Merchant-Initiated-Transactions.'
          example: atf3_8msFoZ6klReRDlQwn
        labels:
          type: object
          additionalProperties:
            type: string
            example: GTM_Campaign
            maxLength: 200
          description: Custom labels associated with the payment agreement charge.
          maxProperties: 50
          propertyNames:
            type: string
            example: consumer_origin
            maxLength: 50
    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
    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'
    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
    AirlineDetails:
      type: object
      properties:
        pnr:
          type: string
          description: The passenger number record
          example: SKJ2NS01AS
          minLength: 1
        numberOfPassengers:
          type: integer
          format: int32
          description: The number of passengers
          example: 1
          minimum: 1
        airlineCode:
          type: string
          description: The airline code
          example: '016'
        passengerEmail:
          type: string
          description: The passenger email
          example: john@gmail.com
        passengerPhone:
          type: string
          description: The passenger phone number
          example: '14082319231'
        passengerName:
          type: string
          description: The passenger name
          example: John Doe
        carrierCode:
          type: string
          description: The airline carrier code
          example: '016'
        tripSegments:
          type: array
          description: The trip segment details
          items:
            $ref: '#/components/schemas/AirlineTripSegment'
      required:
      - pnr
    ScanCodeAuthenticationSettings:
      allOf:
      - $ref: '#/components/schemas/AuthenticationSettings'
      - type: object
        properties:
          settings:
            $ref: '#/components/schemas/ScanCodeAuthenticationSettingsDetails'
            description: The SCAN_CODE authentication settings.
          type:
            type: string
            description: The SCAN_CODE authentication type settings.
            enum:
            - SCAN_CODE
      title: Authentication Settings (SCAN_CODE)
    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 settings.
            enum:
            - REDIRECT
      title: Authentication Settings (REDIRECT)
    AuthenticationSettings:
      discriminator:
        propertyName: type
        mapping:
          3DS: '#/components/schemas/ThreeDsAuthenticationSettings'
          SCAN_CODE: '#/components/schemas/ScanCodeAuthenticationSettings'
          EXTERNAL_3DS: '#/components/schemas/ExternalThreeDsAuthenticationSettings'
          MULTI_FACTOR: '#/components/schemas/MultiFactorAuthenticationSettings'
          APP_NOTIFICATION: '#/components/schemas/AppNotificationAuthenticationSettings'
          REDIRECT: '#/components/schemas/RedirectAuthenticationSettings'
      properties:
        type:
          type: string
      required:
      - type
    AppNotificationAuthenticationSettings:
      allOf:
      - $ref: '#/components/schemas/AuthenticationSettings'
      - type: object
        properties:
          settings:
            $ref: '#/components/schemas/AppNotificationAuthenticationSettingsDetails'
            description: The APP_NOTIFICATION authentication settings.
          type:
            type: string
            description: The APP_NOTIFICATION authentication type settings.
            enum:
            - APP_NOTIFICATION
      title: Authentication Settings (APP_NOTIFICATION)
    PaymentChargeAuthorization:
      type: object
      properties:
        id:
          type: string
        amount:
          type: integer
          format: int64
        status:
          type: string
          enum:
          - AUTHORIZED
          - AUTHENTICATION_PENDING
          - PROVIDER_CONFIRMATION_PENDING
          - FAILED
        merchantPaymentChargeReference:
          type: string
        schemeAuthorizationReference:
          type: string
          description: The scheme authorization reference post successful authorization, eg. for cards network transaction identifier (NTI)
          example: XPTO
        transactionLinkReference:
          type: string
          description: 'Transaction Link Reference or Id (ex: Mastercard TLID) is a unique identifier for a transaction, used by some card networks for transaction chain linking, this is in addition to Network Transaction Identifiers. This value will be present if it is returned by the financial network in the authorization response, and null otherwise.'
          example: atf3_8msFoZ6klReRDlQwn
        failure:
          $ref: '#/components/schemas/ProcessingFailure'
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    ExternalThreeDsAuthenticationSettings:
      allOf:
      - $ref: '#/components/schemas/AuthenticationSettings'
      - type: object
        properties:
          settings:
            $ref: '#/components/schemas/ExternalThreeDs'
            description: The EXTERNAL_3DS authentication settings.
          type:
            type: string
            description: The `EXTERNAL_3DS` authentication type.
            enum:
            - EXTERNAL_3DS
      title: Authentication Settings (EXTERNAL_3DS)
    Client:
      type: object
      properties:
        ip:
          type: string
          description: The IP address of the client
          example: 11.22.22.33
        userAgent:
          type: string
          description: The user agent of the client device
          example: Mozilla/5.0 (X11; CrOS x86_64 8172.45.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.64 Safari/537.36
          maxLength: 500
          minLength: 0
    MultiFactorAuthenticationSettings:
      allOf:
      - $ref: '#/components/schemas/AuthenticationSettings'
      - type: object
        properties:
          settings:
            $ref: '#/components/schemas/MultiFactorAuthenticationSettingsDetails'
            description: The MULTI_FACTOR authentication settings.
          type:
            type: string
            description: The MULTI_FACTOR authentication type settings.
            enum:
            - MULTI_FACTOR
      title: Authentication Settings (MULTI_FACTOR)
    Consumer:
      type: object
      properties:
        name:
          type: string
          description: The consumer name.
          example: John Smith
        email:
          type: string
          description: The consumer email.
          example: johnsmith@example.com
        phone:
          type: string
          description: The consumer phone number.
          example: '+491521111111'
        birthDate:
          type: string
          format: date
          description: The consumer birth date.
          example: '1995-06-06'
        country:
          type: string
          description: 2-letter ISO code of the country where the payment instrument or account has been issued or established (for example GB, US, DE).
          example: DE
        locale:
          type: string
          description: The locale describing the preferred language of the consumer
          example: de-DE
        client:
          $ref: '#/components/schemas/Client'
          description: Consumer's client data
        taxIdentification:
          type: string
          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: 0798154336790
        merchantConsumerReference:
          type: string
          description: The merchant provided reference for the consumer.
          example: 5c019979-0751-469e-96e0-b67f1d95c577
        billingAddress:
          $ref: '#/components/schemas/Address'
          description: The consumer's billing address.
        profile:
          $ref: '#/components/schemas/Profile'
          description: The consumer's profile details as available from the merchant
      required:
      - country
    PaymentChargeVoid:
      type: object
      properties:
        id:
          type: string
        amount:
          type: integer
          format: int64
        status:
          type: string
          enum:
          - VOIDED
          - FAILED
        merchantVoidReference:
          type: string
        failure:
          $ref: '#/components/schemas/ProcessingFailure'
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    AirlineTripSegment:
      type: object
      properties:
        fareBasisCode:
          type: string
          description: The fare basis code
          example: YE3MGB
        departureAirportCode:
          type: string
          description: The departure airport code
          example: MAN
        destinationAirportCode:
          type: string
          description: The destination airport code
          example: SYD
        flightNumber:
          type: string
          description: The flight number
          example: BA98
        departureDate:
          type: string
          format: date
          description: The departure date
          example: '2025-01-01'
        flightCarrierCode:
          type: string
          description: The flight carrier code
          example: '016'
        segmentId:
          type: string
          description: The trip segment ID
          example: '1'
    ConsumerUpdate:
      type: object
      properties:
        taxIdentification:
          type: string
          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'
        client:
          $ref: '#/components/schemas/Client'
          description: Consumer's client data
    ExceptionResponseBody:
      type: object
      properties:
        status:
          type: integer
          format: int32
        failureMessage:
          type: string
        timestamp:
          type: string
          format: date-time
        extensions:
          type: object
          additionalProperties: {}
    PaymentChargeCapture:
      type: object
      properties:
        id:
          type: string
        amount:
          type: integer
          format: int64
        status:
          type: string
          enum:
          - CAPTURED
          - FAILED
        merchantCaptureReference:
          type: string
        failure:
          $ref: '#/components/schemas/ProcessingFailure'
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    ThreeDsAuthenticationSettingsDetails:
      type: object
      properties:
        returnUrl:
          type: string
          description: The URL to which the consumer is redirected after completing the 3D Secure authentication flow.
          example: https://www.ppro.com/
        preference:
          type: string
          description: The preferred 3D Secure authentication flow.
          enum:
          - CHALLENGE
          - FRICTIONLESS
    ThreeDsAuthenticationSettings:
      allOf:
      - $ref: '#/components/schemas/AuthenticationSettings'
      - type: object
        properties:
          settings:
            $ref: '#/components/schemas/ThreeDsAuthenticationSettingsDetails'
            description: The 3DS authentication settings.
          type:
            type: string
            description: The `3DS` authentication type.
            enum:
            - 3DS
      title: Authentication Settings (3DS)
    PaymentChargeRefund:
      type: object
      properties:
        id:
          type: string
        amount:
          type: integer
          format: int64
        status:
          type: string
          enum:
          - REFUNDED
          - FAILED
        merchantRefundReference:
          type: string
        failure:
          $ref: '#/components/schemas/ProcessingFailure'
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    Profile:
      type: object
      properties:
        createdDate:
          type: string
          format: date
          description: Profile creation date
          example: '2025-01-01'
        firstOrderDate:
          type: string
          format: date
          description: Date of first order
          example: '2025-01-05'
        lastOrderDate:
          type: string
          format: date
          description: Date of recent order
          example: '2025-06-06'
        lifetimeOrderCount:
          type: integer
          format: int64
          description: Total number of successful orders
          example: 10
        lifetimeOrderValue:
          type: integer
          format: int64
          description: Total lifetime order value
          example: 1000
        lifetimeCanceledOrderCount:
          type: integer
          format: int64
          description: Total number of canceled orders
          example: 1
    ScanCodeAuthenticationSettingsDetails:
      type: object
      properties:
        scanBy:
          type: string
          format: date-time
          description: Custom expiry date in ISO 8601 format.
          example: '2023-03-26T20:24:27.123Z'
    Address:
      type: object
      properties:
        firstName:
          type: string
          description: The address first name.
          example: John
        lastName:
          type: string
          description: The address last name.
          example: Smith
        phoneNumber:
          type: string
          descripti

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