要件・仕様

最低技術要件

実装が必要なWebhook

Webhook
提供プラン形態 インストール アンインストール トライアル終了後の自動更新処理 成功/失敗 月額自動更新処理 成功/失敗 プラン変更 サブスクリプションキャンセル 再決済期限超過
(2024.06.04追加)
自由決済成功/失敗
(2024.06.28追加)
無料 - - - - - ※自由決済APIを使用する場合のみ
サブスクリプション - ※複数プラン提供の場合のみ ※自由決済APIを使用する場合のみ
サブスクリプション
初期費用あり
- ※複数プラン提供の場合のみ ※自由決済APIを使用する場合のみ
サブスクリプション
トライアルあり
※複数プラン提供の場合のみ ※自由決済APIを使用する場合のみ
サブスクリプション
初期費用・トライアルあり
※複数プラン提供の場合のみ ※自由決済APIを使用する場合のみ
makeshop apps外での独自決済
(遷移先のアプリ側にて決済)
- - - - - -

詳細はシーケンス図をご確認ください。

アプリ側で必要な制御

アンインストール後に再インストールした場合のデータ使用の制御(2024.07.01追加)

アプリをアンインストール後、同ショップIDから再インストールがあった場合、ショップIDにて一意に識別し過去のデータを紐づけることによって、以前のデータを使用可能とするかはアプリ側でご判断ください。

サブスクリプションプランを提供される場合のアプリの利用制限の制御

アプリの利用状態に応じて、アプリの利用制限をアプリ側で制御してください。

「利用終了」の場合、アプリの利用制限はアプリ側で制御してください。

「再決済中」の場合、アプリを利用可能とするか利用制限するかはアプリ側で制御してください。(2024.06.04追加)

  • ※ショップ様の状況によっては、料金が未収のまま強制的に利用停止となることがあります。
  • ※利用規約に支払い等に関する事項を含めていただくようお願いいたします。

その他必須要件

アプリ内データのショップオーナーへの提供

アプリ利用の中で生成 または連携されたデータのうち、ショップオーナーに所有権があるデータはご要望があった場合には提供のご対応をお願いいたします。
提供形態は自由ですが、ダウンロード機能の設定や運用におけるデータ提供等のご対応をご準備いただきますようお願いいたします。

インストール

インストールとは

ショップ管理画面にて、アプリを追加する処理が「インストール」となります。

インストールによって行われる処理

ショップオーナーによってアプリがインストールされた際、以下の処理が行われます。

  • ・インストールフックURLの呼び出し

アンインストール

アンインストールとは

ショップ管理画面にて、アプリを削除する処理が「アンインストール」となります。

アンインストールによって行われる処理

ショップオーナーによってアプリがアンインストールされた際、以下の処理が行われます。

  • ・アンインストールフックURLの呼び出し

提供可能なアプリパターン

無料プラン サブスクリプションプラン makeshop apps外での独自決済
(遷移先のアプリ側にて決済)
1アプリ複数プラン
0円プランの設置
※0円のみ

※0円のみ
トライアルの設置
初期費用の設置

※提供アプリの種類によって実装するWebhookに差異がございます。
詳細は「最低技術要件」をご確認ください。

無料プラン

  • ・0円プラン(1つのプラン)のみ設置可能
  • ・後からサブスクリプションプランへの変更不可
    ※サブスクリプションプランを作成する場合、別途新規でアプリ開発申請が必要となります

サブスクリプションプラン

  • ・0円の設定不可
  • ・月額利用料を設定し、料金を支払うことで利用可能
  • ・決済時のクレカ登録が必須(翌月以降自動更新を行うため)

トライアルについて

  • ・トライアル期間中はプラン変更不可
  • ・トライアル期間終了日の翌日に自動決済
  • ・自動決済を回避したい場合はトライアル期間中であれば、キャンセルを行うことが可能
  • ・キャンセル後もトライアル期間が残っている場合は期間終了日までは無料で利用可能

初期費用について

  • ・初期費用の請求タイミングは、初回決済時のみ
  • ・複数プランがある場合、プラン別に初期費用を設置可能

料金の計算方法

