Yapily Hosted Payment Pages API

Hosted Payment Pages endpoints for payments products

OpenAPI Specification

yapily-hosted-payment-pages-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Yapily Beneficiaries Application Beneficiaries Hosted Payment Pages API
  description: Application and User Beneficiaries endpoints for managing reusable payment counterparties.
  version: 12.4.0
  contact:
    name: Yapily Support
    url: https://docs.yapily.com/resources/support
    email: support@yapily.com
servers:
- url: https://api.yapily.com
security:
- basicAuth: []
tags:
- description: Hosted Payment Pages endpoints for payments products
  name: Hosted Payment Pages
paths:
  /hosted/payment-requests:
    post:
      description: Used to initiate a payment request using Yapily Hosted Pages.
      x-beta: true
      operationId: createHostedPaymentRequest
      parameters:
      - $ref: '#/components/parameters/SubAppHeader'
      requestBody:
        content:
          application/json;charset=UTF-8:
            examples:
              Create Hosted Payment Request:
                $ref: '#/components/examples/create-hosted-payment-request'
            schema:
              $ref: '#/components/schemas/CreateHostedPaymentRequest'
        required: true
      responses:
        '201':
          content:
            application/json;charset=UTF-8:
              examples:
                Create Hosted Payment Request Response:
                  $ref: '#/components/examples/create-hosted-payment-request-response'
              schema:
                $ref: '#/components/schemas/ApiResponseOfCreateHostedPaymentRequest'
          description: Created
        '400':
          content:
            application/json;charset=UTF-8:
              examples:
                400 Error Response:
                  $ref: '#/components/examples/400-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Bad Request
        '401':
          content:
            application/json;charset=UTF-8:
              examples:
                401 Error Response:
                  $ref: '#/components/examples/401-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Unauthorized. Credentials are missing or invalid
        '500':
          content:
            application/json;charset=UTF-8:
              examples:
                500 Error Response:
                  $ref: '#/components/examples/500-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Unexpected Error
        default:
          content:
            application/json;charset=UTF-8:
              examples:
                Error Response:
                  $ref: '#/components/examples/error-response-code-401'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Error Response
      summary: Create Hosted Payment Request
      tags:
      - Hosted Payment Pages
      x-mint:
        content: '<Info>Learn more: [Hosted Payment Pages](/tools-and-services/hosted-pages/overview)</Info>'
  /hosted/payment-requests/links:
    post:
      description: Used to created a long lived payment request for Pay By Link
      x-beta: true
      operationId: createHostedPaymentRequestLink
      requestBody:
        content:
          application/json;charset=UTF-8:
            examples:
              Create Hosted Payment Request:
                $ref: '#/components/examples/create-hosted-payment-request-link'
            schema:
              $ref: '#/components/schemas/CreateHostedPaymentRequestLink'
        required: true
      responses:
        '201':
          content:
            application/json;charset=UTF-8:
              examples:
                Create Hosted Payment Request Response:
                  $ref: '#/components/examples/create-hosted-payment-request-link-response'
              schema:
                $ref: '#/components/schemas/ApiResponseOfCreateHostedPaymentRequestLink'
          description: Created
        '400':
          content:
            application/json;charset=UTF-8:
              examples:
                400 Error Response:
                  $ref: '#/components/examples/400-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Bad Request
        '401':
          content:
            application/json;charset=UTF-8:
              examples:
                401 Error Response:
                  $ref: '#/components/examples/401-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Unauthorized. Credentials are missing or invalid
        '500':
          content:
            application/json;charset=UTF-8:
              examples:
                500 Error Response:
                  $ref: '#/components/examples/500-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Unexpected Error
        default:
          content:
            application/json;charset=UTF-8:
              examples:
                Error Response:
                  $ref: '#/components/examples/error-response-code-401'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Error Response
      summary: Create Pay by Link
      tags:
      - Hosted Payment Pages
      x-mint:
        content: '<Info>Learn more: [Pay By Link](/tools-and-services/pay-by-link/overview)</Info>'
  /hosted/payment-requests/{paymentRequestId}:
    get:
      description: Used to get details of a payment request
      x-beta: true
      operationId: getHostedPaymentRequest
      parameters:
      - description: Unique Identifier of the payment request
        in: path
        name: paymentRequestId
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/SubAppHeader'
      responses:
        '200':
          content:
            application/json;charset=UTF-8:
              examples:
                Get Hosted Payment Request Response:
                  $ref: '#/components/examples/get-hosted-payment-request-response'
              schema:
                $ref: '#/components/schemas/ApiResponseOfGetHostedPaymentRequest'
          description: Ok
        '401':
          content:
            application/json;charset=UTF-8:
              examples:
                401 Error Response:
                  $ref: '#/components/examples/401-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Unauthorized
        '404':
          content:
            application/json;charset=UTF-8:
              examples:
                404 Error Response:
                  $ref: '#/components/examples/404-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Not Found
        '500':
          content:
            application/json;charset=UTF-8:
              examples:
                500 Error Response:
                  $ref: '#/components/examples/500-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Unexpected Error
        default:
          content:
            application/json;charset=UTF-8:
              examples:
                Error Response:
                  $ref: '#/components/examples/error-response-code-401'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Error Response
      summary: Get Hosted Payment Request
      tags:
      - Hosted Payment Pages
  /hosted/vrp/consent-requests:
    post:
      description: Used to initiate a VRP consent / mandate request through Yapily Hosted Pages
      operationId: createHostedVRPConsentRequest
      x-beta: true
      parameters:
      - description: __Mandatory__. The unique identifier of the sub application the request is being submitted on behalf of (e.g. an underlying merchant)
        in: header
        name: sub-application
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/CreateHostedVRPConsentRequest'
            examples:
              Create Hosted VRP Consent Request:
                $ref: '#/components/examples/create-hosted-vrp-consent-request'
        required: true
      responses:
        '201':
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ApiResponseOfCreateHostedVRPConsentRequest'
              examples:
                Create Hosted VRP Consent Response:
                  $ref: '#/components/examples/create-hosted-vrp-consent-response'
          description: Created
        '400':
          content:
            application/json;charset=UTF-8:
              examples:
                400 Error Response:
                  $ref: '#/components/examples/400-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Bad Request
        '401':
          content:
            application/json;charset=UTF-8:
              examples:
                401 Error Response:
                  $ref: '#/components/examples/401-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Unauthorized. Credentials are missing or invalid
        '500':
          content:
            application/json;charset=UTF-8:
              examples:
                500 Error Response:
                  $ref: '#/components/examples/500-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Unexpected Error
      summary: Create Vrp Consent
      tags:
      - Hosted Payment Pages
    get:
      description: Used to get all VRP consent requests initiated through Yapily Hosted Pages
      operationId: getHostedVRPConsentRequests
      x-beta: true
      parameters:
      - description: __Mandatory__. The unique identifier of the sub application the request is being submitted on behalf of (e.g. an underlying merchant)
        in: header
        name: sub-application
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ApiResponseOfGetHostedVRPConsentsRequest'
              examples:
                Get Hosted VRP Consents Response:
                  $ref: '#/components/examples/get-hosted-vrp-consents-response'
          description: Ok
        '400':
          content:
            application/json;charset=UTF-8:
              examples:
                400 Error Response:
                  $ref: '#/components/examples/400-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Bad Request
        '401':
          content:
            application/json;charset=UTF-8:
              examples:
                401 Error Response:
                  $ref: '#/components/examples/401-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Unauthorized. Credentials are missing or invalid
        '500':
          content:
            application/json;charset=UTF-8:
              examples:
                500 Error Response:
                  $ref: '#/components/examples/500-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Unexpected Error
      summary: Get Hosted Vrp Consent Requests
      tags:
      - Hosted Payment Pages
  /hosted/vrp/consent-requests/{consentRequestId}:
    get:
      description: Used to get details of a VRP Consent Request
      operationId: getHostedVrpConsentRequest
      x-beta: true
      parameters:
      - description: The unique identifier of the sub application the request is being submitted on behalf of (e.g. an underlying merchant)
        in: header
        name: sub-application
        schema:
          type: string
      - description: Unique Identifier of the Consent Request
        in: path
        name: consentRequestId
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ApiResponseOfGetHostedVRPConsentRequest'
              examples:
                Get Hosted VRP Consent Response:
                  $ref: '#/components/examples/get-hosted-vrp-consent-response'
          description: Ok
        '401':
          content:
            application/json;charset=UTF-8:
              examples:
                401 Error Response:
                  $ref: '#/components/examples/401-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Unauthorized
        '404':
          content:
            application/json;charset=UTF-8:
              examples:
                404 Error Response:
                  $ref: '#/components/examples/404-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Not Found
        '500':
          content:
            application/json;charset=UTF-8:
              examples:
                500 Error Response:
                  $ref: '#/components/examples/500-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Unexpected Error
      summary: Get Hosted Vrp Consent Request
      tags:
      - Hosted Payment Pages
  /hosted/vrp/consent-requests/{consentRequestId}/revoke:
    post:
      description: Revoke Hosted VRP Consent Request
      operationId: revokeHostedConsentRequest
      x-beta: true
      parameters:
      - description: The unique identifier of the sub application the request is being submitted on behalf of (e.g. an underlying merchant)
        in: header
        name: sub-application
        schema:
          type: string
      - description: Unique Identifier of the Consent Request
        in: path
        name: consentRequestId
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ApiResponseOfRevokeHostedVRPConsentRequest'
              examples:
                Revoke Hosted VRP Consent Response:
                  $ref: '#/components/examples/revoke-hosted-vrp-consent-response'
          description: Ok
        '401':
          content:
            application/json;charset=UTF-8:
              examples:
                401 Error Response:
                  $ref: '#/components/examples/401-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Unauthorized
        '404':
          content:
            application/json;charset=UTF-8:
              examples:
                404 Error Response:
                  $ref: '#/components/examples/404-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Not Found
        '500':
          content:
            application/json;charset=UTF-8:
              examples:
                500 Error Response:
                  $ref: '#/components/examples/500-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Unexpected Error
      summary: Revoke Hosted Vrp Consent Request
      tags:
      - Hosted Payment Pages
  /hosted/vrp/consent-requests/{consentRequestId}/payments:
    post:
      description: Creates a Variable Recurring Payment
      operationId: createHostedVrpPayment
      x-beta: true
      parameters:
      - description: Unique Identifier of the Consent Request
        in: path
        name: consentRequestId
        required: true
        schema:
          type: string
          format: uuid
      - description: __Mandatory__. The `consent-token` containing the user's authorisation to make the request.
        example: '{consentToken}'
        in: header
        name: consent-token
        required: true
        schema:
          type: string
      - description: The unique identifier of the sub application the request is being submitted on behalf of (e.g. an underlying merchant)
        in: header
        name: sub-application
        schema:
          type: string
      requestBody:
        content:
          application/json;charset=UTF-8:
            examples:
              Hosted VRP Payment Request:
                $ref: '#/components/examples/create-hosted-vrp-payment-request'
            schema:
              $ref: '#/components/schemas/CreateHostedVRPPaymentRequest'
        required: true
      responses:
        '201':
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ApiResponseOfCreateHostedVRPPaymentRequest'
              examples:
                Hosted VRP Payment Response:
                  $ref: '#/components/examples/create-hosted-vrp-payment-response'
          description: Created
        '401':
          content:
            application/json;charset=UTF-8:
              examples:
                401 Error Response:
                  $ref: '#/components/examples/401-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Error Response
        default:
          content:
            application/json;charset=UTF-8:
              examples:
                400 Error Response:
                  $ref: '#/components/examples/400-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Error Response
      summary: Create Vrp Payment
      tags:
      - Hosted Payment Pages
  /hosted/vrp/consent-requests/{consentRequestId}/payments/{paymentId}:
    get:
      description: Used to get details of a VRP Payment
      operationId: getHostedVRPPaymentRequest
      x-beta: true
      parameters:
      - description: Unique Identifier of the Consent Request
        in: path
        name: consentRequestId
        required: true
        schema:
          type: string
          format: uuid
      - description: Unique Identifier of the Consent Request
        in: path
        name: paymentId
        required: true
        schema:
          type: string
      - description: The unique identifier of the sub application the request is being submitted on behalf of (e.g. an underlying merchant)
        in: header
        name: sub-application
        schema:
          type: string
      responses:
        '200':
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ApiResponseOfGetHostedVRPPaymentRequest'
              examples:
                UK Domestic VRP Payment Example Response:
                  $ref: '#/components/examples/get-hosted-vrp-payment-response'
          description: Ok
        '401':
          content:
            application/json;charset=UTF-8:
              examples:
                401 Error Response:
                  $ref: '#/components/examples/401-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Unauthorized
        '404':
          content:
            application/json;charset=UTF-8:
              examples:
                404 Error Response:
                  $ref: '#/components/examples/404-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Not Found
        '500':
          content:
            application/json;charset=UTF-8:
              examples:
                500 Error Response:
                  $ref: '#/components/examples/500-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Unexpected Error
      summary: Get Vrp Payment
      tags:
      - Hosted Payment Pages
  /hosted/vrp/consent-requests/{consentRequestId}/funds-confirmation:
    post:
      description: "Confirms whether there are available funds on the Payer account to execute a Variable Recurring Payment after obtaining the user's authorisation. \n\nFeatures:\n\n- `VARIABLE_RECURRING_PAYMENT_FUNDS_CONFIRMATION`"
      operationId: createHostedVrpFundsConfirmation
      x-beta: true
      parameters:
      - description: Unique Identifier of the Consent Request
        in: path
        name: consentRequestId
        required: true
        schema:
          type: string
          format: uuid
      - description: __Mandatory__. The `consent-token` containing the user's authorisation to make the request.
        example: '{consentToken}'
        in: header
        name: consent-token
        required: true
        schema:
          type: string
      - description: The unique identifier of the sub application the request is being submitted on behalf of (e.g. an underlying merchant)
        in: header
        name: sub-application
        schema:
          type: string
      requestBody:
        content:
          application/json;charset=UTF-8:
            examples:
              Hosted VRP Payment Request:
                $ref: '#/components/examples/create-hosted-vrp-fund-confirmation'
            schema:
              $ref: '#/components/schemas/VrpFundsConfirmationRequest'
        required: true
      responses:
        '201':
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ApiResponseOfVrpFundsConfirmationResponse'
              examples:
                Hosted VRP Payment Response:
                  $ref: '#/components/examples/create-hosted-vrp-fund-confirmation-response'
          description: Created
        '401':
          content:
            application/json;charset=UTF-8:
              examples:
                401 Error Response:
                  $ref: '#/components/examples/401-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Error Response
        default:
          content:
            application/json;charset=UTF-8:
              examples:
                400 Error Response:
                  $ref: '#/components/examples/400-error-response'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Error Response
      summary: Check Funds Availability
      tags:
      - Hosted Payment Pages
