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

# List All Payment Order Attempts

> #### Overview - Get Payment Order Attempts

#### Purpose

This endpoint allows you to query the status and details of all payment attempts (PaymentOrderAttempt) associated with a payment order. It's useful for:

- Checking the statuses of a payment attempts

- Retrieving configured redirect URLs for the attempt

- Querying payment provider (PSP) information

- Reviewing payer data and applied costs

#### Operation Flow

1. Client sends a GET request with:
    - payment_order_id (Payment order ID)
    - Authentication headers (Authorization, X-Date)

2. System validates:
    - Authentication signature (HMAC)
    - Payment order existence
    - Payment attempt existence
    - Rate limiting (1 request per minute per unique combination)

3. If successful, returns:
    - Attempt status (pending, paid, cancelled, error)
    - Payment provider information
    - Redirect URLs
    - Applied costs
    - Payer data
    - Timestamps

##### EndpointGET /v1/businesses/payment_orders/:payment_order_id/attempts

#### Authentication

Requires Business API authentication headers:

- Authorization: HMAC-SHA256 signature

- X-Date: ISO 8601 timestamp

- Required permission: get_payment_order_attempt

#### Rate Limiting

- 1 request per minute per unique combination of payment_order_id + attempt_alt_id

- If exceeded, returns throttling error

#### URL Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| `payment_order_id` | Integer (required) | Payment order ID |
| `attempt_alt_id` | String (UUID) (required) | Payment attempt alternative ID |

#### Success Response (200 OK)

```json
{
  "data": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "type": "payment_order_attempt",
      "attributes": {
        "status": "pending",
        "provider_code": "TBK_123456",
        "payment_reference": "REF-2024-001",
        "cancel_message": null,
        "statuses": [
          "pending",
          "processing"
        ],
        "provider": {
          "id": 1,
          "name": "Transbank WebPay"
        },
        "payer": {
          "name": "Juan Pérez",
          "email": "juan@example.com",
          "document": "12345678-9"
        },
        "payment_order": {
          "public_code": "PO-2024-001",
          "amount": 10000,
          "status": "pending"
        },
        "costs": {
          "fixed_cost": 500,
          "spread": 2.5
        },
        "redirect_urls": {
          "success_redirect_url": "https://merchant.com/success",
          "cancel_redirect_url": "https://merchant.com/cancel",
          "error_redirect_url": "https://merchant.com/error",
          "pending_redirect_url": "https://merchant.com/pending"
        },
        "provider_data": {
          "provider_url": "https://webpay.transbank.cl/pay/12345",
          "frame": null,
          "qr_code": null
        },
        "created_at": "2024-01-15T10:30:00Z",
        "updated_at": "2024-01-15T10:35:00Z"
      }
    }
  ]
}
```

#### Error Responses

404 - Payment Order Not Found

```json
{"data":[]}
```

> Possible Attempt Statuses

| Status | Description |
| --- | --- |
| `pending` | Attempt created, awaiting user action |
| `processing` | Payment under verification process |
| `paid` | Payment completed successfully |
| `cancelled` | Payment cancelled by user |
| `error` | Error in payment processing |
| `expired` | Attempt expired without completion |

#### Common Use Cases

1. **Webhook Polling**: Check status after receiving webhook

2. UI Status Update: Update interface in real-time

3. Payment Verification: Verify payment completion

4. Redirect After Payment: Obtain post-payment redirect URL

5. Audit Trail: Record payment attempts for auditing

#### Important Notes

- The attempt_alt_id is the unique attempt identifier (UUID)

- A payment_order can have multiple attempts

- Redirect URLs are specific per attempt

- Throttling prevents excessive queries for the same attempt

#### Related Endpoints

- POST /v1/businesses/payment_orders - Create payment order

- POST /v1/businesses/payment_orders/:id/direct_payment - Process direct payment



## OpenAPI

````yaml /openapi.yaml get /api/businesses/payment_orders/{payment_order_id}/attempts
openapi: 3.0.0
info:
  title: Vita Business API
  description: >-
    Vita Wallet Business API — integra payins, payouts, exchange, transactions,
    users y webhooks para operar pagos en LatAm y el mundo.
  version: 1.0.0
  contact:
    name: Vita Wallet Support
    url: https://vitawallet.io
    email: empresas@vitawallet.io
servers:
  - url: https://api.vitawallet.io
    description: Production
  - url: https://api.stage.vitawallet.io
    description: Sandbox
security:
  - xLogin: []
    xTransKey: []
    xDate: []
    hmacSignature: []