決済タイミング 計算方法
初回インストール時 登録初月は月末までの日割りで即時決済、翌月以降は毎月1日に自動更新
自動更新時 毎月1日に自動更新
トライアルから自動更新へ移行時 ・トライアル期間終了日の翌日に、その月の日割り価格で(初期費用がある場合は合わせて)決済
・翌月以降は毎月1日に自動更新
再インストール時 キャンセル後の当月中
・当月中は料金支払い済みのため月額料金は発生しない
・翌月以降は自動更新となる

キャンセル後の翌月以降
・(新規契約時と同様) 登録初月は月末までの日割りで即時決済
・翌月以降は毎月1日に自動更新
再決済時
(2024.06.04追加)
トライアルから自動更新への移行時に決済失敗し、なおかつ再決済のタイミングが月を跨がない場合
・トライアル期間終了日の翌日からその月の日割り価格で(初期費用がある場合は合わせて)決済
・翌月以降は自動更新となる

トライアルから自動更新への移行時に決済失敗し、なおかつ再決済のタイミングが月を跨いだ場合
・トライアル期間終了日の翌日からその月の日割り価格で(初期費用がある場合は合わせて)決済
・毎月1日の自動更新分を決済

自動更新時に決済失敗した場合
・毎月1日の自動更新分を決済
プラン変更時 プラン変更後の月額料金が、現在利用中のプランよりも高い場合
・当月はプラン変更後の月額料金から当月支払い済みの金額を引き、さらに日割り(30日)した金額を当月残りの日数分掛けた金額を決済します
・翌月はプラン変更後の料金で自動更新されます

プラン変更後の月額料金が、現在利用中のプランよりも低い場合
・当月は差分額0円とし、決済、返金は行いません
・翌月はプラン変更後の料金で自動更新されます

※日割りの計算方法

  • ・プラン価格(税抜)×残日数÷30日(少数切り上げ)
  • ・消費税計算では少数切り捨て
  • ・日割り+消費税を合計金額とする
    例: 10月10日に1,000円のプランでインストールする場合
    [プラン料金] 1,000円 × 22日(10月残日数) ÷ 30日 = 734円(733.33..円の切り上げ)
    [消費税] 734円 × 10% = 73円(73.4円の切り捨て)
    [合計] 734円(プラン料金) + 73円(消費税) = 807円

アプリの状態(2024.06.04追加)

アプリの状態を確認するためには、サブスクリプション決済ステータスとサブスクリプションステータスを組み合わせてご判断ください。

状態 サブスクリプション決済ステータス サブスクリプションステータス APIの利用可否 ショップオーナーが可能な操作
通常利用中 OK IN_USE 利用可 ・プラン変更(有効なプランが複数ある場合)
・キャンセル
再決済中(直後〜14日以内) RETRYING END_OF_USE ※ 利用可 ・再決済
再決済期限超過(15日以降) NG END_OF_USE 利用不可 ・操作不可
キャンセル OK CANCELED 利用可 ・アンインストール
利用終了 OK END_OF_USE 利用不可 ・アンインストール

※自動決済失敗時点でサブスクリプション満了となります
※サブスクリプションステータスは「AppSubscriptionStatus」APIのレスポンスで判定できます。
※サブスクリプション決済ステータスは「getAppSubscriptionSettlementStatus」APIのレスポンスで判定できます。

サブスクリプションステータス

サブスクリプションステータス 状態説明
IN_USE サブスクリプションの利用中
CANCELED サブスクリプションの自動更新がキャンセルされた状態。
トライアル期間内または有効期限内は利用可能。
END_OF_USE キャンセル後、トライアル期間または有効期限が切れた状態。

キャンセル後の自動更新、返金、アンインストール

  • ・翌月以降の自動更新が停止
  • ・当月の残期間の返金は不可
  • ・キャンセル後もアプリ自体は残るため、アンインストールはショップオーナー自身で行う必要がある
    ※インストール状態のままであっても自動更新はされません

キャンセル後のプラン変更

  • ・複数プランある場合は、別プランへのプラン変更は可能
  • ・同プランで利用再開したい場合は、アンインストール後に再インストールが必要

利用終了後のアンインストール

  • ・利用終了後もアプリ自体は残るため、アンインストールはショップオーナー自身で行う必要がある
    ※インストール状態のままであっても自動更新はされません

利用終了後のプラン変更

  • ・アンインストール後に再インストールが必要

再決済(2024.06.04追加)

再決済の対象、再決済可能な期間

