Skip to main content
Chấp nhận UPI, thẻ phát hành tại Ấn Độ (Visa, Mastercard và RuPay) và Apple Pay từ khách hàng ở Ấn Độ. UPI chiếm hơn 80% số giao dịch thanh toán kỹ thuật số tại Ấn Độ tính theo khối lượng. Dodo Payments hỗ trợ các gói đăng ký trên UPI và thẻ phát hành tại Ấn Độ thông qua các ủy nhiệm tuân thủ RBI.

Tại sao phương thức thanh toán tại India quan trọng

UPI Dominance

UPI xử lý hơn 20 tỷ giao dịch mỗi tháng và nhiều khách hàng Ấn Độ không có thẻ quốc tế.

Low-Value Payments

UPI phù hợp với các giao dịch có khối lượng lớn và giá trị thấp hơn.

Subscription Support

Không giống hầu hết các phương thức thanh toán thay thế, UPI và các thẻ do Ấn Độ phát hành, bao gồm Visa, Mastercard và RuPay, hỗ trợ thanh toán định kỳ thông qua các mandate của RBI.

Phương thức được hỗ trợ

Bảng liệt kê từng phương thức và cho biết phương thức đó có hỗ trợ các gói đăng ký hay không: *Các gói đăng ký yêu cầu ủy nhiệm tuân thủ RBI với các quy tắc xử lý đặc biệt. Độ trễ xử lý 48 giờ áp dụng cho các khoản phí định kỳ trên tất cả thẻ phát hành tại Ấn Độ, UPI và Apple Pay. Một khoản thanh toán được lập hóa đơn bằng INR phải có giá trị tối thiểu là ₹5.00 và ít nhất tương đương với mức tối thiểu bằng USD: $0.50 đối với thanh toán một lần và $1.00 đối với gói đăng ký. Xem Mức tối thiểu.

Cấu hình

Loại API Method

Truyền các giá trị này trong allowed_payment_method_types:
Checkout chỉ cung cấp UPI dưới dạng upi_intent. Nếu allowed_payment_method_types liệt kê upi_collect nhưng không có upi_intent, UPI sẽ không xuất hiện tại checkout.

Ví dụ: Checkout tập trung vào Ấn Độ

Phiên này cung cấp UPI, thẻ và Apple Pay cho khách hàng ở Ấn Độ, với thanh toán được lập hóa đơn bằng INR:

Yêu cầu đối với UPI

UPI chỉ xuất hiện tại checkout khi tất cả điều kiện sau đều đúng:
  1. Quốc gia thanh toán là Ấn Độ (IN).
  2. Đơn vị tiền tệ thanh toán là INR.
  3. Đối với subscriptions từ merchant bên ngoài Ấn Độ, Adaptive Currency được bật. Checkout một lần không yêu cầu tùy chọn này nếu sản phẩm được định giá bằng INR.
Nếu bạn là merchant bên ngoài Ấn Độ và Adaptive Currency bị tắt, khách hàng của bạn không thể thanh toán subscriptions bằng UPI.

Subscriptions với RBI Mandates

Subscriptions được thanh toán bằng UPI hoặc thẻ phát hành tại Ấn Độ hoạt động theo mandate của RBI (Reserve Bank of India), bổ sung các quy tắc không áp dụng cho những phương thức thanh toán khác.

Cách RBI Mandates hoạt động

Khách hàng ủy quyền cho một mandate khi đăng ký subscription. Mỗi khoản phí gia hạn sẽ chờ 48 giờ sau thông báo pre-debit trước khi ngân hàng trích tiền:

Các loại Mandate

Loại mandate phụ thuộc vào việc số tiền subscription cao hơn hay thấp hơn mức sàn của mandate: Số tiền được đăng ký với ngân hàng của khách hàng là max(mandate_floor, billing_amount). Khi số tiền thanh toán thấp hơn mức sàn, mức sàn sẽ trở thành giới hạn ủy quyền hiển thị với khách hàng. Thay đổi plan: Nếu việc nâng cấp tạo ra khoản phí vượt quá giới hạn mandate hiện tại, khoản phí sẽ thất bại và khách hàng phải ủy quyền lại.

Mức sàn Mandate có thể cấu hình

Đặt mức sàn mandate cho INR e-mandates bằng field mandate_min_amount_inr_paise, theo INR paise (₹1 = 100 paise).
Cài đặt này chỉ ảnh hưởng đến các e-mandates được đăng ký cho thẻ phát hành tại Ấn Độ (Visa, Mastercard, RuPay) trên subscriptions bằng INR. Subscriptions bằng UPI tuân theo flow AutoPay riêng và không bị ảnh hưởng.
Bạn có thể ghi đè mặc định hệ thống ₹15.000 ở ba cấp độ: Dodo Payments sử dụng giá trị đầu tiên được thiết lập: ghi đè theo request, sau đó là cài đặt merchant và cuối cùng là mặc định hệ thống. Để đặt mức sàn, truyền mandate_min_amount_inr_paise trong request body khi bạn tạo checkout session. Endpoint Create Subscription đã deprecated cũng chấp nhận field này.
Field này chấp nhận các giá trị sau:
Mức sàn cao hơn cho phép bạn thực hiện các khoản phí một lần lớn hơn sau đó, chẳng hạn như nâng cấp plan hoặc các khoản vượt mức dựa trên mức sử dụng, mà không yêu cầu khách hàng ủy quyền lại. Mức sàn thấp hơn giữ cho ủy quyền của khách hàng gần với số tiền thanh toán thực tế hơn, nhưng tạo ít dư địa hơn cho các khoản phí biến đổi trong tương lai.

