> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rc.cleverhub.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Payment Request Status

> Retrieve the current status of a bank payment request. This endpoint allows you to check the status of a specific payment, helping you track its progress and outcome. The possible statuses are as follows:

- `pending`: The customer has not yet made the requested payment.
- `received`: The payment has been successfully completed by the customer.
- `expired`: The payment request has expired due to the time limit.
- `return_pending`: A refund (either full or partial) has been requested on this payment.
- `return_received`: The refund has been successfully transferred back to the original payer.
- `return_expired`: The refund request expired after 10 days without being completed.
- `return_rejected`: The refund failed due to an issue with the destination account, and Hello Clever will not retry the transaction.

To retrieve the status, you must provide either a unique `id` or both `bsb` and `account_number`. If both `id` and `bsb` with `account_number` are provided, `id` will be prioritised.




## OpenAPI

````yaml /api/openapi/v1-reference.yaml get /v1/payment_requests/bank_payments_status
openapi: 3.0.3
info:
  title: Payment APIs (AUD only)
  description: >-
    ## Introduction

    The Payment API Solution (AUD) offers developers a comprehensive suite of
    API services to build innovative AUD payment solutions efficiently. These
    APIs enable seamless transactions using various payment methods and
    functionalities, ensuring a robust, reliable, and scalable payment
    infrastructure tailored for the Australian market.

    ### Key Features

    - **Payment Methods**:
      - **Payment Link**: Supports payments via card and PayID.
      - **PayID**: Provides instant payments using a unique identifier.
      - **PayTo**: Enables scheduled or recurring payments.
      - **BSB/Account Number**: Allows direct bank transfers.
      - **Payout**: Manage payouts to designated accounts.

    - **Additional Functionalities**:
      - **Balance Management**: Real-time balance inquiries and updates.
      - **Reporting Services**: Generate detailed transaction and payment reports.

    This documentation provides detailed guidance for integrating these
    capabilities into your application.
  termsOfService: https://helloclever.co/terms
  contact:
    email: support@helloclever.co
  version: 1.0.11
servers:
  - url: https://api.cleverhub.co/api
    description: Sandbox Environment
  - url: https://api-merchant.helloclever.co/api
    description: Production Environment
security: []
paths:
  /v1/payment_requests/bank_payments_status:
    get:
      tags:
        - AUD BSB/Account Number
      summary: Get Payment Request Status
      description: >
        Retrieve the current status of a bank payment request. This endpoint
        allows you to check the status of a specific payment, helping you track
        its progress and outcome. The possible statuses are as follows:


        - `pending`: The customer has not yet made the requested payment.

        - `received`: The payment has been successfully completed by the
        customer.

        - `expired`: The payment request has expired due to the time limit.

        - `return_pending`: A refund (either full or partial) has been requested
        on this payment.

        - `return_received`: The refund has been successfully transferred back
        to the original payer.

        - `return_expired`: The refund request expired after 10 days without
        being completed.

        - `return_rejected`: The refund failed due to an issue with the
        destination account, and Hello Clever will not retry the transaction.


        To retrieve the status, you must provide either a unique `id` or both
        `bsb` and `account_number`. If both `id` and `bsb` with `account_number`
        are provided, `id` will be prioritised.
      operationId: getBankPaymentStatus
      parameters:
        - in: query
          name: id
          required: false
          schema:
            type: integer
          description: >
            The unique Hello Clever ID associated with the payment request. If
            provided, this will be used to fetch the payment status.
          example: 12345
        - in: query
          name: bsb
          required: false
          schema:
            type: string
          description: >
            Bank State Branch (BSB) number associated with the payment request.
            Required if `id` is not provided.
          example: '123456'
        - in: query
          name: account_number
          required: false
          schema:
            type: string
          description: >
            Account number associated with the payment request. Required if `id`
            is not provided.
          example: '987654321'
      responses:
        '200':
          description: Payment request status retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BSBAccountObject'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      security:
        - app-id: []
          secret-key: []
