- HTTP リクエスト
- リクエストの本文
- レスポンスの本文
- RequestHeader
- バージョン
- StandardCard
- AvsData
- ResponseHeader
- CardNetworkResult
- ネットワーク
- AvsResult
- VerificationResult
- CvnResult
ユーザーのカードが有効かどうかを確認します。
このメソッドは、ユーザーのカードの詳細を確認し、そのカードを支払いに使用できるかどうかを確認するために、Google によって呼び出されます。この通話によって金銭が移動することはありません。また、ユーザーのアカウントに永続的な変更が生じることもありません。
リクエストの例を次に示します。
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "ZWNobyB0cmFuc2FjdGlvbg",
"requestTimestamp": "1481855969503"
},
"standardCard": {
"accountNumber": "4123456789101112",
"expiryDate": "01/2020",
"cvn": "123"
},
"avsData": {
"streetAddress": "123 Main St APT #200",
"localityName": "Springfield",
"administrativeAreaName": "CO",
"countryCode": "US"
}
}
レスポンスの例を次に示します。
{
"responseHeader": {
"responseTimestamp": "1481855970403",
},
"cardNetworkResult": {
"network": "VISA",
"iso8583Result": "00",
"rawNetworkResult": "00"
},
"avsResult": {
"rawAvsResult": "B",
"streetAddress": "MATCH",
"localityName": "MATCH",
"administrativeAreaName": "MATCH",
"postalCodeNumber": "NOT_SENT",
"countryCode": "SKIPPED"
},
"cvnResult": "MATCH"
}
HTTP リクエスト
POST https://card-verification-service.google.com/v1/card/verifycard
この URL は gRPC Transcoding 構文を使用します。
リクエスト本文
リクエストの本文には、次の構造のデータが含まれます。
JSON 表現 | |
---|---|
{ "requestHeader": { object( |
フィールド | |
---|---|
requestHeader |
必須: すべてのリクエストに共通のヘッダー。 |
standardCard |
必須: ユーザーの支払いカードに関するデータ。 |
avsData |
省略可: AVS によって確認されるユーザーの住所。 |
レスポンスの本文
成功すると、レスポンスの本文に次の構造のデータが含まれます。
決済インテグレータがホストする card.verifycard メソッドのレスポンス オブジェクト。
JSON 表現 | |
---|---|
{ "responseHeader": { object( |
フィールド | |
---|---|
responseHeader |
必須: すべてのレスポンスに共通のヘッダー。 |
cardNetworkResult |
必須: カード ネットワークで承認が発行された結果。 |
avsResult |
省略可: リクエストで送信された住所フィールドの検証結果。 リクエストで |
cvnResult |
必須: リクエストで送信された CVN の検証結果。リクエストで CVN が設定されていない場合、この値は |
RequestHeader
サーバーに送信されるすべてのリクエストに定義されるヘッダー オブジェクト。
JSON 表現 | |
---|---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object( |
フィールド | |
---|---|
requestId |
必須: このリクエストの一意の識別子。 これは、最大長が 100 文字で、「a ~ z」、「A ~ Z」、「0 ~ 9」、「:」、「-」、「_」のみを含む文字列です。 |
requestTimestamp |
必須: エポックからのミリ秒単位で表されるこのリクエストのタイムスタンプ。受信者は、このタイムスタンプが「現在」の ± 60 秒であることを確認する必要があります。このリクエストのタイムスタンプは、再試行時にべき等ではありません。 |
userLocale |
省略可: 2 文字または 3 文字の ISO 639-2 Alpha 3 言語コード。必要に応じてハイフンと ISO 3166-1 Alpha-2 国コード(「pt」、「pt-BR」、「fil」、「fil-PH」など)が続きます。レスポンスの |
protocolVersion |
必須: このリクエストのバージョン。 |
バージョン
従来の a.b.c
バージョン構造の構造化されたバージョン オブジェクト。同じ番号のメジャー バージョンは互換性が保証されています。マイナーおよびリビジョンは、予告なく頻繁に変更される場合があります。インテグレータは、同じメジャー バージョンのすべてのリクエストをサポートする必要があります。
JSON 表現 | |
---|---|
{ "major": number, "minor": number, "revision": number } |
フィールド | |
---|---|
major |
必須: メジャー バージョン。これは、異なるバージョンの互換性リクエストには互換性が保証されていないため、マークされています。 |
minor |
必須: マイナー バージョン。これは、重要なバグ修正を意味します。 |
revision |
必須: マイナー バージョン。マイナーなバグ修正を示します。 |
StandardCard
カードの標準的な表現
JSON 表現 | |
---|---|
{ "accountNumber": string, "expiryDate": string, "cvn": string } |
フィールド | |
---|---|
accountNumber |
必須: 平文のカードのメイン アカウント番号(PAN)。 |
expiryDate |
省略可: カードの有効期限(MM/YYYY の形式)。一部の地域のカードには有効期限がないため、省略可能です。 |
cvn |
省略可: Google がユーザーから CVN を取得した場合は、ここで入力されるため、確認が必要になります。 |
AvsData
AVS によって確認される住所フィールドが含まれます。
JSON 表現 | |
---|---|
{ "streetAddress": string, "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string } |
フィールド | |
---|---|
streetAddress |
省略可: ユーザーの請求先住所の番地。ユーザーが番地を入力するために複数の行を入力した場合は(アパート番号の行など)、行はスペースで連結されます。 |
localityName |
省略可: ファジーな用語ですが、通常は住所の都市や町の部分を指します。地域区分が明確に定義されていない地域や、この構造にうまく当てはまらない地域(日本や中国など)では、localityName を空にして address_line を使用します。 例: 米国の市、イタリアのコミューン、英国の郵便区域 |
administrativeAreaName |
省略可: ユーザーの請求先住所に対応する、この国の最上位の行政区画。 例: 米国の州、イタリア地域、英国構成国、日本の都道府県 「country == US」の場合は、米国の州の 2 文字の略称を想定します。 |
postalCodeNumber |
省略可: ユーザーの請求先の郵便番号。 |
countryCode |
省略可: ユーザーの請求先住所の国コード(ISO-3166-1 Alpha-2 形式)。 |
ResponseHeader
サーバーから送信されるすべてのレスポンスに定義されるヘッダー オブジェクト。
JSON 表現 | |
---|---|
{ "responseTimestamp": string } |
フィールド | |
---|---|
responseTimestamp |
必須: エポックからのミリ秒として表される、このレスポンスのタイムスタンプ。レシーバーは、このタイムスタンプが「現在」の ± 60 秒であることを確認する必要があります。 |
CardNetworkResult
ネットワークとそのネットワークの未加工の結果コードが含まれます。
JSON 表現 | |
---|---|
{
"network": enum( |
フィールド | |
---|---|
network |
必須: 結果コードの取得元のネットワーク。 |
iso8583Result |
必須: ネットワークから返される ISO-8583 戻りコード。 ネットワークが独自のレスポンス コード形式を使用する場合、インテグレータはそれらのレスポンス コードを ISO-8583 戻りコードにマッピングする必要があります。 |
rawNetworkResult |
必須: ネットワークから返される未加工の値。ISO-8583 戻りコードを使用するネットワークでは、このフィールドと |
ネットワーク
rawResult
を返した可能性のあるカード ネットワークを定義します。
列挙型 | |
---|---|
UNKNOWN_NETWORK |
ネットワークが認識されませんでした |
NETWORK_NOT_INVOLVED |
この値は、不承認がネットワークによるものではない場合(カード ネットワーク上で送信される前にインテグレータが購入を承認しなかった場合など)に使用します。 |
AMEX |
AMEX ネットワーク |
COMPROCARD |
COMPROCARD ネットワーク |
DANKORT |
DANKORT ネットワーク |
DINACARD |
DINACARD ネットワーク |
DINERS_CLUB |
DINERS_CLUB ネットワーク |
DISCOVER |
ディスカバリー ネットワーク |
EFTPOS |
EFTPOS ネットワーク |
ELO |
ELO ネットワーク |
ENROUTE |
ENROUTE ネットワーク |
FELICA |
FELICA ネットワーク |
GE_CAPITAL |
GE_CAPITAL ネットワーク |
HIPERCARD |
HIPERCARD ネットワーク |
ID |
ID ネットワーク |
INTERAC |
INTERAC ネットワーク |
JCB |
JCB ネットワーク |
LASER |
レーザー ネットワーク |
MAESTRO |
MAESTRO ネットワーク |
MASTERCARD |
MASTERCARD ネットワーク |
PPT |
PPT ネットワーク |
QUICPAY |
QUICPAY ネットワーク |
RUPAY |
RUPAY ネットワーク |
SBERCARD |
SBERCARD ネットワーク |
SOLO |
単独ネットワーク |
SYNCHRONY |
SYNCHRONY ネットワーク |
UNIONPAY |
UNIONPAY ネットワーク |
VISA |
VISA ネットワーク |
AvsResult
リクエストで指定された住所フィールドを検証した結果です。
暗黙的な結果としてフィールドが存在しないことに依存するのではなく、各フィールドに対して明示的な結果が必要なため、すべてのフィールドが必須です。
JSON 表現 | |
---|---|
{ "rawAvsResult": string, "streetAddress": enum( |
フィールド | |
---|---|
rawAvsResult |
必須: カード ネットワークから返される未加工の AVS 値。 |
streetAddress |
必須: リクエストの リクエストでフィールドが設定されていない場合、この値は「NOT_SENT」になります。 |
localityName |
必須: リクエストの リクエストでフィールドが設定されていない場合、この値は「NOT_SENT」になります。 |
administrativeAreaName |
必須: リクエストの リクエストでフィールドが設定されていない場合、この値は「NOT_SENT」になります。 |
postalCodeNumber |
必須: リクエストの リクエストでフィールドが設定されていない場合、この値は「NOT_SENT」になります。 |
countryCode |
必須: リクエストの リクエストでフィールドが設定されていない場合、この値は「NOT_SENT」になります。 |
VerificationResult
列挙型 | |
---|---|
UNKNOWN_AVS_MATCH |
このデフォルト値は決して設定しないでください。 |
NOT_SENT |
このフィールドは Google から送信されたものではないため、何もできませんでした。 |
MATCH |
Google がこのフィールドをインテグレータに送信し、AVS でチェックしたところ、期待値と一致していました。 |
MISMATCH |
Google がこのフィールドをインテグレータに送信し、AVS でチェックしましたが、想定された値と一致しませんでした。 |
SKIPPED |
Google はフィールドをインテグレータに送信しましたが、インテグレータはフィールドをチェックしませんでした。 |
NOT_SPECIFIED |
Google がフィールドをインテグレータに送信し、インテグレータが AVS を介してフィールドを確認しましたが、AVS 結果コードは、フィールドが想定された値と一致するかどうかをインテグレータが把握するのに十分な情報を提供しません。 |
CvnResult
リクエストで指定された CVN を検証した結果。
列挙型 | |
---|---|
UNKNOWN_CVN_RESULT |
このデフォルト値は決して設定しないでください。 |
NOT_SENT |
Google から CVN が提供されなかったため、確認できませんでした。 |
NOT_VERIFIED |
Google から CVN を送信しましたが、確認されていません。ネットワーク結果コード「F」に対応します |
MATCH |
Google から CVN が送信され、確認が完了し、一致しました。ネットワーク結果コード「M」に対応します。 |
MISMATCH |
Google から CVN を送信しましたが、確認されましたが、一致しませんでした。ネットワーク結果コード「N」に対応します。 |