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

SDK イベントは、顧客とウィジェットが何をしているかを記述します。これらは分析、診断、およびインターフェースの変更に使用します。直ちに UI で成功およびエラーコールバックを使用し、バックエンドで最終的な注文状態を確認してから処理してください。

イベントライフサイクル#

01 · client
体験を開始
決済ウィジェット、要素、バウチャー、または次のアクションが開始されます。
02 · SDK
イベントライフサイクルの通知
SDKは、サポートされている名前と、それに対応する、体験に特化したペイロードを送信します。
03 · interface
ローカルでのReact開発
ロード、検証、および分析機能を更新し、同時に決済データを公開しない。
04 · backend
結果を確認
注文を取得するか、検証済みのWebhookを受信してから処理を実行。
シーケンス図
1Customer2Merchant app3DEUNA SDK4Merchant backendOpens paymentInitialize experiencecheckoutStarted /paymentMethodsStartedSelects and submitspaymentMethodsSelected /paymentProcessingonSuccess or onErrorVerify authoritativeorder stateConfirm fulfillment decision
商社または顧客DEUNA

プラットフォーム経由での登録#

await DeunaSDK.initPaymentWidget({
  orderToken,
  callbacks: {
    onEventDispatch: (event, payload) => {
      analytics.track(`deuna.${event}`, sanitize(payload));
    },
  },
});

WebとReact Nativeのコールバックは、イベント名を文字列として公開します。ネイティブSDKは、型付きの値を公開します。新しいイベントがリリースされた際に、既存の分析アダプターを壊さないように、デフォルトブランチを維持してください。 CheckoutEvent または ElementsEvent 安定した統合の確認

推奨される利用方法#

存在する場合、専用のコールバックを使用してください。これにより、生のイベントストリームよりも、より小さく、型付きの契約を提供します。

信号WebiOSAndroidReact Native推奨される利用
onSuccessはいはいはいはい体験を終了または置き換え、最終状態を確認してください。
onErrorはいはいはいはいエラー情報から、再試行または復旧手順を生成します。
onClosedはいはいはいはい顧客またはSDKの終了後に、商人のUIを復元します。
onCardBinDetected決済 + 要素決済 + 要素決済 + 要素決済 + 要素カード固有のオファーまたはスタイルを再計算します。
onInstallmentSelected決済 + 要素決済 + 要素決済 + 要素決済 + 要素カードデータを保存せずに、選択されたプランの識別子を記録します。
onPaymentProcessing決済 + クーポン決済決済決済 + クーポン重複送信アクションを無効化します。
onResizeはい埋め込みライフサイクル埋め込みライフサイクルはい埋め込みコンテナをコンテンツに合わせて配置します。

参照 SDKからのレスポンス ペイロードとエラー処理のため。

高価値ライフサイクルイベント#

イベント意味体験に関するメモ
checkoutStartedチェックアウト体験が開始または初期化されました。Webおよびネイティブチェックアウトストリームで利用可能。
paymentMethodsStarted決済方法のステップがアクティブになりました。ネイティブおよびReact Nativeチェックアウトストリーム。
paymentMethodsSelected顧客が決済方法を選択しました。Webおよびネイティブチェックアウトストリーム。
onBinDetectedカードBINが検出されました。推奨 onCardBinDetected 利用可能な場合。
onInstallmentSelected顧客が分割払いオプションを選択しました。専用のコールバックを使用することを推奨します。
paymentProcessing送信処理中重複アクションを無効化し、承認を推測しない。
purchaseウィジェットが正常な購入インタラクションを報告しました。使用する onSuccess、その後バックエンドで注文を確認します。
purchaseError購入インタラクションが失敗しました。使用する onError 正規化されたエラー情報を受け取るために。
purchaseRejectedネイティブチェックアウトが拒否を報告しました。ネイティブおよびReact Nativeストリームで利用可能、現在のWebのenumには非対応。
vaultSaveSuccessElementsが保存された資格情報を報告しました。WebおよびネイティブのElementsフロー。
vaultSaveErrorElementsが資格情報を保存できませんでした。ペイロードを体験固有として扱います。
linkCloseホストされた体験が終了を要求しました。SDKも onClosed.

現在のイベントカタログを呼び出します。#