再決済の対象
・アプリの状態が「再決済中」状態のもの
・自由決済APIで決済失敗したもの(2024.06.28追加)

再決済が実行されるタイミング
・ショップオーナーが以下画面にて、対象アプリに表示された再決済ボタンより手続き後
ショップ管理画面)アプリ管理 > アプリ一覧 > 利用中のアプリ

再決済可能な期間
・決済失敗の当日を1日目として14日間は再決済が可能(例:12/1に失敗の場合、12/15以降は不可)
※再決済期限の超過後、再決済を希望する場合はサポート対応が必要

再決済中の制限

  • ・再決済中(決済失敗)となった場合、サブスクリプションは自動キャンセル
  • ・再決済が完了するまで対象アプリのプラン変更・アンインストール不可
    ※決済失敗していない他のアプリは制限されません
  • ・再決済完了時にサブスクリプションが自動で再登録
  • ・再決済期限切れ後に再決済する場合はサポート対応が必要
  • ・再決済期限切れ後はAPIは利用不可となる

再決済のメール・Webhook

    再決済誘導メール
    ・ショップオーナーに、自動更新の決済失敗時に再決済へ誘導するメールを通知

    再決済成功メール
    ・ショップオーナーに、決済完了メールの送信

    再決済期限のリマインドメール
    ・ショップオーナーに、再決済期限の「7日前」「1日前」「当日」にメール通知

    再決済のWebhook
    ・再決済期限が超過した際にリクエスト
    ※詳細はWebhookをご確認ください。

自由決済API(アプリ内課金)(2024.06.28追加)

  • ・自由決済APIを用いて、従量課金や初期費用、オプション費用等のアプリの様々な費用形態に合わせて決済可能
  • ・無料プラン/サブスクプランに自由決済APIを組み合わせて使用

決済予約

  • 「決済予約登録」で決済日を指定し、 「決済予約明細登録」で金額や決済名目を登録してください。
    ※登録した決済名目は、 管理画面)アプリ決済情報の「内訳」に表示されます。
  • ・決済タイミングは指定した決済日の0:10となります。
  • ・決済予約の日付指定は最大1年後まで可能です。
    例)2024/6/1にリクエストする場合、2025/6/1まで指定可能。

決済失敗時

  • 再決済の対象となります。
    ※ショップ契約満了日/アンインストール日を超えた際の決済失敗は再決済の対象にはなりません。

決済対象の申し込み/キャンセル

  • ・自由決済APIの決済対象とするプラン、オプション費用等の申込/キャンセルの受付や動線はアプリ側でご用意ください。
  • ・キャンセル受付後、対象が未決済であれば決済予約削除をしてください。
  • ・決済後の返金/予約削除は不可となります。

決済対象の日付/金額等の変更

ショップ契約終了後/アンインストール後の決済予約

  • ・ショップ契約満了日/アンインストール日から翌月末以内であれば決済予約は実行されます。
    ※上記ケースで決済失敗となった場合、ショップ様の状況によっては料金が未収となることがあります。
    利用規約に支払い等に関する事項を含めていただくようお願いいたします。

アプリ/プランの制約

  • ・無料プラン/サブスクリプションプランの混在は不可
  • ・一度設定したプラン形態の変更は不可
  • ・一度設定したプランの価格変更は不可

SSO(シングルサインオン)

SSOについて

makeshopをIdPとして、makeshop管理画面のユーザ認証(ログイン)を行うことでアプリ(サービス)のユーザー認証も行うための仕組みです。

事前準備

redirect_uriの登録申請

「アプリ開発申請」及び「アプリ公開申請」にてredirect_uriの登録申請をお願いします。

SSO実行時に必要な情報

クライアントID redirect_uri 登録時に発行されたクライアントID
クライアント シークレット redirect_uri 登録時に発行されたクライアントシークレット
SSO ログインURL アプリケーションがSSOログインをする URL
https://console.makeshop.jp/apps/sso
一時トークン発行 URL 認可コードから一時トークン、IDトークン及びリフレッシュトークンを発行する URL
  https://app-auth.makeshop.jp/oauth2/token

※一時トークンの有効期限は5分となります

