Tại sao phương thức thanh toán tại India quan trọng
UPI Dominance
Low-Value Payments
Subscription Support
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ấu hình
Loại API Method
Truyền các giá trị này trongallowed_payment_method_types:
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:- Quốc gia thanh toán là Ấn Độ (
IN). - Đơn vị tiền tệ thanh toán là INR.
- Đố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.
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: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 fieldmandate_min_amount_inr_paise, theo INR paise (₹1 = 100 paise).
Bạn có thể ghi đè mặc định hệ thống ₹15.000 ở ba cấp độ:
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.
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ế:Charge Initiated (Day 0)
Pre-Debit Notification
48-Hour Window
Debit Completed (~48-51 Hours)
Webhook Sent
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.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
Plan for the 48-hour delay
Plan for the 48-hour delay
- 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
Handle mandate cancellations
Handle mandate cancellations
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.Set appropriate mandate amounts
Set appropriate mandate amounts
mandate_min_amount_inr_paise. Nếu không, khách hàng phải ủy quyền cho mandate mới.Offer UPI prominently
Offer UPI prominently
Khắc phục sự cố
UPI not appearing at checkout
UPI not appearing at checkout
- Quốc gia thanh toán có được đặt thành
INkhông? - Đơn vị tiền tệ thanh toán có được đặt thành
INRkhông? - Nếu bạn là merchant bên ngoài Ấn Độ, Adaptive Currency có được bật không?
upi_intentcó được 포함 trongallowed_payment_method_typeskhông?
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.Subscription charge failed after upgrade
Subscription charge failed after upgrade
Subscription on hold but customer claims they didn't cancel
Subscription on hold but customer claims they didn't cancel
Payment deduction delayed beyond 48 hours
Payment deduction delayed beyond 48 hours
Mandate cancelled but subscription still active
Mandate cancelled but subscription still active
on_hold. Theo dõi webhook cho payment.failed.