Skip to content

Commit

Permalink
2024/07/24 時点の英語版に基づき更新
Browse files Browse the repository at this point in the history
  • Loading branch information
mfuji09 committed Aug 30, 2024
1 parent b006e16 commit 7f4aedc
Showing 1 changed file with 7 additions and 8 deletions.
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")}} イベント

0 comments on commit 7f4aedc

Please sign in to comment.