APIエンドポイント API実行時のエンドポイント
「アプリ開発申請」及び「アプリ公開申請」の手続き完了メールで通知しています
API キー アプリケーション登録時に発行されたAPIキー
トークンリフレッシュ URL 新しい一時トークン、IDトークン及びリフレッシュトークンを発行する URL
https://app-auth.makeshop.jp/oauth2/token

※リフレッシュトークンの有効期限は12時間となります

シーケンス図

シーケンス図

1. 一時トークンの有無を判定

アプリケーション起動で一時トークンが発行されているか判定し、発行されていればその一時トークンを利用できます。
一時トークンが発行されていない場合、SSOログインへリダイレクトをします。
一時トークンの有効期限を超えている場合、トークンリフレッシュを実行してください。

※APIリクエスト方法は、以下でご確認ください。
https://developers.makeshop.jp/api/graphql/index.html#introduction-item-1

2. SSOログインへリダイレクト

パラメータを付与してSSOログインへリダイレクトします。

リダイレクト先URL

https://console.makeshop.jp/apps/sso

クエリ

パラメータ 必須 説明
response_type 必須
code
固定
client_id 必須 redirect_uri 登録時に発行されたクライアントID
redirect_uri 必須 登録申請したredirect_uri
state 必須 クロスサイトリクエストフォージェリ防止用の固有な英数字の文字列(8文字以上)。
ログインセッションごとにWebアプリでランダムに生成してください。
なお、URLエンコードされた文字列は使用できません。
code_challenge 任意 PKCE対応するために必要なパラメータ。
一意のcode_verifierをSHA256でハッシュ化したうえで、Base64URL形式にエンコードした値。
デフォルト値はnullです。
(値を指定しない場合、リクエストはPKCE対応されません)
code_challenge_method 任意
S256
固定

※code_challengeを設定する場合は必須となります。

nonce 任意 リプレイアタックを防止するための文字列。
この値はレスポンスで返されるIDトークンに含まれます。

3. 認可コードの受け取り

redirect_uriに認可コード等のクエリパラメータが付与された状態でリクエストされます。

クエリ

パラメータ 説明
code 一時トークン発行で使用する認可コードです。
scope アプリケーションに設定されているAPIの利用権限を返します。
state SSOログインURLのstateパラメータを返却します。

エラー

エラーが発生した場合、error及びerror_descriptionをパラメータに付与しredirect_uriへリダイレクトします。

4. 一時トークン発行

認可コードを利用し、一時トークンを取得します。
以降、APIへアクセスする際に一時トークンを利用します。
一時トークンの有効期限を超えた場合、「5. トークンリフレッシュ」をご参照ください。

リクエスト

POST

https://app-auth.makeshop.jp/oauth2/token

ヘッダー

名前
Authorization
Basic クライアントID:クライアントシークレット

クライアントID:クライアントシークレットは(コロン含め)Base64エンコード
Content-Type
application/x-www-form-urlencoded
固定

ボディ

パラメータ 必須 説明
grant_type 必須
authorization_code
固定
client_id 必須 redirect_uri 登録時に発行されたクライアントID
code 必須 リダイレクトのパラメータ 認可コード
redirect_uri 必須 登録申請したredirect_uri
code_verifier 任意 SSOログインURL code_challenge の基となる code_verifier

レスポンス

リクエストが認可されるとJSONフォーマットでトークン情報を返します。

フィールド名
token_type
bearer
固定
access_token リソースへのアクセスを認可するための一時トークンです。
makeshop apps APIを実行する際に使用します。
id_token ユーザが認証されたことを証明するためのトークンです。
nonceの検証はこのトークンをJWTデコードしたJSON の nonce と SSO ログイン URLのnonce と一致するか確認します。

※JWSの検証をする場合、以下のURLよりJWK Setを取得してください。
auth-facadeのurl/.well-known/jwks.json
refresh_token トークンをリフレッシュする際に使用します。
scope アプリケーションに設定されているAPIの利用権限を返します。
expires_in 一時トークンの有効期限を返します。

エラー

HTTPステータス
400 Bad Request
401 Unauthorized
500 Internal Server Error
[レスポンス例]
{
  "error": "internal server error",
  "error_description": "The server encountered an error and could not complete your request" 
}

5. トークンリフレッシュ

一時トークンの有効期限が切れた際に、リフレッシュトークンを利用して新たな一時トークンの要求をします。

リクエスト

POST

https://app-auth.makeshop.jp/oauth2/token

ヘッダー