これらの名前は、維持されているSDKのソースに含まれる公開のenumです。ペイロードオブジェクトは意図的に生の形式で提供されており、そのフィールドは経験やリリースによって異なります。ペイロードフィールドを使用する際は、専用のコールバックがそれを文書化していることを確認してください。

Web SDK18種類のイベント名

checkoutStarted, paymentMethodsEntered, onBinDetected, purchase, paymentProcessing, loginStarted, paymentMethodsSelected, loginOtpStarted, purchaseError, onInstallmentSelected, linkClose, checkoutReady, vaultSaveSuccess, vaultSaveError, checkoutFailed, openExternalPopup, closeExternalPopup, errorApmMissingReference.

React Native · チェックアウト現在のCheckoutEventType

custom, purchase, purchaseError, linkClose, linkFailed, purchaseRejected, paymentProcessing, paymentMethodsAddCard, paymentMethodsCardExpirationDateInitiated, paymentMethodsCardNameEntered, apmSuccess, apmSuccessful, changeAddress, changeCart, paymentClick, apmClickRedirect, paymentMethodsCardNumberInitiated, paymentMethodsCardNumberEntered, paymentMethodsEntered, checkoutStarted, linkStarted, paymentMethodsStarted, paymentMethodsSelected, adBlock, paymentMethods3dsInitiated, pointsToWinStarted, paymentMethodsCardSecurityCodeInitiated, paymentMethodsCardSecurityCodeEntered, paymentMethodsCardExpirationDateEntered, paymentMethodsCardNameInitiated, paymentMethodsNotAvailable, paymentMethodsShowMore, paymentMethodsShowMyCards, benefitsStarted, donationsStarted, donationsUsed, onBinDetected, onInstallmentSelected, onDownloadVoucher, errorApmMissingReference.

React Native · Elements現在のElementsEventType

vaultClosed, vaultProcessing, vaultSaveClick, vaultStarted, vaultFailed, cardSuccessfullyCreated, changeAddress, changeCart, vaultSaveError, vaultSaveSuccess, vaultClickRedirect3DS, cardCreationError, paymentMethodsCardIdentityNumberInitiated, paymentMethodsCardIdentityNumberEntered, paymentMethodsCardNameInitiated, paymentMethodsCardNameEntered, paymentMethodsCardSecurityCodeInitiated, paymentMethodsCardSecurityCodeEntered, paymentMethodsCardExpirationDateEntered, paymentMethodsCardExpirationDateInitiated, paymentMethodsCardNumberEntered, paymentMethodsCardNumberInitiated, paymentMethodsEntered, paymentMethodsStarted.

iOSおよびAndroid · チェックアウト型付きのチェックアウトイベントカタログ

ネイティブなカタログには、各プラットフォームから公開されているチェックアウト、ログイン、請求、配送、ユーザー情報、APM、クーポン、寄付、カード入力、分割払い、処理、購入、拒否、および失敗イベントが含まれています。Androidはさらに、 apmFailed, couponStarted, linkCriticalError, および userInfoPhoneInitiatediOSは、次のように公開しています。 customSDKに同梱されているenumを使用してください。ネイティブな2つのカタログがバイト単位で完全に一致することを前提としないでください。

iOSおよびAndroid · Elements型付きのElementsイベントカタログ

両方のネイティブSDKは、カード入力、BIN、分割払い、チェックアウト、Vaultライフサイクル、およびクレデンシャル保存イベントを公開しています。現在のカタログには、 paymentMethodSplitPayments, vaultClickRedirect3DS, vaultProcessing, vaultSaveClick, vaultSaveError, および vaultSaveSuccess.

分析とプライバシーに関する情報#

  • 第三者分析先への転送前に、イベント名を許可リストに含めてください。
  • 注文、顧客、支払い方法、およびプロバイダーのメタデータを削除します。ただし、データ契約がそれを許可している場合は、例外として扱ってください。
  • PAN、セキュリティコード、ウォレットトークン、アクセストークン、または完全な生のペイロードは記録しないでください。
  • アプリのバージョン、SDKのバージョン、環境、および商家の固有の相関IDを、診断のために含めてください。
  • 不明なイベント名を、互換性のある信号として扱い、致命的なエラーとして扱わないでください。

公開ソース契約#

上記のカタログは、維持されている公開の定義リストからコピーするのではなく、維持されている公開の定義リストと照合されます。