アプリ内のカード制御を管理する
エンドユーザーがドメインコントロールを表示および更新できるように、次から操作します: イシュアアプリケーション を取得できます D1 SDK.
シーケンス図
D1 SDK を使用して現在の設定を取得し、UI を描画してから更新を送信します。
前提条件
消費者とカードが既に D1 に作成/登録されていること。
SDK が適切に初期化されていること。
イシュアアプリが D1 SDK のログイン API を呼び出していること。
updateCardControlSettings または updateCardLimitSettings API を呼び出す前に、まず getCardSettings API を呼び出してください。
D1 SDK 統合
D1 SDK は D1 で管理されているカードに対して以下の公開 API を使用します:
CardService.getCardSettings():カード設定を取得するため。CardService.updateCardControlSettings():カードのコントロール設定を更新するため。
現在の設定を取得する
CardService.getCardSettings() は 2 グループの設定を返します:
カードコントロール設定(ドメインコントロール)
カード上限設定(支出限度)は次を参照してください: API ドキュメント fまたはカードコントロールおよびカード上限設定の詳細なフィールドレベル情報。
参照: D1 SDK API リファレンス フィールドレベルの詳細について。
支出限度も実装する場合は、次を参照してください: 支出限度の実装.
UI にカードコントロール設定をレンダリングする
カードコントロールは次の CardSettings オブジェクトから読み取り、存在するコントロールのみをレンダリングします。
一部のコントロールはカードプロダクトレベルでオプションです。D1 はそれらを次のように返します: null。それらのコントロールは非表示にしてください。
カードコントロール設定を更新する
カードコントロールの更新は機密操作として扱ってください。
カード設定を変更する前に追加の認証を実行してください。
常に、次の
CardSettingsが返すオブジェクトから開始してください:CardService.getCardSettings().自分でオブジェクトを作成しないでください。
CardSettingsオブジェクトを自分で初期化して送信すると、
既存の値を上書きする可能性があります。 CardService.updateCardControlSettings()D1 バックエンド上の既存の値を上書きすることがあります。 また、次のようなエラーを引き起こす可能性があります:ERROR_CARD_SETTINGS_OPERATION_NOT_ALLOWED ERROR_CARD_SETTINGS_INVALID_FORMAT, 、またはERROR_CARD_SETTINGS_INVALID_VALUE 前提条件と許可される更新.
コントロールを更新する前に、D1 が getCardSettings() で対応する属性を返していることを確認してください。
getCardSettings() D1 SDK は、エンドユーザーが利用できないコントロールを更新しようとした場合に 次を返します:.
D1 SDK returns ERROR_CARD_SETTINGS_INVALID_FORMAT 以下の表は各コントロール設定に対する前提条件を示します:
カードコントロール設定
該当なし
CardControlSettings.setAbroadPaymentEnabled(true)
CardControlSettings.setDeniedCurrencyList()
CardControlSettings.setAbroadPaymentEnabled(true)
CardControlSettings.Merchant.setGamblingMerchantEnabled(true)
CardControlSettings.setAbroadPaymentEnabled(true)
CardControlSettings.Merchant.setAdultMerchantEnabled(true)
CardControlSettings.setAbroadPaymentEnabled(true)
CardControlSettings.Merchant.setRiskyMerchantEnabled(true)
CardControlSettings.setAbroadPaymentEnabled(true)
CardControlSettings.setContactlessEnabled(true)
CardControlSettings.setAbroadPaymentEnabled(true)
もし
isContactlessEnabled 属性が API から取得されていれば、更新操作が許可されます。 API CardService.getCardSettings() CardControlSettings.setMagneticStripeEnabled(true)
isMagneticStripeEnabled
isContactlessEnabled CardControlSettings.setATMWithdrawalEnabled(true) API CardService.getCardSettings() CardControlSettings.setMagneticStripeEnabled(true)
isATMWithdrawalEnabled
isContactlessEnabled 入力検証とエラー API CardService.getCardSettings() CardControlSettings.setMagneticStripeEnabled(true)
D1 SDK は次のものを返すことがあります:
エラーコード:エンドユーザーが無効な形式の入力でカードコントロール設定を更新しようとしたとき、イシュアアプリケーションに返されます。
カウンターを維持します。承認時にカウンターを更新し、次と照合します
、またはエラーコード:エンドユーザーが形式は正しいが入力値が不正確なカードコントロール設定を更新しようとしたときに返されます。カウンターを維持します。承認時にカウンターを更新し、次と照合します
前提条件と許可される更新リストベースのコントロールには次の形式を使用してください:
形式
参照:
ISO 3166-1 alpha-2 形式 国コードの許容される形式について。形式が無効な場合、D1 SDK はそのエラーをイシュアアプリケーションに伝播します。次を参照してください: Android Country API そのようなエラーが発生しないように。 ISO 4217 アルファコード形式
CardControlSettings.Merchant.setGamblingMerchantEnabled(true)
ISO 3166-1 alpha-2 形式 許容される通貨コード形式について。形式が無効な場合、D1 SDK はそのエラーをイシュアアプリケーションに伝播します。参照: Android Currency API 更新を送信するための例を次に示します: ISO 4217 アルファコード形式
CardSettings cardSettings = null; // API からカード設定を取得するか、キャッシュから使用する
地域(リージョン)で地理を使用する場合は、次を参照してください:
サポートされている地域 デフォルトの MCC グループが必要な場合は、次を参照してください:.
デフォルトのマーチャントタイプ(加盟店タイプ) デフォルトのマーチャントタイプ.
最終更新
役に立ちましたか?