名前
Authorization
Basic クライアントID:クライアントシークレット

クライアントID:クライアントシークレットは(コロン含め)Base64エンコード
Content-Type
application/x-www-form-urlencoded

ボディ

パラメータ 必須 説明
grant_type 必須
refresh_token
固定
client_id 必須 redirect_uri 登録時に発行されたクライアントID
refresh_token 必須 リフレッシュトークン

レスポンス

リフレッシュトークンが有効であれば、JSONフォーマットでトークン情報を返します。

フィールド名 説明
token_type
bearer
固定
access_token リソースへのアクセスを認可するための一時トークンです。
makeshop apps APIを実行する際に使用します。
id_token ユーザが認証されたことを証明するためのトークンです。
nonceの検証はこのトークンをJWTデコードしたJSON の nonce と SSO ログイン URLのnonce と一致するか確認します。

※JWSの検証をする場合、以下のURLよりJWK Setを取得してください。
auth-facadeのurl/.well-known/jwks.json
refresh_token 一時トークンをリフレッシュする際に使用します
scope アプリケーションに設定されているAPIの利用権限を返します。
expires_in 一時トークンの有効期限を返します

エラー

HTTPステータス
400 Bad Request
401 Unauthorized
500 Internal Server Error
[レスポンス例]
{
    "error": "internal server error",
    "error_description": "The server encountered an error and could not complete your request" 
}

ユースケース

アプリを起動したショップが新規ショップか、既存ショップかを判別し、ユーザに合わせた画面を表示するユースケース

ユースケース

memberSSO(会員シングルサインオン)

memberSSOについて

makeshopをIdPとして、ショップ会員のユーザ認証(ログイン)を行うことで外部サイトのユーザー認証も行うための仕組みです。

  • ①外部サイトのログインボタンをクリック
  • ②makeshopのログイン画面でログイン(ログイン済みの場合はスキップ)
  • ③外部サイトに戻る(Makeshopも外部サイトもログイン状態)

事前準備

外部サイト名、リダイレクトURLなどの登録申請

「アプリ開発申請」及び「アプリ公開申請」にて登録申請をお願いします。

