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

# Quá trình Lặp lại Thanh toán Đăng ký

> Tự động thử lại các khoản thanh toán gia hạn đăng ký thất bại theo lịch trình thông minh để thu hồi doanh thu mà không cần tích hợp.

<Info>
  Payment Retries tự động thử lại các khoản thanh toán gia hạn **đăng ký** thất bại theo lịch trình tăng dần. Khi một lần thử lại thành công, đăng ký sẽ được kích hoạt lại tự động — không cần hành động của khách hàng hoặc công việc tích hợp.
</Info>

## Payment Retries Là Gì?

Khi một khoản thanh toán gia hạn đăng ký thất bại, đăng ký sẽ được đặt **tạm ngưng**. Với Payment Retries được kích hoạt, Dodo Payments sẽ tự động tính lại phương thức thanh toán hiện có của khách hàng theo lịch trình thông minh cho đến khi thanh toán thành công hoặc cửa sổ khôi phục đóng lại.

Điều này giúp thu hồi doanh thu mất mát do các lỗi tạm thời — thẻ hết hạn, không đủ tiền được nạp đầy, lỗi mạng tạm thời — mà không cần gửi email khách hàng hoặc yêu cầu họ cập nhật bất cứ điều gì.

<Note>
  Payment Retries chỉ áp dụng cho các khoản thanh toán gia hạn **đăng ký**. Các khoản thanh toán đầu tiên (thiết lập ủy quyền), khoản thanh toán một lần, phí thay đổi gói, và phí theo yêu cầu không được thử lại bởi tính năng này.
</Note>

## Cách Hoạt động của Payment Retries

<Steps>
  <Step title="Renewal fails">
    Một khoản thanh toán gia hạn đăng ký thất bại và đăng ký chuyển sang trạng thái `on_hold`.
  </Step>

  <Step title="Retryability check">
    Mã lỗi của lỗi được kiểm tra. **Soft declines** (không đủ tiền, từ chối chung, lỗi xử lý hoặc mạng, v.v.) có thể thử lại. **Hard declines** kết thúc chuỗi thử lại ngay lập tức, vì thử lại sẽ không thay đổi kết quả.
  </Step>

  <Step title="Scheduled retry">
    Nếu từ chối có thể thử lại và cửa sổ khôi phục cho phép, thử lại tiếp theo được lên lịch. Các lần thử lại tiến hành không trong phiên đối với phương thức thanh toán hiện có của khách hàng theo lịch trình tăng dần.
  </Step>

  <Step title="Recovery">
    Khi thử lại thành công đầu tiên, đăng ký trở lại trạng thái `active` và ngày thanh toán tiếp theo được nâng lên như bình thường. Nếu cửa sổ đóng lại trước khi thử lại nào thành công, việc thử lại dừng và đăng ký vẫn nằm ở trạng thái tạm ngưng.
  </Step>
</Steps>

## Cấu hình Payment Retries

Kích hoạt và cấu hình Payment Retries từ **Cài đặt → Khôi phục** trong bảng điều khiển của bạn.

<Frame caption="Payment Retries settings under Settings → Recovery">
  <img src="https://mintcdn.com/dodopayments/4RYIEvZenmAs_JI3/images/recovery/payment-retries-settings.png?fit=max&auto=format&n=4RYIEvZenmAs_JI3&q=85&s=349af2dd649bbbeb89367448e3e4b125" alt="Trang Cài đặt Khôi phục với công tắc Enable Payment Retries bật và trường Recovery window (ngày) được đặt thành 13" style={{ maxHeight: '500px', width: 'auto' }} width="2874" height="1566" data-path="images/recovery/payment-retries-settings.png" />
</Frame>

| Cài đặt                     | Mô tả                                                                                                   | Mặc định      |
| --------------------------- | ------------------------------------------------------------------------------------------------------- | ------------- |
| **Enable Payment Retries**  | Tự động thử lại các khoản thanh toán gia hạn đăng ký thất bại để thu hồi doanh thu.                     | Tắt (đăng ký) |
| **Cửa sổ khôi phục (ngày)** | Thời gian thử lại một khoản thanh toán thất bại trước khi từ bỏ. Phải nằm trong khoảng từ **1 đến 30**. | 13            |

Cửa sổ khôi phục được gắn với thời gian hóa đơn gia hạn thất bại được tạo. Các lần thử lại chỉ được lên lịch trong khi tổng thời gian trì hoãn vẫn nằm trong cửa sổ.

## Lịch trình Thử lại

Thử lại tiến hành lùi dần. Tối đa **8 lần thử** được thực hiện, miễn là mỗi lần đều nằm trong cửa sổ khôi phục của bạn:

| Lần thử | Trì hoãn sau lần thử trước | Thời gian ước tính kể từ khi thất bại |
| ------- | -------------------------- | ------------------------------------- |
| 1       | 12 giờ                     | 12 giờ                                |
| 2       | 24 giờ                     | 36 giờ                                |
| 3       | 48 giờ                     | \~3.5 ngày                            |
| 4       | 72 giờ                     | \~6.5 ngày                            |
| 5       | 96 giờ                     | \~10.5 ngày                           |
| 6       | 120 giờ                    | \~15.5 ngày                           |
| 7       | 7 ngày                     | \~22.5 ngày                           |
| 8       | 7 ngày                     | \~29.5 ngày                           |