components:
  schemas:
    HostedVRPPaymentResponse:
      type: object
      properties:
        id:
          type: string
        paymentIdempotencyId:
          type: string
        amount:
          $ref: '#/components/schemas/Amount'
        reference:
          type: string
          description: __Optional__. The payment reference or description. Limited to a maximum of 18 characters long.
          example: Own Account Sweeping
        payee:
          $ref: '#/components/schemas/Payee'
        payer:
          $ref: '#/components/schemas/HostedVrpPayerResponse'
        refundAccount:
          $ref: '#/components/schemas/HostedVrpRefundAccount'
        risk:
          $ref: '#/components/schemas/PaymentRisk'
        paymentLifecycleId:
          type: string
          description: The Unique Identifier provided by TPP in the Payment request to identify the payment.
        expectedExecutionTime:
          type: string
          format: date-time
        expectedSettlementTime:
          type: string
          format: date-time
        institutionPaymentId:
          type: string
        statusDetails:
          $ref: '#/components/schemas/HostedPaymentStatusDetails'
    HostedNonSweepingPeriodicLimits:
      required:
      - maxAmount
      - frequency
      - alignment
      type: object
      properties:
        maxAmount:
          allOf:
          - $ref: '#/components/schemas/Amount'
          description: __Mandatory__. Maximum amount that can be specified in all payment instructions in a given period under this VRP consent. If the Alignment is Calendar, the limit is pro-rated in the first period to the remaining number of days.
        frequency:
          type: string
          description: __Mandatory__. Frequency for which the payment limits are enforced. Allowed values are [MONTHLY].
        alignment:
          type: string
          description: __Mandatory__. Period alignment for which the payment limits are enforced. Allowed values are [CONSENT, CALENDAR]. If CONSENT, then period starts on consent creation date. If CALENDAR, then period lines up with the frequency e.g. WEEKLY period will begin at start of the week in question.
    PaymentContextTypeV2:
      title: Payment Code
      type: string
      description: __Optional__. The payment context code. Allowed values are [BILL_IN_ADVANCE, BILL_IN_ARREARS, ECOMMERCE_MERCHANT, FACE_TO_FACE_POS, TRANSFER_TO_SELF,TRANSFER_TO_THIRD_PARTY, PISP_PAYEE ].
    CreateHostedVRPConsentRequest:
      required:
      - redirectUrl
      - institutionIdentifiers
      - vrpSetup
      type: object
      properties:
        userId:
          type: string
          format: uuid
          description: __Conditional__. Yapily Identifier for the `User` returned by the create user step POST /users. Clients must either provide userId or applicationUserId.
        applicationUserId:
          type: string
          description: __Conditional__. Client's own `User` reference. If the client wants to work with their own unique references for individual PSUs then they can use the applicationUserId property to provide that value. Where Yapily does not already have a Yapily userId that matches the supplied applicationUserId, then a new Yapily userId is created automatically and linked to the applicationUserId value. Clients must either provide userId or applicationUserId.
        institutionIdentifiers:
          $ref: '#/components/schemas/InstitutionIdentifiers'
        userSettings:
          $ref: '#/components/schemas/UserSettings'
        redirectUrl:
          type: string
          description: URL of client's server to redirect the PSU after completion of the consent authorisation.
          example: https://tpp-application.com
        oneTimeToken:
          type: boolean
          description: Used to receive a oneTimeToken rather than a consentToken at the redirectUrl for additional security. This can only be used when the redirectUrl is set.
          example: 'false'
        vrpSetup:
          $ref: '#/components/schemas/VRPSetupRequest'
    ResponseMeta:
      type: object
      properties:
        tracingId:
          type: string
    GetHostedVRPConsentsResponse:
      type: array
      items:
        required:
        - id
        - applicationId
        type: object
        properties:
          id:
            type: string
            format: uuid
            description: Represents the Unique Id of the VRP consent request
          applicationId:
            type: string
            format: uuid
            description: Represents the Unique Id of the `Application` the user is associated with.
          institutionIdentifiers:
            $ref: '#/components/schemas/InstitutionIdentifiers'
          vrpSetup:
            $ref: '#/components/schemas/VRPSetupRequest'
          updatedAt:
            type: string
            format: date-time
            description: Represents the date and time at which the Consent was updated.
          consentStatus:
            type: string
            description: Current status of the authorisation. Can be one of [AWAITING_AUTHORIZATION, AUTHORIZED, REJECTED, REVOKED, FAILED, EXPIRED]
    ApiError:
      type: object
      description: Provides details of the error that has occurred.
      properties:
        code:
          type: integer
          description: __Mandatory__. Numeric `HTTP` status code associated with the error.
          format: int32
        institutionError:
          $ref: '#/components/schemas/InstitutionError'
        message:
          type: string
          description: __Mandatory__. Description of the exact error that has been experienced.
        source:
          type: string
        status:
          type: string
          description: __Mandatory__. Textual description of the `HTTP` error status type.
        tracingId:
          type: string
          description: __Optional__.  A unique identifier assigned by Yapily for the request that can be used for support purposes.
    AddressTypeEnumResponse:
      title: Address Type
      type: string
      description: The type of address
      enum:
      - BUSINESS
      - CORRESPONDENCE
      - DELIVERY_TO
      - MAIL_TO
      - PO_BOX
      - POSTAL
      - RESIDENTIAL
      - STATEMENT
      - UNKNOWN
    PaymentStatus:
      type: string
      description: "The status of the Payment. \n\nFor more information, see [Payment Status](/guides/payments/payment-status/)"
      enum:
      - PENDING
      - FAILED
      - DECLINED
      - COMPLETED
      - COMPLETED_SETTLEMENT_IN_PROCESS
      - EXPIRED
      - UNKNOWN
      - ACTIVE
      - INACTIVE
    InstitutionIdentifiers:
      description: Specifies the institution requirements for making the payment. Skips the bank selection screen in payment flow if the `institutionId` and `institutionCountryCode` are provided.
      type: object
      required:
      - institutionCountryCode
      properties:
        institutionId:
          type: string
          description: Yapily identifier which identifies the `Institution` the payment request is sent to.
        institutionCountryCode:
          type: string
          description: 2 letter ISO Country code of the `Institution` the payment request is sent to.
          example: GB
    RawResponse:
      deprecated: true
      type: object
      description: '[DEPRECATED] Interaction (raw request and response) that occurred with the `Institution` in order to fulfil a request.'
      properties:
        request:
          $ref: '#/components/schemas/RawRequest'
        duration:
          type: string
          format: iso8601
        headers:
          type: object
          additionalProperties:
            type: string
        resultCode:
          type: integer
          format: int32
        result:
          type: object
    ApiResponseOfRevokeHostedVRPConsentRequest:
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/ResponseMeta'
        data:
          $ref: '#/components/schemas/HostedVRPConsentDetails'
    PaymentContextTypeResponse:
      title: Payment Code
      type: string
      description: The payment context code.
      enum:
      - BILL
      - GOODS
      - SERVICES
      - OTHER
      - PERSON_TO_PERSON
    HostedVrpRefundAccount:
      type: object
      description: The account to which funds should be returned if the payment is to be later refunded.
      properties:
        name:
          type: string
        accountIdentifications:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/HostedVrpAccountIdentification'
    PaymentContextType:
      title: Payment Code
      type: string
      default: OTHER
      description: __Optional__. The payment context code. This defaults to `OTHER` if not specified.
      enum:
      - BILL
      - GOODS
      - SERVICES
      - OTHER
      - PERSON_TO_PERSON
      - BILL_IN_ADVANCE
      - BILL_IN_ARREARS
      - ECOMMERCE_MERCHANT
      - FACE_TO_FACE_POS
      - TRANSFER_TO_SELF
      - TRANSFER_TO_THIRD_PARTY
      - PISP_PAYEE
    VRPSetupRequest:
      required:
      - payee
      type: object
      properties:
        payer:
          $ref: '#/components/schemas/Payer'
        payee:
          $ref: '#/components/schemas/Payee'
        reference:
          type: string
          description: __Optional__. The payment reference or description. Limited to a 

# --- truncated at 32 KB (124 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/yapily/refs/heads/main/openapi/yapily-hosted-payment-pages-api-openapi.yml