Skip to main content
インドの顧客から、UPI、インド発行カード(Visa、Mastercard、RuPay)、Apple Payによる支払いを受け付けます。UPIは、取引量ベースでインドのデジタル決済取引の80%以上を占めています。Dodo Paymentsは、RBI準拠のmandateを通じて、UPIとインド発行カードでのサブスクリプションをサポートしています。

インドの決済方法が重要な理由

UPI Dominance

UPIは月間200億件を超える取引を処理しており、多くのインドの顧客は国際カードを持っていません。

Low-Value Payments

UPIは、高取引量・低単価の取引に適しています。

Subscription Support

ほとんどの代替決済手段とは異なり、Visa、Mastercard、RuPayを含むUPIおよびインド発行カードは、RBI mandateを通じた継続支払いをサポートしています。

対応している決済手段

この表では、各決済方法とサブスクリプションに対応しているかどうかを示します。 *サブスクリプションには、特別な処理ルールが適用されるRBI準拠のmandateが必要です。インド発行のすべてのカード、UPI、Apple Payでの定期請求には、48時間の処理遅延が適用されます。 INRで請求される決済金額は、₹5.00以上で、かつ米ドルの最低金額相当額以上である必要があります。1回限りの決済は$0.50、サブスクリプションは$1.00です。最低金額をご覧ください。

設定

API Method Types

次の値をallowed_payment_method_typesに渡します。
Checkoutでは、UPIはupi_intentとしてのみ提供されます。allowed_payment_method_typesにupi_collectが含まれていてもupi_intentが含まれていない場合、CheckoutにUPIは表示されません。

例:インド向けCheckout

このセッションでは、インドの顧客に対して、INRで請求するUPI、カード、Apple Payを提供します。

UPIの要件

次のすべての条件を満たす場合にのみ、CheckoutにUPIが表示されます。
  1. 請求先国がインドである(IN)。
  2. 請求通貨がINRである。
  3. インド国外のMerchantによるサブスクリプションの場合、Adaptive Currencyが有効になっている。商品価格がINRで設定されている場合、1回限りのCheckoutには不要です。
インド国外のMerchantでAdaptive Currencyが無効になっている場合、顧客はUPIでサブスクリプションの支払いを行えません。

RBI Mandateを使用したサブスクリプション

UPIまたはインド発行カードで支払うサブスクリプションは、RBI(Reserve Bank of India)のmandateに基づいて処理されます。これには、他の決済手段にはないルールが追加されます。

RBI Mandateの仕組み

顧客はサブスクリプション登録時にmandateを承認します。その後、更新時の各請求では、事前引き落とし通知から48時間待機してから、銀行が資金を引き落とします。

Mandateの種類

Mandateの種類は、サブスクリプション金額とmandate floorの比較によって決まります。 顧客の銀行に登録される金額はmax(mandate_floor, billing_amount)です。請求金額がfloorを下回る場合、floorが顧客に表示される承認上限になります。 プラン変更: アップグレードによって既存のmandate上限を超える請求が発生すると、請求は失敗し、顧客は再度承認する必要があります。

設定可能なMandate Floor

mandate_min_amount_inr_paiseフィールドを使用して、INR e-mandateのmandate floorをINR paiseで設定します(₹1 = 100 paise)。
この設定は、INRサブスクリプションでインド発行カード(Visa、Mastercard、RuPay)に登録されたe-mandateにのみ影響します。UPIサブスクリプションは独自のAutoPayフローに従うため、影響を受けません。
システムデフォルトの₹15,000は、次の3つのレベルで上書きできます。 Dodo Paymentsは、設定されている値のうち、リクエスト単位の上書き、Merchant設定、システムデフォルトの順で最初の値を使用します。 floorを設定するには、Checkout sessionを作成するときに、リクエスト本文のmandate_min_amount_inr_paiseに値を渡します。非推奨のCreate Subscription endpointでも同じフィールドを使用できます。
このフィールドでは、次の値を使用できます。
floorを高くすると、プランのアップグレードや使用量ベースの超過料金など、後で高額な一回限りの請求を行う際に、顧客へ再承認を求めずに済みます。floorを低くすると顧客の承認額を実際の請求額に近づけられますが、将来の変動請求に使える余裕は小さくなります。