<Tip>
  Một cửa sổ khôi phục **13 ngày** (mặc định) bao gồm các lần thử 1 đến 5 (lần thử 5 bắn ra \~10.5 ngày sau khi thất bại). Tăng cửa sổ về phía tối đa 30 ngày nếu bạn muốn các lần thử sau, với khoảng cách rộng hơn (6 đến 8) chạy.
</Tip>

## Chuyển đổi Trạng thái Đăng ký

| Sự kiện                     | Trạng thái đăng ký                                                                     |
| --------------------------- | -------------------------------------------------------------------------------------- |
| Gia hạn thanh toán thất bại | `active` → `on_hold`                                                                   |
| Thử lại thất bại            | giữ nguyên `on_hold` (lịch thử lại tiếp theo nếu cửa sổ cho phép)                      |
| Thử lại thành công          | `on_hold` → `active`, ngày thanh toán tiếp theo được cập nhật                          |
| Cửa sổ khôi phục hết hạn    | giữ nguyên `on_hold`                                                                   |
| Đăng ký bị hủy              | các lần thử lại được lên lịch dừng ngay lập tức (kết thúc — không có thêm thử lại nào) |

<Note>
  Nếu một đăng ký bị hủy trong khi các lần thử lại vẫn đang được lên lịch, chuỗi thử lại sẽ kết thúc ngay lập tức và không có thêm nỗ lực nào được thực hiện. Các trạng thái không hoạt động khác (`on_hold`, `expired`, `pending`, `failed`) tiếp tục thử lại, vì hóa đơn gia hạn mở của chúng đại diện cho khoản nợ cho các khoảng thời gian mà khách hàng đã tiêu thụ.
</Note>

Những chuyển đổi này phát ra các sự kiện webhook đăng ký tiêu chuẩn, vì vậy bạn có thể sử dụng logic quyền từ chúng mà không cần xử lý thử lại đặc biệt:

| Sự kiện                | Phát khi                                         |
| ---------------------- | ------------------------------------------------ |
| `subscription.on_hold` | Gia hạn thất bại và đăng ký bị tạm dừng          |
| `subscription.active`  | Thử lại thành công và đăng ký được kích hoạt lại |

<Card title="Subscription Webhook Payloads" icon="webhook" href="/developer-resources/webhooks/intents/subscription">
  Xem các schema tải dữ liệu webhook đầy đủ cho các sự kiện vòng đời đăng ký.
</Card>

## Thất bại có thể thử lại và không thể thử lại

| Loại thất bại    | Ví dụ                                                                                               | Thử lại?                            |
| ---------------- | --------------------------------------------------------------------------------------------------- | ----------------------------------- |
| **Từ chối mềm**  | Không đủ tiền, từ chối chung, vượt quá tốc độ thẻ, lỗi xử lý, lỗi mạng / hết thời gian, thử lại sau | Có                                  |
| **Từ chối cứng** | Thẻ bị mất/cướp, thẻ không hợp lệ, không chấp nhận, tài khoản đã đóng và các từ chối kết thúc khác  | Không — chuỗi kết thúc ngay lập tức |

<Info>
  Thử lại từ chối cứng sẽ không thay đổi kết quả, vì vậy chuỗi thử lại kết thúc ngay khi có từ chối cứng. Kết hợp Thử Lại Thanh Toán với [Subscription Dunning](/features/recovery/subscription-dunning) để thúc đẩy khách hàng cập nhật phương thức thanh toán của họ trong các trường hợp đó.
</Info>

## Thử Lại Thanh Toán và Dunning

Thử Lại Thanh Toán và [Subscription Dunning](/features/recovery/subscription-dunning) là công cụ khôi phục bổ trợ:

|                              | Thử Lại Thanh Toán                             | Subscription Dunning                                            |
| ---------------------------- | ---------------------------------------------- | --------------------------------------------------------------- |
| **Cơ chế**                   | Âm thầm sạc lại phương thức thanh toán hiện có | Gửi email cho khách hàng để cập nhật phương thức thanh toán     |
| **Hành động của khách hàng** | Không cần thiết                                | Khách hàng cập nhật phương thức thanh toán trong cổng thông tin |
| **Thích hợp cho**            | Từ chối mềm/tạm thời tự khắc phục              | Thẻ hết hạn hoặc không hợp lệ cần thay thế                      |

Bật cả hai cho phép bạn có phạm vi khôi phục rộng nhất: thử lại tự động bắt lỗi tạm thời, trong khi dunning mang lại cho khách hàng có phương thức thanh toán cần thực sự cập nhật.

## Liên quan

<CardGroup cols={2}>
  <Card title="Subscription Dunning" icon="repeat" href="/features/recovery/subscription-dunning">
    Chuỗi email thúc đẩy khách hàng cập nhật phương thức thanh toán của họ.
  </Card>

  <Card title="Abandoned Cart Recovery" icon="cart-shopping" href="/features/recovery/abandoned-cart-recovery">
    Khôi phục các thanh toán một lần không hoàn thành hoặc thất bại với email nhắm mục tiêu.
  </Card>

  <Card title="Subscriptions" icon="repeat" href="/features/subscription">
    Hiểu các trạng thái đăng ký có liên quan trong các luồng khôi phục.
  </Card>

  <Card title="Subscription Webhooks" icon="webhook" href="/developer-resources/webhooks/intents/subscription">
    Phản hồi các sự kiện `subscription.on_hold` và `subscription.active`.
  </Card>
</CardGroup>
