Chuyển đến nội dung chính
Ấn Độ có cơ sở hạ tầng thanh toán độc đáo do UPI chiếm ưu thế (hơn 60% giao dịch kỹ thuật số) và thẻ Rupay. Dodo Payments hỗ trợ cả hai với đầy đủ tuân thủ RBI cho các ủy quyền đăng ký định kỳ.

Tại sao các phương thức thanh toán ở Ấn Độ lại quan trọng

UPI Dominance

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

Low Transaction Costs

UPI gần như không có phí giao dịch. Rất phù hợp cho các giao dịch lớn về số lượng nhưng giá trị thấp.

Subscription Support

Không giống hầu hết các phương thức thanh toán thay thế, UPI và Rupay hỗ trợ thanh toán định kỳ thông qua các ủy quyền của RBI.

Các phương thức được hỗ trợ

Phương thứcLoạiĐăng ký định kỳSố tiền tối thiểu
UPI CollectMã QR / VPACó*₹1
Rupay CreditThẻCó*₹1
Rupay DebitThẻCó*₹1
*Các gói đăng ký yêu cầu ủy quyền tuân thủ RBI với quy tắc xử lý đặc biệt.

Cấu hình

Các loại phương thức API

LoạiMô tả
upi_collectUPI qua mã QR hoặc nhập VPA
creditThẻ tín dụng bao gồm Rupay
debitThẻ ghi nợ bao gồm Rupay

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

const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  allowed_payment_method_types: [
    'upi_collect',
    'credit',
    'debit'
  ],
  billing_currency: 'INR',
  customer: {
    email: 'customer@example.in',
    name: 'Priya Sharma',
    phone_number: '+919876543210'
  },
  billing_address: {
    country: 'IN',
    zipcode: '560001'
  },
  return_url: 'https://example.com/success'
});

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

Để UPI hiển thị ở trang thanh toán:
  1. Quốc gia thanh toán phải là Ấn Độ (IN)
  2. Tiền tệ phải là INR
  3. Đối với nhà bán hàng không phải người Ấn Độ: Adaptive Currency phải được bật
Nếu bạn là nhà bán hàng không phải Ấn Độ và Adaptive Currency không được bật, UPI sẽ không khả dụng cho khách hàng của bạn.

Đăng ký với các ủy quyền của RBI

Các gói đăng ký sử dụng phương thức thanh toán Ấn Độ hoạt động theo quy định của RBI (Ngân hàng Dự trữ Ấn Độ) với các yêu cầu riêng biệt.

Cách hoạt động của ủy quyền RBI

Các loại ủy quyền

Số tiền đăng kýLoại ủy quyềnGiới hạn
Dưới Rs 15,000Ủy quyền theo yêu cầuRs 15,000
Rs 15,000 trở lênỦy quyền số tiền cố địnhSố tiền chính xác của đăng ký
Quan trọng khi thay đổi gói: Nếu nâng cấp dẫn đến một khoản phí vượt quá giới hạn của ủy quyền hiện tại, giao dịch sẽ thất bại và khách hàng phải cấp quyền lại.

Độ trễ xử lý 48 giờ

Đây là khác biệt quan trọng nhất so với thẻ quốc tế:
1

Charge Initiated (Day 0)

Vào ngày gia hạn theo lịch, Dodo bắt đầu gửi yêu cầu tính phí đến ngân hàng.
2

Pre-Debit Notification

Khách hàng nhận được thông báo từ ngân hàng về khoản ghi nợ sắp tới.
3

48-Hour Window

Khách hàng có thể hủy ủy quyền trong khoảng thời gian này qua ứng dụng ngân hàng của họ.
4

Debit Completed (~48-51 hours)

Sau 48 giờ (cộng thêm đến 3 giờ bổ sung để ngân hàng xử lý), số tiền mới bị trừ.
5

Webhook Sent

payment.succeeded webhook được gửi sau khi khoản ghi nợ thực sự xảy ra, không phải khi bắt đầu.
Đừng cấp quyền lợi khi bắt đầu tính phí. Hãy chờ webhook payment.succeeded, được gửi khoảng 48-51 giờ sau ngày tính phí dự kiến.

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

// DON'T do this:
async function handleSubscriptionRenewal(subscription) {
  // ❌ Bad: Granting access immediately when charge is initiated
  grantPremiumAccess(subscription.customer_id);
}