48時間の処理遅延

インドのカードまたはUPIでの更新請求は、更新日から約48時間後に完了します。これは国際カード決済との最も重要な違いです。
1

Charge Initiated (Day 0)

予定された更新日に、Dodo Paymentsは銀行に請求を開始します。
2

Pre-Debit Notification

顧客の銀行は、予定されている引き落としについて顧客に通知します。
3

48-Hour Window

この期間中、顧客は銀行アプリでmandateをキャンセルできます。
4

Debit Completed (~48-51 Hours)

48時間後、さらに銀行処理に最大3時間かかってから、銀行が資金を引き落とします。
5

Webhook Sent

Dodo Paymentsは、請求開始時ではなく実際の引き落とし後にpayment.succeeded webhookを送信します。
請求開始時に特典を付与しないでください。 payment.succeeded webhookを待ってください。このwebhookは、予定された請求日から約48~51時間後に届きます。

48時間の待機期間への対応

更新日ではなく、payment webhookを起点にアクセスを付与します。

インドのサブスクリプション向けWebhook Events

UPIまたはインド発行カードで支払われるサブスクリプションでは、次のeventsを処理します。

テスト

UPI Test IDs

test modeで、各結果をシミュレートするために次のUPI IDを入力します。

インドのカードのテスト番号

次のインド発行テストカードを使用します。

ベストプラクティス

請求開始から実際のpaymentまでの間隔に対応できるよう、アプリケーションを構築します。次の点を検討してください。
  • サブスクリプションアクセスの猶予期間
  • 処理時間について顧客に明確に伝えること
  • 日付ではなくwebhookを起点にしたfulfillment
顧客はいつでも銀行アプリでmandateをキャンセルできます。subscription.on_hold webhookを監視し、再度サブスクリプションに登録するか、payment methodを更新するよう顧客に促します。
使用量ベースの請求などの変動価格では、mandate floor(デフォルト₹15,000)のon-demand mandateで最大請求額をカバーできるか確認します。超過する可能性がある場合は、mandate_min_amount_inr_paiseでfloorを引き上げます。そうしないと、顧客は新しいmandateを承認する必要があります。
インドの顧客には、UPIを主要な決済オプションにします。UPIは使い慣れており、手間も少ないため、多くの顧客はカードよりUPIを好みます。

トラブルシューティング

確認事項:
  1. 請求先国はINに設定されていますか?
  2. 請求通貨はINRに設定されていますか?
  3. インド国外のMerchantの場合、Adaptive Currencyは有効になっていますか?
  4. upi_intentはallowed_payment_method_typesに含まれていますか?
解決策: 請求先住所のcountry: "IN"とbilling_currency: "INR"を設定します。Adaptive Currencyが無効の場合、APIはbilling_currencyを無視するため、代わりに商品価格をINRで設定します。
原因: 新しい請求額が既存のmandate上限を超えています。上限はmandate floor(デフォルト₹15,000)または、それを上回る場合はサブスクリプション金額です。解決策: 顧客はpayment methodを更新し、正しい上限で新しいmandateを設定する必要があります。
原因: 顧客が48時間の待機期間中にmandateをキャンセルしたか、銀行が引き落としを拒否した可能性があります。解決策: 顧客はmandateを再度承認するか、payment methodを更新する必要があります。
原因: Bank APIの遅延により、処理が2~3時間延長される場合があります。解決策: これは想定される動作です。合計で約51時間までの遅延に対応できるよう、システムを構築してください。
原因: RBI規制における特殊なケースです。処理期間中にmandateをキャンセルしても、サブスクリプションはすぐにはキャンセルされません。解決策: 次回の請求は失敗し、サブスクリプションはon_holdに移行します。payment.failedのwebhookを監視してください。

関連ページ

Payment Methods Overview

対応しているすべての決済手段を確認します。

Subscriptions

RBI mandateを含む、サブスクリプションに関する完全なドキュメントです。

Webhooks

payment eventのWebhook処理について説明します。

Testing Process

UPI IDやインドのカードを含むすべてのテストデータです。
最終更新日 2026年9月28日