不正の防止

不正防止シグナル

追加のユーザー クライアント情報は、Google から送信される SubmitOrderRequest。この情報を使用して、不正行為の防止に 統合内の取引情報を確認できます

不正行為防止シグナルの読み方

プロジェクトで追加の不正行為防止シグナルの受信を有効にすると、 SubmitOrderRequest ヘッダーには、ユーザー クライアントに関する情報が含まれます。 内部 IP アドレスを使用して通信できますリクエスト ヘッダーには次のものが含まれます。 含まれます

  • IP アドレス: ユーザー クライアントの IP アドレスは、 IPx-forwarded-for フィールドに入力します。このアドレスは、IPV4 または IPV6 のいずれかです。 ユーザー クライアントの構成によって決まります。

  • ユーザー エージェント: ユーザー エージェント文字列は user-agent フィールドに格納されます。 「Google-ActionsOnGoogle/1.0」という使用します。なお、このフィールドには、 ユーザーのデバイスの種類や注文日によって異なります。 できます。

以下は、不正行為防止時の SubmitOrderRequest HTTP ヘッダーのスニペットです。 が有効になっている:

X-Forwarded-For: 72.00.123.12,66.111.12.123, 169.254.1.1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36,gzip(gfe),gzip(gfe) Google-ActionsOnGoogle/1.0

ユーザーのクライアント情報だけでは不正行為を行えない 代替ソリューションについて Google の担当者にお問い合わせください。

納品時の不正な取引の処理方法

ユーザーの IP アドレスとユーザー エージェントの情報に基づき、 SubmitOrderRequest 様、内部の不正行為防止アルゴリズムを使用して、 取引が正当かどうかです

取引が不正と思われる場合は、orderState REJECTEDINELIGIBLErejectionInfo、適切な SubmitOrderResponseMessage のエラーの説明。

取引が正当と思われる場合は、通常どおり注文を処理します。

請求先住所の検証

不正行為を減らすために、お支払いに請求先住所を含めることもできます。 取引リクエストを PSP に送信しますbillingAddressSubmitOrderRequestMessage

で確認できます。

googleProvidedPaymentOptions の例:

{
  "facilitationSpecification": "{\"apiVersion\":2,\"apiVersionMinor\":0,\"merchantInfo\":{\"merchantId\":\"Merchant ID\",\"merchantName\":\"Merchant Name\"},\"allowedPaymentMethods\":[{\"type\":\"CARD\",\"parameters\":{\"allowedAuthMethods\":[\"PAN_ONLY\"],\"allowedCardNetworks\":[\"VISA\",\"AMEX\",\"MASTERCARD\"],\"billingAddressRequired\":true,\"billingAddressParameters\":{\"format\":\"MIN\"}},\"tokenizationSpecification\":{\"type\":\"PAYMENT_GATEWAY\",\"parameters\":{\"gateway\":\"stripev2\",\"gatewayMerchantId\":\"stripe_pk_live_key\"}}}]}"
}

住所または郵便番号が間違っているという回答が PSP から寄せられた場合は、 同様のサンプル SubmitOrderResponseMessage レスポンスが返されます。

レスポンスの例

  {
    "expectUserResponse": false,
    "finalResponse": {
        "richResponse": {
            "items": [
                {
                    "structuredResponse": {
                        "orderUpdate": {
                            "actionOrderId": "sample_action_order_id",
                            "orderState": {
                                "state": "REJECTED",
                                "label": "Order rejected"
                            },
                            "updateTime": "2017-05-10T02:30:00.000Z",
                            "rejectionInfo": {
                                "type": "PAYMENT_DECLINED",
                                "reason": "Invalid zipcode"
                            },
                            "orderManagementActions": [
                                {
                                    "type": "CUSTOMER_SERVICE",
                                    "button": {
                                        "title": "Contact customer service",
                                        "openUrlAction": {
                                            "url": "mailto:support@example.com"
                                        }
                                    }
                                },
                                {
                                    "type": "EMAIL",
                                    "button": {
                                        "title": "Email restaurant",
                                        "openUrlAction": {
                                            "url": "mailto:person@example.com"
                                        }
                                    }
                                },
                                {
                                    "type": "CALL",
                                    "button": {
                                        "title": "Call restaurant",
                                        "openUrlAction": {
                                            "url": "tel:+16505554679"
                                        }
                                    }
                                },
                                {
                                    "type": "VIEW_DETAILS",
                                    "button": {
                                        "title": "View order",
                                        "openUrlAction": {
                                            "url": "https://orderview.partner.com?orderid=sample_action_order_id"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            ]
        }
    }
}
      

PAYMENT_DECLINED rejectionInfo 型を返すと メッセージが表示され、ユーザーは請求先住所を更新したり、別の住所を選択したりできます。 。注文送信エラーで、PAYMENT_DECLINED 件のエラーが除外されます アラート