tags:
  - name: Create Payin
  - name: Direct Payment
  - name: Exchange
  - name: Vita Sent
  - name: Bank Payouts
  - name: External Crypto Payouts
  - name: Transactions
  - name: Users Creation
  - name: User Information
  - name: Webhooks
externalDocs:
  url: https://vitawallet.io
  description: Vita Wallet
paths:
  /api/businesses/payment_orders/{payment_order_id}/attempts:
    get:
      tags:
        - Direct Payment
      summary: List All Payment Order Attempts
      description: >-
        #### Overview - Get Payment Order Attempts


        #### Purpose


        This endpoint allows you to query the status and details of all payment
        attempts (PaymentOrderAttempt) associated with a payment order. It's
        useful for:


        - Checking the statuses of a payment attempts


        - Retrieving configured redirect URLs for the attempt


        - Querying payment provider (PSP) information


        - Reviewing payer data and applied costs


        #### Operation Flow


        1. Client sends a GET request with:
            - payment_order_id (Payment order ID)
            - Authentication headers (Authorization, X-Date)

        2. System validates:
            - Authentication signature (HMAC)
            - Payment order existence
            - Payment attempt existence
            - Rate limiting (1 request per minute per unique combination)

        3. If successful, returns:
            - Attempt status (pending, paid, cancelled, error)
            - Payment provider information
            - Redirect URLs
            - Applied costs
            - Payer data
            - Timestamps

        ##### EndpointGET
        /v1/businesses/payment_orders/:payment_order_id/attempts


        #### Authentication


        Requires Business API authentication headers:


        - Authorization: HMAC-SHA256 signature


        - X-Date: ISO 8601 timestamp


        - Required permission: get_payment_order_attempt


        #### Rate Limiting


        - 1 request per minute per unique combination of payment_order_id +
        attempt_alt_id


        - If exceeded, returns throttling error


        #### URL Parameters


        | Parameter | Type | Description |

        | --- | --- | --- |

        | `payment_order_id` | Integer (required) | Payment order ID |

        | `attempt_alt_id` | String (UUID) (required) | Payment attempt
        alternative ID |


        #### Success Response (200 OK)


        ```json

        {
          "data": [
            {
              "id": "550e8400-e29b-41d4-a716-446655440000",
              "type": "payment_order_attempt",
              "attributes": {
                "status": "pending",
                "provider_code": "TBK_123456",
                "payment_reference": "REF-2024-001",
                "cancel_message": null,
                "statuses": [
                  "pending",
                  "processing"
                ],
                "provider": {
                  "id": 1,
                  "name": "Transbank WebPay"
                },
                "payer": {
                  "name": "Juan Pérez",
                  "email": "juan@example.com",
                  "document": "12345678-9"
                },
                "payment_order": {
                  "public_code": "PO-2024-001",
                  "amount": 10000,
                  "status": "pending"
                },
                "costs": {
                  "fixed_cost": 500,
                  "spread": 2.5
                },
                "redirect_urls": {
                  "success_redirect_url": "https://merchant.com/success",
                  "cancel_redirect_url": "https://merchant.com/cancel",
                  "error_redirect_url": "https://merchant.com/error",
                  "pending_redirect_url": "https://merchant.com/pending"
                },
                "provider_data": {
                  "provider_url": "https://webpay.transbank.cl/pay/12345",
                  "frame": null,
                  "qr_code": null
                },
                "created_at": "2024-01-15T10:30:00Z",
                "updated_at": "2024-01-15T10:35:00Z"
              }
            }
          ]
        }

        ```


        #### Error Responses


        404 - Payment Order Not Found


        ```json

        {"data":[]}

        ```


        > Possible Attempt Statuses


        | Status | Description |

        | --- | --- |

        | `pending` | Attempt created, awaiting user action |

        | `processing` | Payment under verification process |

        | `paid` | Payment completed successfully |

        | `cancelled` | Payment cancelled by user |

        | `error` | Error in payment processing |

        | `expired` | Attempt expired without completion |


        #### Common Use Cases


        1. **Webhook Polling**: Check status after receiving webhook


        2. UI Status Update: Update interface in real-time


        3. Payment Verification: Verify payment completion


        4. Redirect After Payment: Obtain post-payment redirect URL


        5. Audit Trail: Record payment attempts for auditing


        #### Important Notes


        - The attempt_alt_id is the unique attempt identifier (UUID)


        - A payment_order can have multiple attempts


        - Redirect URLs are specific per attempt


        - Throttling prevents excessive queries for the same attempt


        #### Related Endpoints


        - POST /v1/businesses/payment_orders - Create payment order


        - POST /v1/businesses/payment_orders/:id/direct_payment - Process direct
        payment
      operationId: list-all-payment-order-attempts
      parameters:
        - name: payment_order_id
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              examples:
                GetAllPaymentOrderAttempts:
                  summary: Get All Payment Order Attempts
                  value:
                    data:
                      - id: 1477
                        type: payment_order_attempt
                        attributes:
                          status: pending
                          payment_reference: null
                          cancel_message: null
                          statuses:
                            - status: pending
                              changed_at: '2026-04-17T12:38:34.589Z'
                          provider_code: '@VITARA6SV7E9'
                          id: 272f0848-8a1c-4720-98f2-3fff0502d10d
                          provider:
                            id: 17
                            name: Bre-B
                          payer: null
                          payment_order:
                            public_code: dd780598-d7df-447c-abdf-80d4a7c809d5
                            amount: 100000
                            status: pending
                          costs:
                            fixed_cost: 1
                            spread: 1
                          redirect_urls:
                            success_redirect_url: https://www.google.com/success
                            cancel_redirect_url: https://www.google.com/cancel
                            error_redirect_url: https://www.google.com/error
                            pending_redirect_url: https://www.google.com/pending
                          provider_data:
                            provider_url: null
                            frame: null
                            qr_code: >-
                              00020101021226360015CO.COM.VISI.LLA0413@VITARA6SV7E949270015CO.COM.VISI.RED0104VISI5204041253031705409100000.005802CO5913MERCHANT
                              VITA6008Medellin610610101062350712VITARA6SV7E9080205100912345698780300017CO.COM.VISI.CANAL0105ECOMM81260016CO.COM.VISI.CIVA01020282240015CO.COM.VISI.IVA0101083250016CO.COM.VISI.BASE0101084260016CO.COM.VISI.CINC01020285240015CO.COM.VISI.INC0101090380017CO.COM.VISI.TRXID0113PVITARA6SV7E991870015CO.COM.VISI.SEC0164474ba16e2433a928a69b7a6eb54efbabecba7c0aef862d39fca7b379d057ba1b6304A89C
                          created_at: '2026-04-17T12:38:34Z'
                          updated_at: '2026-04-17T12:38:34Z'
                      - id: 1476
                        type: payment_order_attempt
                        attributes:
                          status: pending
                          payment_reference: null
                          cancel_message: null
                          statuses:
                            - status: pending
                              changed_at: '2026-04-17T12:38:30.029Z'
                          provider_code: '@VITAE7EMOT0U'
                          id: cd37bb3c-705e-4110-875b-75639eba2135
                          provider:
                            id: 17
                            name: Bre-B
                          payer: null
                          payment_order:
                            public_code: dd780598-d7df-447c-abdf-80d4a7c809d5
                            amount: 100000
                            status: pending
                          costs:
                            fixed_cost: 1
                            spread: 1
                          redirect_urls:
                            success_redirect_url: https://www.google.com/success
                            cancel_redirect_url: https://www.google.com/cancel
                            error_redirect_url: https://www.google.com/error
                            pending_redirect_url: https://www.google.com/pending
                          provider_data:
                            provider_url: null
                            frame: null
                            qr_code: >-
                              00020101021226360015CO.COM.VISI.LLA0413@VITAE7EMOT0U49270015CO.COM.VISI.RED0104VISI5204041253031705409100000.005802CO5913MERCHANT
                              VITA6008Medellin610610101062350712VITAE7EMOT0U080205100912345698780300017CO.COM.VISI.CANAL0105ECOMM81260016CO.COM.VISI.CIVA01020282240015CO.COM.VISI.IVA0101083250016CO.COM.VISI.BASE0101084260016CO.COM.VISI.CINC01020285240015CO.COM.VISI.INC0101090380017CO.COM.VISI.TRXID0113PVITAE7EMOT0U91870015CO.COM.VISI.SEC0164474ba16e2433a928a69b7a6eb54efbabecba7c0aef862d39fca7b379d057ba1b630450D9
                          created_at: '2026-04-17T12:38:30Z'
                          updated_at: '2026-04-17T12:38:30Z'
                GetEmptyPaymentOrderAttempts:
                  summary: Get Empty Payment Order Attempts
                  value:
                    data: []
components:
  securitySchemes:
    xLogin:
      type: apiKey
      in: header
      name: x-login
      description: Business xLogin
    xTransKey:
      type: apiKey
      in: header
      name: x-trans-key
      description: Business xTransKey
    xDate:
      type: apiKey
      in: header
      name: x-date
      description: ISO8601 datetime
    hmacSignature:
      type: apiKey
      in: header
      name: Authorization
      description: 'V2-HMAC-SHA256 signature. Example: `V2-HMAC-SHA256, Signature: <hash>`'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.