Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Web/API/PaymentRequest/merchantvalidation_event を更新 #23315

Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
---
title: "PaymentRequest: merchantvalidation イベント"
short-title: merchantvalidation
slug: Web/API/PaymentRequest/merchantvalidation_event
l10n:
sourceCommit: 312081aabba3885b35a81107b3c2fc53428896c5
sourceCommit: 58ad1df59f2ffb9ecab4e27fe1bdf1eb5a55f89b
---

{{APIRef("Payment Request API")}}{{SecureContext_Header}}{{Deprecated_Header}}

**`merchantvalidation`** イベントは[決済リクエスト API](/ja/docs/Web/API/Payment_Request_API) によって、決済ハンドラーが、購入をリクエストされた販売者が、決済ハンドラーを使用することが許可されていることを確認することを要求する場合に {{domxref("PaymentRequest")}} オブジェクトへ配信されます。

どのように[販売者検証](/ja/docs/Web/API/Payment_Request_API/Concepts#merchant_validation)のプロセスが動作するのかを知ってください。
どのように[販売者検証](/ja/docs/Web/API/Payment_Request_API/Concepts#販売者検証)のプロセスが動作するのかを知ってください。

このイベントはキャンセル不可で、バブリングしません。

Expand All @@ -31,14 +32,14 @@ onmerchantvalidation = (event) => {};

## イベントプロパティ

- {{domxref("MerchantValidationEvent.methodName")}} {{SecureContext_Inline}}
- {{domxref("MerchantValidationEvent.methodName")}}
- : 検証を必要とする決済ハンドラーの固有の決済手段識別子を提供する文字列です。これは標準の決済ハンドラーの識別子文字列か、`https://apple.com/apple-pay` のような決済ハンドラーを識別しリクエストを処理するURLのいずれかである可能性があります。
- {{domxref("MerchantValidationEvent.validationURL")}} {{SecureContext_Inline}}
- {{domxref("MerchantValidationEvent.validationURL")}}
- : サイトやアプリが決済ハンドラー固有の検証情報を取得するための URL を指定する文字列です。このデータを取得したら、そのデータ(または検証データを解決するプロミス)を {{domxref("MerchantValidationEvent.complete", "complete()")}} に渡して、決済リクエストが認可された販売者から来ていることを検証しなければなりません。

## 例

この例では、`mercantvalidation` イベントに対してイベントハンドラーを確立している。これは {{domxref("fetch()")}} を用いて、イベントの {{domxref("MerchantValidationEvent.validationURL", "validationURL")}} プロパティから取得した決済手段の検証用 URL を引数に持つリクエストを自分自身でサーバーに送信します。販売者サーバーは、決済手段のドキュメント内の検証 URL にアクセスする必要があります。通常、クライアントは検証 URL にアクセスすべきではありません。
この例では、`mercantvalidation` イベントに対してイベントハンドラーを確立している。これは {{domxref("Window/fetch", "fetch()")}} を用いて、イベントの {{domxref("MerchantValidationEvent.validationURL", "validationURL")}} プロパティから取得した決済手段の検証用 URL を引数に持つリクエストを自分自身でサーバーに送信します。販売者サーバーは、決済手段のドキュメント内の検証 URL にアクセスする必要があります。通常、クライアントは検証 URL にアクセスすべきではありません。

```js
request.addEventListener("merchantvalidation", (event) => {
Expand All @@ -56,7 +57,7 @@ const response = await request.show();

販売者サーバーがどのように検証を処理するかは、サーバーの実装と決済手段のドキュメントに依存します。検証サーバーから配信されたコンテンツは販売者サーバーに転送され、`fetch()` 呼び出しの履行ハンドラーからイベントの {{domxref("MerchantValidationEvent.complete", "complete()")}} メソッドに返されます。このレスポンスにより、決済ハンドラーは販売者が検証されたかどうかを知ることができます。

また、`onmerchantvalidation` イベントハンドラプロパティを使用して、このイベントのハンドラーを設定することができます。
また、`onmerchantvalidation` イベントハンドラープロパティを使用して、このイベントのハンドラーを設定することができます。

```js
request.onmerchantvalidation = (event) => {
Expand Down Expand Up @@ -84,8 +85,6 @@ const response = await request.show();
- [決済リクエスト API の使用](/ja/docs/Web/API/Payment_Request_API/Using_the_Payment_Request_API)
- `onmerchantvalidation` イベントハンドラープロパティ
- [販売者検証](/ja/docs/Web/API/Payment_Request_API/Concepts#販売者検証)
- {{domxref("PaymentRequest")}}
- {{domxref("PaymentRequest.payerdetailchange_event", "payerdetailchange")}} イベント
- {{domxref("PaymentRequest.paymentmethodchange_event", "paymentmethodchange")}} イベント
- {{domxref("PaymentRequest.shippingaddresschange_event", "shippingaddresschange")}} イベント
- {{domxref("PaymentRequest.shippingoptionchange_event", "shippingoptionchange")}} イベント