Thời gian xử lý 48 giờ

Khoản phí gia hạn trên thẻ Ấn Độ hoặc UPI hoàn tất khoảng 48 giờ sau ngày gia hạn. Đây là khác biệt quan trọng nhất so với thanh toán bằng thẻ quốc tế:
1

Charge Initiated (Day 0)

Vào ngày gia hạn theo lịch, Dodo Payments khởi tạo khoản phí với ngân hàng.
2

Pre-Debit Notification

Ngân hàng của khách hàng thông báo cho họ về khoản trích tiền sắp tới.
3

48-Hour Window

Trong thời gian này, khách hàng có thể hủy mandate trong ứng dụng ngân hàng.
4

Debit Completed (~48-51 Hours)

Sau 48 giờ, cộng thêm tối đa 3 giờ xử lý của ngân hàng, ngân hàng sẽ trích tiền.
5

Webhook Sent

Dodo Payments gửi webhook payment.succeeded sau khi khoản tiền thực sự được trích, không phải khi khoản phí được khởi tạo.
Không cấp quyền lợi khi khoản phí được khởi tạo. Hãy chờ webhook payment.succeeded, được gửi khoảng 48–51 giờ sau ngày tính phí theo lịch.

Xử lý khoảng thời gian 48 giờ

Cấp quyền truy cập từ payment webhook, không phải từ ngày gia hạn:

Webhook Events cho Subscriptions tại Ấn Độ

Xử lý các event sau đối với subscriptions được thanh toán bằng UPI hoặc thẻ phát hành tại Ấn Độ:

Kiểm thử

UPI Test IDs

Trong test mode, nhập các UPI ID này để mô phỏng từng kết quả:

Số thẻ kiểm thử tại Ấn Độ

Sử dụng các thẻ kiểm thử phát hành tại Ấn Độ sau:

Best Practices

Xây dựng ứng dụng để xử lý khoảng thời gian từ lúc khởi tạo khoản phí đến khi thanh toán thực tế hoàn tất. Hãy cân nhắc:
  • Thời gian gia hạn quyền truy cập subscription
  • Trao đổi rõ ràng với khách hàng về thời gian xử lý
  • Fulfillment dựa trên webhook, không dựa trên ngày
Khách hàng có thể hủy mandate trong ứng dụng ngân hàng bất kỳ lúc nào. Theo dõi webhook subscription.on_hold và yêu cầu khách hàng đăng ký subscription lại hoặc cập nhật payment method.
Đối với pricing biến đổi, chẳng hạn như billing dựa trên mức sử dụng, hãy kiểm tra xem mandate on-demand tại mức sàn mandate (mặc định ₹15.000) có bao phủ khoản phí lớn nhất của bạn hay không. Nếu khoản phí có thể vượt quá mức này, hãy tăng mức sàn bằng mandate_min_amount_inr_paise. Nếu không, khách hàng phải ủy quyền cho mandate mới.
Đối với khách hàng Ấn Độ, hãy đặt UPI làm payment option chính. Nhiều người thích UPI hơn thẻ vì quen thuộc và ít trở ngại hơn.

Khắc phục sự cố

Kiểm tra:
  1. Quốc gia thanh toán có được đặt thành IN không?
  2. Đơn vị tiền tệ thanh toán có được đặt thành INR không?
  3. Nếu bạn là merchant bên ngoài Ấn Độ, Adaptive Currency có được bật không?
  4. upi_intent có được 포함 trong allowed_payment_method_types không?
Giải pháp: Đặt country: "IN" trong địa chỉ thanh toán và billing_currency: "INR". Nếu Adaptive Currency bị tắt, API sẽ bỏ qua billing_currency, vì vậy hãy định giá sản phẩm bằng INR.
Nguyên nhân: Số tiền của khoản phí mới vượt quá giới hạn mandate hiện tại: mức sàn mandate (mặc định ₹15.000) hoặc số tiền subscription nếu số tiền đó cao hơn.Giải pháp: Khách hàng phải cập nhật payment method để thiết lập mandate mới với giới hạn chính xác.
Nguyên nhân: Khách hàng có thể đã hủy mandate trong khoảng thời gian 48 giờ hoặc ngân hàng đã từ chối khoản trích tiền.Giải pháp: Khách hàng cần ủy quyền lại mandate hoặc cập nhật payment method.
Nguyên nhân: Độ trễ của Bank API có thể kéo dài thời gian xử lý thêm 2–3 giờ.Giải pháp: Đây là hành vi dự kiến. Xây dựng hệ thống để xử lý tổng thời gian trễ lên đến khoảng 51 giờ.
Nguyên nhân: Một trường hợp đặc biệt trong quy định RBI: việc hủy mandate trong thời gian xử lý không hủy subscription ngay lập tức.Giải pháp: Khoản phí tiếp theo sẽ thất bại và subscription chuyển sang on_hold. Theo dõi webhook cho payment.failed.

Trang liên quan

Payment Methods Overview

Xem tất cả payment method được hỗ trợ.

Subscriptions

Tài liệu đầy đủ về subscriptions, bao gồm RBI mandates.

Webhooks

Xử lý webhook cho các payment event.

Testing Process

Tất cả dữ liệu kiểm thử, bao gồm UPI ID và thẻ Ấn Độ.
Lần sửa đổi cuối 28 tháng 9, 2026