// DO this:
async function handlePaymentWebhook(event) {
  if (event.type === 'payment.succeeded') {
    // ✅ Good: Only grant access after payment is confirmed
    grantPremiumAccess(event.data.customer_id);
  }
  
  if (event.type === 'payment.failed') {
    // Handle failed payment (mandate cancelled, insufficient funds)
    revokePremiumAccess(event.data.customer_id);
  }
}

Các sự kiện webhook cho đăng ký tại Ấn Độ

Sự kiệnKhi nàoHành động
subscription.createdỦy quyền được cấpGhi nhận bắt đầu đăng ký
payment.succeededKhoảng ~48 giờ sau ngày tính phíCấp/tiếp tục quyền truy cập
payment.failedGhi nợ thất bạiThông báo khách hàng, tạm dừng quyền truy cập
subscription.on_holdThanh toán thất bạiYêu cầu cập nhật phương thức thanh toán
subscription.activeKích hoạt lại sau khi thanh toánKhôi phục quyền truy cập

Kiểm tra

ID thử nghiệm UPI

Trạng tháiID UPI
Thành côngsuccess@upi
Thất bạifailure@upi

Số thẻ thử nghiệm Ấn Độ

Thương hiệuTình huốngSố thẻHạn sử dụngCVV
VisaThành công457623891277145006/32123
VisaTừ chối470613121121212306/32123
MastercardThành công540916266938103406/32123
MastercardTừ chối510510510510510006/32123

Thực hành tốt nhất

Xây dựng ứng dụng của bạn để xử lý khoảng cách giữa thời điểm bắt đầu tính phí và khi thanh toán thực sự xảy ra. Cân nhắc:
  • Khoảng thời gian ân hạn cho quyền truy cập đăng ký
  • Giao tiếp rõ ràng với khách hàng về thời gian xử lý
  • Hoạt động dựa trên webhook, không dựa trên ngày tháng
Khách hàng có thể hủy ủy quyền qua ứng dụng ngân hàng bất cứ lúc nào. Giám sát webhook subscription.on_hold và nhắc khách hàng đăng ký lại hoặc cập nhật phương thức thanh toán.
Với giá biến đổi (ví dụ: tính theo mức sử dụng), hãy cân nhắc liệu ủy quyền theo yêu cầu Rs 15.000 có đủ không. Nếu các khoản phí có thể vượt quá mức này, khách hàng sẽ phải cấp quyền lại.
Đối với khách hàng Ấn Độ, UPI nên là tùy chọn thanh toán chính. Nhiều người dùng ưa thích nó hơn thẻ do quen thuộc và ít rủi ro.

Khắc phục sự cố

Kiểm tra:
  1. Quốc gia thanh toán đã đặt thành IN?
  2. Tiền tệ đã đặt thành INR?
  3. Nếu là nhà bán hàng không phải Ấn Độ: Adaptive Currency đã bật?
  4. upi_collect có được bao gồm trong allowed_payment_method_types không?
Giải pháp: Xác minh địa chỉ thanh toán có country: "IN"billing_currency: "INR".
Nguyên nhân: Số tiền tính phí mới vượt quá giới hạn ủy quyền hiện tại (ngưỡng Rs 15.000).Giải pháp: Khách hàng phải cập nhật phương thức thanh toán để thiết lập ủy quyền mới với giới hạn chính xác.
Nguyên nhân: Có thể khách hàng đã hủy ủy quyền trong khoảng thời gian 48 giờ hoặc ngân hàng từ chối ghi nợ.Giải pháp: Khách hàng cần cấp quyền lại hoặc cập nhật phương thức thanh toán.
Nguyên nhân: Độ trễ API của ngân hàng có thể kéo dài thêm 2-3 giờ.Giải pháp: Đây là điều mong đợi. Hãy xây dựng hệ thống để xử lý độ trễ biến động lên đến khoảng 51 giờ tổng cộng.
Nguyên nhân: Trường hợp đặc biệt trong quy định của RBI — hủy ủy quyền trong khoảng thời gian xử lý không ngay lập tức hủy đăng ký.Giải pháp: Lần tính phí tiếp theo sẽ thất bại và đăng ký sẽ chuyển sang on_hold. Giám sát webhook cho payment.failed.

Các trang liên quan