components:
  schemas:
    BSBAccountObject:
      type: object
      properties:
        id:
          type: integer
          description: |
            The unique identifier of the payment, used for tracking purposes.
          example: 12345
        payee_detail:
          type: object
          description: >
            Details of the payee's bank account, including BSB and account
            number, to facilitate the payment.
          properties:
            account_holder_name:
              type: string
              description: >
                The name of the account holder for the payment. This helps
                ensure the correct payee is identified.
              example: Jane Doe
            bsb:
              type: string
              description: >
                The BSB (Bank-State-Branch) number used to facilitate the
                payment, identifying the bank and branch.
              example: '654321'
            account_number:
              type: string
              description: >
                The account number used to make the payment, providing the
                unique identifier of the payee's account.
              example: '987654321'
          required:
            - account_holder_name
            - bsb
            - account_number
        name:
          type: string
          description: |
            The name of the customer associated with the payment request.
          example: Jane Doe
        merchant_name:
          type: string
          description: >
            The name of the merchant handling the payment request, allowing
            identification of the party being paid.
          example: Merchant Inc.
        gst:
          type: boolean
          description: >
            Indicates whether GST (Goods and Services Tax) is applicable to the
            payment. A value of `true` indicates GST is included.
          example: true
        amount:
          type: string
          description: >
            The amount for the payment, excluding GST. This represents the base
            transaction value.
          example: '1000.0'
        total:
          type: string
          description: >
            The total payment amount, including GST. This is the final amount to
            be paid by the customer.
          example: '1100.0'
        gst_amount:
          type: string
          description: >
            The portion of the total amount that represents GST. This helps
            break down the tax component.
          example: '100.0'
        expired_at:
          type: string
          format: date-time
          description: >
            The expiration date and time of the payment request, indicating the
            deadline for making the payment.
          example: '2024-12-31T23:59:59Z'
        external_id:
          type: string
          description: >
            A custom identifier used for tracking purposes, such as an invoice
            or reference number provided by the user.
          example: custom-id-12345
        cashback_amount:
          type: string
          description: >
            The cashback amount offered as part of the transaction, if
            applicable.
          example: '50.0'
        pay_by:
          type: string
          format: date-time
          description: >
            The deadline by which the payment must be completed, providing a
            clear due date.
          example: '2024-12-30T23:59:59Z'
        paid_at:
          type: string
          format: date-time
          description: >
            The date and time when the payment was successfully made, used for
            record-keeping.
          example: '2024-12-25T12:34:56Z'
        status:
          type: string
          enum:
            - pending
            - received
            - expired
            - return_pending
            - return_received
            - return_expired
            - return_rejected
          description: |
            The current status of the payment request. Possible values include:
            - `pending`: Awaiting payment.
            - `received`: Payment completed.
            - `expired`: Payment request expired.
            - `return_pending`: Refund process initiated.
            - `return_received`: Refund completed.
            - `return_expired`: Refund request expired.
            - `return_rejected`: Refund request rejected.
          example: received
        description:
          type: string
          description: >
            A description associated with the payment request, providing context
            or additional details about the transaction.
          example: 'Payment for invoice #1234'
        refund_information:
          type: object
          description: >
            Details of any refund associated with the payment, including bank
            details and refund amount.
          properties:
            refund_bsb:
              type: string
              description: >
                The BSB number used for the refund, identifying the bank
                involved.
              example: '654321'
            refund_account_number:
              type: string
              description: >
                The account number used for the refund, providing the
                destination for refunded funds.
              example: '987654321'
            refund_amount:
              type: string
              description: >
                The amount refunded to the payee, providing clarity on the value
                being returned.
              example: '10.99'
            request_date:
              type: string
              format: date-time
              description: |
                The date when the refund was requested, used for record-keeping.
              example: '2024-07-01T00:00:00Z'
            reason:
              type: string
              description: >
                The reason for the refund, providing context such as incorrect
                payment or product issues.
              example: Refund for incorrect payment
        payment_request_notification:
          type: object
          description: >
            Details of the merchant's callback settings, including the endpoint
            URL and authorization information for receiving payment status
            updates.
          properties:
            endpoint_url:
              type: string
              format: uri
              description: >
                The URL to which payment status updates will be sent by the
                system, allowing the merchant to receive notifications.
              example: https://merchant.com/payment_callback
            authorization_header:
              type: string
              description: >
                The authorization header value used in the callback request,
                helping to ensure the request is authenticated.
              example: Bearer your_token
        nonce:
          type: string
          description: >
            A nonce value used to validate the transaction, ensuring that it is
            unique and preventing replay attacks.
          example: unique_nonce_string
        stage:
          type: string
          enum:
            - overpaid
            - underpaid
            - unmatched_nonce
            - null
          description: >
            Represents the specific stage in a pending transaction. Default
            value is `null` unless the payment amount is incorrect or the nonce
            is unmatched.
          example: overpaid
        additional_property:
          type: string
          description: >
            A new property added to the BSBAccountObject for extended
            functionality or specific use cases.
          example: Additional value
  securitySchemes:
    app-id:
      type: apiKey
      in: header
      name: app-id
      description: |
        A unique identifier assigned to each application.
    secret-key:
      type: apiKey
      in: header
      name: secret-key
      description: |
        A secure token associated with the `app-id`.

````

## Related topics

- [Accept Instant Payments with AUD PayID](/developer-reference/api-use-cases/accept-instant-payments-with-aud-payid.md)
- [Get Payment Request List](/api/aud-bsbaccount-number/get-payment-request-list.md)
- [Get Payment Request Statistics](/api/aud-payid/get-payment-request-statistics.md)
