LoginSignup
1
0

More than 3 years have passed since last update.

クレジットカード決済用JavaScript準備④カード決済会社からのセキュリティートークンget

Last updated at Posted at 2021-04-23

関数宣言(function文)

関数宣言は、その名の通りfunction文を用いて関数を宣言する方法です。宣言した関数は、後から直接「関数名」を記述することで実行されます。

関数式(無名関数 / 関数リテラル)

対して、関数式とは変数(もしくは定数)に関数を値として代入し、後からその変数を呼び出すことで関数を間接的に利用する方法です。
ちなみに、関数定義時点で関数名を持たないため、その関数を無名関数(または匿名関数)とよびます。

アロー関数

アロー関数とは、関数式(関数リテラル)をさらに簡易的に記述するために用いられる技法です。
その名の通り矢印(=>)から命名されています。

    Payjp.createToken(card, (status, response) => (  )

ここではPayjp.createToken(card, callback)というオブジェクトとメソッドを使用します。
アロー関数の引数としてはstatusとresponseを定義しています。statusはトークンの作成がうまくなされたかどうかを確認できるHTTPステータスコードが入ります。responseはそのレスポンスの内容が含まれ、response.idとすることでトークンの値を取得することができます。

HTTPステータスコードが200のとき、すなわちうまく処理が完了したときだけ、トークンの値を取得するように実装していきます。

参考:@unsoluble_sugarさん 感謝
https://qiita.com/unsoluble_sugar/items/b080a16701946fcfce70

アイティーエムさま
https://www.itmanage.co.jp/column/http-www-request-response-statuscode/

(参考)HTTPステータスコード一覧

HTTP 100番台 Informational(情報レスポンス)

HTTPステータスコード 説明 状態
100 Continue リクエスト継続可能 正常
101 Switching Protocol プロトコルの切り替え
102 Processing 処理中 正常
103 Early Hints 早期に予測されるヘッダを伝達 正常

HTTP 200番台 Success(成功レスポンス)

HTTPステータスコード 説明 状態
200 OK リクエストが正常に処理できた 正常
201 Created リクエストが成功してリソースの作成が完了 正常
202 Accepted リクエストを受け取ったが処理はされていない 正常
203 Non-Authoritative Information リクエストが成功したものの、変換プロキシによって元のサーバーの200(OK)レスポンスからペイロードが変更された 正常
204 No Content リクエストに対して送信するコンテンツは無いがヘッダは有用である 正常
205 Reset Content クライアントにドキュメントビューをリセットするように指示 正常
206 Partial Content 要求された範囲のデータやリソースの一部分だけのリクエストが成功 正常

HTTP 300番台 Redirection(リダイレクション)

HTTPステータスコード 説明 状態
300 Multiple Choice リクエストに対して複数のレスポンスがあることを示す 正常
301 Moved Permanently 恒久的に移動する 正常
302 Found 一時的に移動する※ Google検索エンジンの検索リストでは旧URLを示すため将来的に元のURLに戻すなどの時に利用します。 正常
304 Not Modified 更新されていない※正常に処理されていますがブラウザキャッシュの内容を表示している為、サーバからダウンロードをしていません。 正常

HTTP 400番台 Client Error(クライアントエラー)

HTTPステータスコード 説明 状態
400 Bad Request 一般的なクライアントエラー エラー
401 Unauthorized アクセス権が無い、または認証に失敗 エラー
402 Payment Required 料金の支払いをするまでリクエストを処理できない状態 エラー
403 Forbidden 閲覧権限が無いファイルやフォルダ エラー
404 Not Found Webページが見つからない エラー
405 Method Not Allowed 送信するクライアント側のメソッドが許可されていない エラー
406 Not Acceptable サーバ側が受付不可能な値(ファイルの種類など)であり提供できない状態 エラー
407 Proxy Authentication Required プロキシサーバ経由で通信を行う際にプロキシサーバの認証情報が不足している エラー
408 Request Timeout リクエスト送信後のやり取りに時間が長すぎるため時間切れ エラー
409 Conflict サーバに既に存在しているデータが競合しているためリクエストを完了できない エラー
410 Gone ファイルが削除されたため、ほぼ永久的にWebページが存在しない エラー
411 Length Required Content-Lengthとはリクエストヘッダに送るデータ容量が書いてある項目サーバの方でContent-Lengthヘッダが無いためアクセスを拒否した エラー
412 Precondition Failed ヘッダで定義された前提条件が満たされていない場合にアクセス拒否される エラー
413 Payload Too Large ファイルをアップロードする際にサーバで定めたファイル容量の上限を超えてしまった為アクセス拒否された エラー
414 URI Too Long 指定したURLが長すぎる エラー
415 Unsupported Media Type サーバで許可していないリクエストの種類の為アクセス拒否された エラー
416 Range Not Satisfiable サーバーがリクエストされた範囲(容量)を提供できない エラー
417 Expectation Failed サーバが拡張されたステータスコードを返すことが出来ない エラー
422 Unprocessable Entity WebDAVの拡張ステータスコードリクエストは適正だが意味が異なるためサーバが返すことが出来ない エラー
423 Locked WebDAVの拡張ステータスコードリクエスト内容がロックされているためサーバが返すことが出来ない エラー
425 Too Early サーバが繰り返し処理が発生される可能性のあるリクエストと判断したため処理が出来ないと判断した※ 無限ループでサーバに高負荷がかかるリスクの可能性がある為 エラー
426 Upgrade Required Upgrading to TLS Within HTTP/1.1の拡張ステータスコードHTTP/1.1にアップグレードが必要な為、サーバが処理できない エラー
429 Too Many Requests 一定時間内にリクエスト数が多すぎるためアクセスを拒否した※ DDos攻撃によるサーバダウンのリスクを回避する為 エラー
431 Request Header Fields Too Large リクエストヘッダーが長すぎるためサーバ処理が拒否した エラー

HTTP 500番台 Server Error(サーバエラー)

HTTPステータスコード 説明 状態
500 Internal Server Error 何らかのサーバ内で起きたエラー エラー
501 Not Implemented サーバーがリクエストに満たすのに必要な機能をサポートしていない エラー
502 Bad Gateway ゲートウェイ・プロキシサーバが不正なリクエストを受け取り拒否した エラー
503 Service Unavailable 一時的にサーバにアクセスが出来ない エラー
504 Gateway Timeout リクエストを送ったサーバからの適切なレスポンスがなくタイムアウトした エラー
505 HTTP Version Not Supported HTTP バージョンがサーバによってサポートされていない エラー
506 Variant Also Negotiates Transparent Content Negotiation in HTTPで定義されている拡張ステータスコードURLを返すコンテンツで配置ミスなどによる内部サーバエラー エラー
507 Insufficient Storage WebDAV拡張ステータスコードサーバで処理するためのストレージ容量不足 エラー
508 Loop Detected 主に開発中のプログラム処理で、無限ループに陥ったためサーバーが操作を終了 エラー
510 Not Extended 主に静的ファイルへのアクセス集中による一時的に表示されるエラー エラー
511 Network Authentication Required ネットワーク認証が必要 エラー
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0