メインコンテンツへスキップ
このページで

コール getWalletsAvailable 商社が所有するウォレットボタンを表示する前に、DEUNA によって返された商社設定と、現在のブラウザまたはデバイスの機能を組み合わせてください。

可用性決定#

フロー図
1Initialize SDK withpublic API key2CallgetWalletsAvailable3-- Yes4Hide wallet button5-- Yes6Show provider button7Open Elements from acustomer gesture
プロバイダーまたはプロセッサ商社または顧客

プラットフォームごとに確認#

const wallets = await DeunaSDK.getWalletsAvailable({
  orderToken,
  userInfo: {email: 'ada@example.com'},
});

applePayButton.hidden = !wallets.includes('APPLE_PAY');
googlePayButton.hidden = !wallets.includes('GOOGLE_PAY');

パラメータモード#

呼び出し形式使用する
getWalletsAvailable()注文固有のトランザクション情報なしで、設定されたウォレットを解決します。
{orderToken, userInfo}注文コンテキストを使用して、顧客がクリックする前に、商人の認証情報を解決します。 ウォレットでのチェックアウトに推奨。
明示的な APPLE_PAY / GOOGLE_PAY ウォレット設定承認された認証情報をDEUNAの vault エンドポイントから取得するのではなく、直接提供する高度な統合。

注文を事前に提供することは、特にApple Payの場合に重要です。 その後、ブラウザの顧客が操作するウィンドウ内で、ボタンハンドラがすぐに処理を開始できます。

ボタンから起動#

JavaScript
applePayButton.addEventListener('click', async () => {
  await DeunaSDK.initElements({
    orderToken,
    userInfo,
    types: [{name: 'APPLE_PAY'}],
    callbacks: {
      onSuccess: verifyCredentialOrOrder,
      onError: showWalletRecovery,
      onClosed: restorePaymentMethods,
    },
  });
});

使用する GOOGLE_PAY Google Pay 用。クリックまたはタップハンドラ内で直接実装してください。ネイティブシートを開く前に、タイマー、関連のない await、またはバックグラウンドコールバックを使用しないでください。

キャッシュとリフレッシュ#

現在の SDK は、解決されたプロバイダと認証情報をキャッシュすることで、後続のウォレットの起動を高速化します。 Web SDK では、以下のコードを作成してください。 DeunaSDK.newInstance() ページが、SDKの状態を隔離する必要がある場合に。モバイルアプリケーションでは、アクティブな統合ライフサイクル全体で、1つの初期化されたSDKインスタンスを保持します。

顧客が異なる条件の注文に変更した場合、または、異なる商社コンテキストに切り替えた場合、または新しいアプリケーションセッションを開始した場合に、再度確認してください。ウォレットを表示するのは、以前の注文の利用状況のためではなく、現在の状況に基づいて行ってください。

ウォレットが存在しない理由#

商社または接続が有効ではありません構成

アカウントで、ウォレット接続、環境、国、通貨、および注文が有効であることを確認してください。サンドボックスと本番環境の認証情報は異なります。

現在のブラウザまたはデバイスはウォレットを使用できません機能

Apple Payには、有効なAppleデバイス、ブラウザ、ウォレット設定、および商社ドメインの構成が必要です。Google Payには、有効なブラウザまたはAndroidデバイスと、サポートされているGoogleサービスが必要です。

「availability call」がエラーまたは空のリストを返すネットワークと認証

初期化、公開APIキー、環境、ネットワークアクセス、および注文トークンの確認。 空のリストを「ウォレット制御の表示を抑制」として扱い、チェックを回避する指示として解釈しない。

ウォレットが表示されない、または表示に時間がかかる顧客の操作

「availability」をタップする前に実行し、結果をSDKでキャッシュし、 initElements ウォレットボタンのハンドラから直接呼び出す。

UXとアクセシビリティ#

  • プロバイダーが承認したボタンのアセット、ラベル、サイズ、およびコントラストルールを使用する。
  • 利用できないウォレットを表示するのではなく、無効なボタンを非表示にする。
  • ウォレットが開けない場合に、標準の支払い方法を表示する。
  • エラーを通知し、ウォレットボタンに戻る。
  • デバイスの回転、大きなテキスト、スクリーンリーダー、キーボード操作、および狭い埋め込みレイアウトのテスト。