情報 必須 説明
外部サイト名 必須 ロゴURLが未入力の場合、ログイン画面のタイトルを表示
※半角・全角100字まで
外部サイトURL 必須 ログイン画面のタイトル、もしくは「ホームへ」をクリックした際の遷移先URL
※半角255字まで
外部サイトのロゴURL 任意 ログイン画面のタイトル項目に表示
※https必須
※半角255字まで
パスワード紛失時リンクURL 任意 ログイン画面の「パスワードをお忘れの方はこちら」クリックした際の遷移先URL
未登録の場合は、リンクは表示されません
※半角255字まで
新規会員登録ボタンURL 任意 ログイン画面の「新規会員登録」ボタンをクリックした際の遷移先URL
未登録の場合は、リンクは表示されません
※半角255字まで
ログイン後のリダイレクト先URL 必須 ログイン後(認可コード発行後)の遷移先URL
※半角255字まで
※最大15件登録可能
※URLにフラグメントコンポーネント(#)は含められません
ログアウト後のリダイレクト先URL 任意 ログアウト後の遷移先URL
ログアウト連携APIを使用する場合には必須です
※半角255字まで
※最大15件登録可能
※URLにフラグメントコンポーネント(#)は含められません

シーケンス図

makeshopに未ログインのケース

makeshopに未ログインのケース

makeshopにログイン済みのケース

makeshopにログイン済みのケース

1. ユーザー認証API

ユーザーがログインID、クライアントが認可コードを取得するAPIです。

リクエスト

GET

https://member-auth.makeshop.jp/sso/login

クエリ

パラメータ 必須 説明
response_type 必須 code 固定
client_id 必須 インストールwebhookで通知されるクライアントID
redirect_uri 必須 ログイン後のリダイレクト先URL
※アプリ開発/公開申請にて、予め登録した「ログイン後のリダイレクト先URL」に含まれている必要があります。
state 必須 クロスサイトリクエストフォージェリ防止用の固有な英数字の文字列(8文字以上)。
ログインセッションごとにWebアプリでランダムに生成してください。
なお、URLエンコードされた文字列は使用できません。
nonce 必須 リプレイアタックを防止するための文字列。
この値はレスポンスで返されるIDトークンに含まれます。

レスポンス

redirect_uriへリダイレクトするレスポンス(HTTP ステータス 302)が返却されます。
redirect_uriには以下のクエリパラーメータが付与されます。

パラメータ 説明
code アクセストークン発行で使用する認可コードです。
scope アプリケーションに設定されているスコープを返します。
state リクエスト時に指定されたstateパラメータを返却します。

エラー

エラーが発生した場合、error及びerror_descriptionをパラメータに付与しエラー画面のURLへリダイレクトします。

2. トークン取得API

アクセストークンおよびIDトークンを取得するためのAPIです。

リクエスト

POST

https://member-auth.makeshop.jp/oauth2/token

ヘッダー

名前
Authorization Basic クライアントID:クライアントシークレット
※クライアントID:クライアントシークレットは(コロン含め)Base64エンコード
Content-Type application/x-www-form-urlencoded固定

ボディ

パラメータ 必須 説明
grant_type 必須 authorization_code固定
client_id 必須 インストールwebhookで通知されるクライアントID
code 必須 ユーザ認証APIで発行された認可コード
redirect_uri 必須 ログイン後のリダイレクト先URL
※アプリ開発/公開申請にて、予め登録した「ログイン後のリダイレクト先URL」に含まれている必要があります。"

レスポンス

リクエストが認可されるとJSONフォーマットでトークン情報を返します。

フィールド名 説明
token_type bearer固定
access_token リソースへのアクセスを認可するための一時トークンです。
会員ID取得APIを実行する際に使用します。
※一時トークンの有効期限は5分となります
id_token ユーザが認証されたことを証明するためのトークンです。
nonceの検証はこのトークンをJWTデコードしたJSON の nonce と SSO ログイン URLのnonce と一致するか確認します。

※JWSの検証をする場合、以下のURLよりJWK Setを取得してください。
https://member-auth.makeshop.jp/.well-known/jwks.json
scope アプリケーションに設定されているAPIの利用権限を返します。
expires_in 一時トークンの有効期限を返します。

エラー

HTTPステータス
400 Bad Request
401 Unauthorized
500 Internal Server Error
  [レスポンス例]
  {
    "error": "invalid_grant",
    "error_description": "The provided authorization grant (e.g., authorization code, resource owner credentials) or refresh token is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client."
  }
  

3. 会員ID取得API

ユーザの会員IDを取得するためのAPIです。

リクエスト

GET

https://member-auth.makeshop.jp/userinfo

ヘッダー

名前
Authorization Bearer 一時トークン
※トークン取得APIで取得したアクセストークン

レスポンス

リクエストが認可されるとJSONフォーマットでトークン情報を返します。

フィールド名 説明
auth_time ユーザ認証時間
iat トークン発行時間
iss トークン発行者
sub ユーザーID

エラー

HTTPステータス
400 Bad Request
401 Unauthorized
500 Internal Server Error
[レスポンス例]
{
  "error": "request_unauthorized",
  "error_description": "The request could not be authorized. Check that you provided valid credentials in the right format."
}

ログアウト連携API

外部サイトとmakeshop間でログアウト連携するためのAPIです。

外部サイトログアウトのケース

外部サイトログアウトのケース

makeshopログアウトのケース

makeshopログアウトのケース

リクエスト

GET

  https://member-auth.makeshop.jp/sso/logout

クエリ

パラメータ 必須 説明
id_token_hint 必須 トークン取得APIで発行したIDトークン
post_logout_redirect_uri 必須 ログアウト後のリダイレクト先URL
※アプリ開発/公開申請にて、予め登録した「ログアウト後のリダイレクト先URL」に含まれている必要があります。
state 必須 クロスサイトリクエストフォージェリ防止用の固有な英数字の文字列(8文字以上)。
ログインセッションごとにWebアプリでランダムに生成してください。
なお、URLエンコードされた文字列は使用できません。

レスポンス

post_logout_redirect_uriへリダイレクトするレスポンス(HTTP ステータス 302)が返却されます。
post_logout_redirect_uriには以下のクエリパラーメータが付与されます。

パラメータ 説明
state リクエスト時に指定されたstateパラメータを返却します。

エラー

エラーが発生した場合、error及びerror_descriptionをパラメータに付与しエラー画面のURLへリダイレクトします。