Class: ActiveMerchant::Billing::GmoPgGateway
- Inherits:
-
Gateway
- Object
- Gateway
- ActiveMerchant::Billing::GmoPgGateway
- Defined in:
- lib/active_merchant/billing/gateways/gmo_pg.rb,
lib/active_merchant/billing/gateways/gmo_pg_error_messages.rb
Constant Summary collapse
- STANDARD_ERROR_CODE_MAPPING =
{ 'E01' => STANDARD_ERROR_CODE[:invalid_number], 'E11' => STANDARD_ERROR_CODE[:card_declined], 'E61' => STANDARD_ERROR_CODE[:invalid_cvc], 'E91' => STANDARD_ERROR_CODE[:processing_error] }.freeze
- MEMBER_NOT_FOUND_ERROR =
GMO-PGエラーコード
'E01390002'- GMO_PG_OFFICIAL_ERROR_MESSAGES =
GMO-PGオフィシャルエラーコードとお客様向けメッセージの対応表 簡略コード(E01, G02等)と詳細コード(E01010001, 42G020000等)の両方を含む
{ '42C010000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C030000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C120000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C130000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C140000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C150000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C330000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C500000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C510000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C530000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C540000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C550000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C560000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C570000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C580000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C600000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C700000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C710000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C720000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C730000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C740000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C750000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C760000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C770000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42C780000' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', '42G020000' => 'カード残高が不足しているために、決済を完了する事ができませんでした。', '42G030000' => 'カード限度額を超えているために、決済を完了する事ができませんでした。', '42G040000' => 'カード残高が不足しているために、決済を完了する事ができませんでした。', '42G050000' => 'カード限度額を超えているために、決済を完了する事ができませんでした。', '42G060000' => 'デビットカードで口座の残高が不足しています。', '42G070000' => 'カード限度額を超えているために、決済を完了する事ができませんでした。', '42G120000' => 'このカードでは取引をする事ができません。', '42G220000' => 'このカードでは取引をする事ができません。', '42G300000' => 'このカードでは取引をする事ができません。', '42G420000' => '暗証番号が誤っていた為に、決済を完了する事ができませんでした。', '42G430000' => '暗証番号が誤っていた為に、決済を完了する事ができませんでした。', '42G440000' => 'セキュリティーコードが誤っていた為に、決済を完了する事ができませんでした。', '42G450000' => 'セキュリティーコードが入力されていない為に、決済を完了する事ができませんでした。', '42G540000' => 'このカードでは取引をする事ができません。', '42G550000' => 'カード限度額を超えているために、決済を完了する事ができませんでした。', '42G560000' => 'このカードでは取引をする事ができません。', '42G600000' => 'このカードでは取引をする事ができません。', '42G610000' => 'このカードでは取引をする事ができません。', '42G650000' => 'カード番号もしくは有効期限に誤りがあります。カード情報をもう一度ご確認ください。', '42G670000' => '商品コードに誤りがあるために、決済を完了する事ができませんでした。', '42G680000' => '金額に誤りがあるために、決済を完了する事ができませんでした。', '42G690000' => '税送料に誤りがあるために、決済を完了する事ができませんでした。', '42G700000' => 'ボーナス回数に誤りがあるために、決済を完了する事ができませんでした。', '42G710000' => 'ボーナス月に誤りがあるために、決済を完了する事ができませんでした。', '42G720000' => 'ボーナス額に誤りがあるために、決済を完了する事ができませんでした。', '42G730000' => '支払開始月に誤りがあるために、決済を完了する事ができませんでした。', '42G740000' => '分割回数に誤りがあるために、決済を完了する事ができませんでした。', '42G750000' => '分割金額に誤りがあるために、決済を完了する事ができませんでした。', '42G760000' => '初回金額に誤りがあるために、決済を完了する事ができませんでした。', '42G770000' => '業務区分に誤りがあるために、決済を完了する事ができませんでした。', '42G780000' => '支払区分に誤りがあるために、決済を完了する事ができませんでした。', '42G790000' => '照会区分に誤りがあるために、決済を完了する事ができませんでした。', '42G800000' => '取消区分に誤りがあるために、決済を完了する事ができませんでした。', '42G810000' => '取消取扱区分に誤りがあるために、決済を完了する事ができませんでした。', '42G830000' => '有効期限に誤りがあるために、決済を完了する事ができませんでした。', '42G840000' => 'このカードでは取引をする事ができません。', '42G850000' => '利用口座が使用できなかったために、決済を完了する事ができませんでした。', '42G910000' => 'システム障害のために、決済を完了する事ができませんでした。', '42G920000' => 'このカードでは取引をする事ができません。', '42G950000' => 'このカードでは取引をする事ができません。', '42G960000' => 'このカードでは取引をする事ができません。', '42G970000' => 'このカードでは取引をする事ができません。', '42G980000' => 'このカードでは取引をする事ができません。', '42G990000' => 'このカードでは取引をする事ができません。', 'C01' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C03' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C12' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C13' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C14' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C15' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C33' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C50' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C51' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C53' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C54' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C55' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C56' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C57' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C58' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C60' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C70' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C71' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C72' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C73' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C74' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C75' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C76' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C77' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'C78' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'E01' => 'ショップIDが指定されていません。', 'E01010001' => 'ショップIDが指定されていません。', 'E01010008' => 'ショップIDに半角英数字以外の文字が含まれているか、13文字を超えています。', 'E01010010' => 'ショップIDが一致しません。', 'E01020001' => 'ショップパスワードが指定されていません。', 'E01020008' => 'ショップパスワードに半角英数字以外の文字が含まれているか、10文字を超えています。', 'E01030002' => '指定されたIDとパスワードのショップが存在しません。', 'E01030061' => '強制返品はご利用できません。', 'E01040001' => 'オーダーIDが指定されていません。', 'E01040003' => 'オーダーIDが最大文字数を超えています。', 'E01040010' => 'すでにオーダーIDが存在しています。', 'E01040013' => 'オーダーIDに半角英数字と"-"以外の文字が含まれています。', 'E01050001' => '処理区分が指定されていません。', 'E01050002' => '指定された処理区分は定義されていません。', 'E01050004' => '指定した処理区分の処理は実行できません。', 'E01060001' => '利用金額が指定されていません。', 'E01060005' => '利用金額が最大桁数を超えています。', 'E01060006' => '利用金額に数字以外の文字が含まれています。', 'E01060010' => '取引の利用金額と指定した利用金額が一致していません。', 'E01060011' => '利用金額が有効な範囲を超えています。', 'E01060021' => '取引の利用金額と指定した利用金額が一致していません。', 'E01070005' => '税送料が最大桁数を超えています。', 'E01070006' => '税送料に数字以外の文字が含まれています。', 'E01080007' => '3Dセキュア使用フラグに0,1,2以外の値が指定されています。', 'E01080010' => '3Dセキュア使用フラグ(TdFlag)の指定が、3Dセキュアの契約と一致していません。 ※3DS1.0契約なしで3DS1.0利用 3DS1.0契約で3DS2.0利用など。', 'E01080101' => '3DS必須店舗または、3DS必須タイプにて3DS必須の指定にも関わらず3Dセキュア使用フラグがOFFになっています。', 'E01090001' => '取引IDが指定されていません。', 'E01090008' => '取引IDの書式が正しくありません。', 'E01100001' => '取引パスワードが指定されていません。', 'E01100008' => '取引パスワードの書式が正しくありません。', 'E01110002' => '指定されたIDとパスワードの取引が存在しません。', 'E01110010' => '指定された取引は決済が完了していません。', 'E01130012' => 'カード会社略称が最大バイト数を超えています。', 'E01160001' => 'ボーナス分割回数が指定されていません。', 'E01160007' => 'ボーナス分割回数に数字以外の文字が含まれています。', 'E01160010' => 'ボーナス分割回数に"2"以外を指定しています。', 'E01170001' => 'カード番号が指定されていません。', 'E01170003' => 'カード番号が最大文字数を超えています。', 'E01170006' => 'カード番号に数字以外の文字が含まれています。', 'E01170011' => 'カード番号が10桁~16桁の範囲ではありません。', 'E01180001' => '有効期限が指定されていません。', 'E01180003' => '有効期限が4桁ではありません。', 'E01180006' => '有効期限に数字以外の文字が含まれています。', 'E01180008' => '有効期限の書式が正しくありません。', 'E01180011' => '有効期限の書式が正しくありません。', 'E01190001' => 'サイトIDが指定されていません。', 'E01190008' => 'サイトIDの書式が正しくありません。', 'E01200001' => 'サイトパスワードが指定されていません。', 'E01200007' => 'サイトIDが正しくありません。', 'E01200008' => 'サイトパスワードの書式が正しくありません。', 'E01210002' => '指定されたIDとパスワードのサイトが存在しません。', 'E01220001' => '会員IDが指定されていません。', 'E01220005' => '会員IDが最大桁数を超えています。', 'E01220008' => '会員IDの書式が正しくありません。', 'E01220010' => '会員IDとカード番号が一致しています。', 'E01220012' => '会員IDの長さが正しくありません。', 'E01230001' => 'カード登録連番が指定されていません。', 'E01230006' => 'カード登録連番に数字以外の文字が含まれています。', 'E01230009' => 'カード登録連番が最大登録可能数を超えています。', 'E01240002' => '指定されたカードが存在しません。', 'E01240012' => '指定された会員IDがファイル内で重複しています(※洗替時)', 'E01250008' => 'カードパスワードの書式が正しくありません。', 'E01250010' => 'カードパスワードが一致しません。', 'E01260001' => '支払方法が指定されていません。', 'E01260002' => '指定された支払方法が存在しません。', 'E01260010' => '指定されたカード番号または支払方法が正しくありません。', 'E01270001' => '支払回数が指定されていません。', 'E01270005' => '支払回数が最大桁数を超えています。', 'E01270006' => '支払回数の数字以外の文字が含まれています。', 'E01270010' => '指定された支払回数はご利用できません。', 'E01290001' => 'HTTP_ACCEPTが指定されていません。', 'E01300001' => 'HTTP_USER_AGENTが指定されていません。', 'E01310001' => '使用端末に"0","1"以外の値が指定されています。', 'E01320012' => '加盟店自由項目1の値が最大バイト数を超えています。', 'E01320013' => '加盟店自由項目1の値に利用できない文字が含まれています。', 'E01330012' => '加盟店自由項目2の値が最大バイト数を超えています。', 'E01330013' => '加盟店自由項目2の値に利用できない文字が含まれています。', 'E01340012' => '加盟店自由項目3の値が最大バイト数を超えています。', 'E01340013' => '加盟店自由項目3の値に利用できない文字が含まれています。', 'E01350001' => 'MDが指定されていません。', 'E01350008' => 'MDの書式が正しくありません。', 'E01370008' => '3Dセキュア表示店舗名の書式が正しくありません。', 'E01370012' => '3Dセキュア表示店舗名の値が最大バイト数を超えています。', 'E01390002' => '指定されたサイトIDと会員IDの会員が存在しません。', 'E01390010' => '指定されたサイトIDと会員IDの会員がすでに存在しています。', 'E01400007' => '加盟店自由項目返却フラグに"0","1"以外の値が指定されています。', 'E01410010' => '該当取引は操作禁止状態です。', 'E01420010' => '仮売上有効期間を超えています。', 'E01430010' => '会員名とカード番号が一致しています。', 'E01430012' => '会員名の値が最大バイト数を超えています。', 'E01440008' => '洗替・継続課金フラグの書式が正しくありません。', 'E01450008' => '商品コードの書式が正しくありません。', 'E01460008' => 'セキュリティコードの書式が正しくありません。', 'E01470008' => 'カード登録連番モードの書式が正しくありません。', 'E01480008' => '名義人の書式が正しくありません。', 'E01480011' => '名義人の最大文字数を超えています。', 'E01490005' => '利用金額・税送料の合計値が有効な範囲を超えています。', 'E01500001' => 'ショップ情報文字列が設定されていません。', 'E01500005' => 'ショップ情報文字列の文字数が間違っています。', 'E01500012' => 'ショップ情報文字列が他の項目と矛盾しています。', 'E01510001' => '購買情報文字列が設定されていません。', 'E01510005' => '購買情報文字列の文字数が間違っています。', 'E01510010' => '利用日の書式が正しくありません。', 'E01510011' => '利用日の値が指定可能範囲外です。', 'E01510012' => '購買情報文字列が他の項目と矛盾しています。', 'E01520002' => 'お客様利用端末情報に無効な値が設定されています。', 'E01530001' => '決済結果戻り先URLが設定されていません。', 'E01530005' => '決済結果戻り先URLが最大文字数を超えています。', 'E01540005' => '決済キャンセル時URLが最大文字数を超えています。', 'E01550001' => '日時情報文字列が設定されていません。', 'E01550005' => '日時情報文字列の文字数が間違っています。', 'E01550006' => '日時情報文字列に無効な文字が含まれます。', 'E01590005' => '商品コードが最大桁数を超えています。', 'E01590006' => '商品コードに無効な文字が含まれます。', 'E01600001' => '会員情報チェック文字列が設定されていません。', 'E01600005' => '会員情報チェック文字列が最大文字数を超えています。', 'E01600012' => '会員情報チェック文字列が他の項目と矛盾しています。', 'E01610005' => 'リトライ回数が0~99の範囲外です。', 'E01610006' => 'リトライ回数に数字以外が設定されています。', 'E01620005' => 'セッションタイムアウト値が0~9999の範囲外です。', 'E01620006' => 'セッションタイムアウト値に数字以外が設定されています。', 'E01630010' => '取引後カード登録時、取引の会員IDとパラメータの会員IDが一致しません。', 'E01640010' => '取引後カード登録時、取引のサイトIDとパラメータのサイトIDが一致しません。', 'E01650012' => '指定されたショップは、指定されたサイトに属していません。', 'E01660013' => '言語パラメータにサポートされない値が設定されています。', 'E01670013' => '出力エンコーディングにサポートされない値が設定されています。', 'E01700001' => '項目数が誤っています。', 'E01710001' => '取引区分(継続課金)が設定されていません。', 'E01710002' => '指定された取引区分が存在しません。', 'E01730001' => 'ボーナス金額が指定されていません。', 'E01730005' => 'ボーナス金額が最大桁数を超えています。', 'E01730006' => '商品コードが"0000990"ではありません。', 'E01730007' => 'ボーナス金額に数字以外の文字が含まれています。', 'E01740001' => '端末処理通番が指定されていません。', 'E01740005' => '端末処理通番が最大桁数を超えています。', 'E01740007' => '端末処理通番に数字以外の文字が含まれています。', 'E01750001' => '利用日が指定されていません。', 'E01750008' => '利用日の書式が正しくありません。', 'E01770002' => '区分が不正です。', 'E01780002' => '有効性チェック有無が不正です。', 'E01790007' => 'チェック実施日が不正です。', 'E01790011' => 'チェック実施日が最大桁数を超えています。', 'E01800001' => '暗証番号が未入力です。', 'E01800008' => '暗証番号の書式が正しくありません。', 'E01800010' => '暗証番号は利用できません。', 'E01800050' => '暗証番号が不正です。(0000は使用できません)', 'E01810001' => '磁気ストライプ区分が不正です。', 'E01810008' => '磁気ストライプ区分が不正です。', 'E01820001' => '磁気ストライプ情報が不正です。', 'E01820003' => '磁気ストライプ情報が不正です。', 'E01820008' => '磁気ストライプ情報が不正です。', 'E01840010' => '必要な入力パラメータが指定されていません。', 'E01850008' => '更新区分の書式が正しくありません。', 'E01860008' => 'カード番号マスクフラグの書式が正しくありません。', 'E01870008' => 'トークンタイプの書式が正しくありません。', 'E01880001' => '登録済み会員IDが指定されていません。', 'E01880002' => '指定されたサイトIDと登録済み会員IDの会員が存在しません。', 'E01880008' => '登録済み会員IDの書式が正しくありません。', 'E01890001' => '登録済みカード登録連番が指定されていません。', 'E01890002' => '指定された登録済みカードが存在しません。', 'E01890006' => '登録済みカード登録連番に数字以外の文字が含まれています。', 'E01890009' => 'カード登録連番が最大登録可能数を超えています。', 'E01910008' => 'サイト設定のマスクレベル利用有無に"0","1"以外の値が指定されています。', 'E01920008' => '検索タイプの書式が正しくありません。', 'E01950008' => '3DS2.0未対応時取り扱いの書式が正しくありません。', 'E01960008' => '会員最終更新日の書式が正しくありません。', 'E01970008' => '会員作成日の書式が正しくありません。', 'E01980008' => '会員パスワード変更日の書式が正しくありません。', 'E01990005' => '過去6ヶ月間の購入回数が最大桁数を超えています。', 'E01990006' => '過去6ヶ月間の購入回数に数字以外の文字が含まれています。', 'E01999998' => '項目1「フォーマットバージョン」に"001"が指定されていません。', 'E01A00008' => 'カード登録日の書式が正しくありません。', 'E01A10005' => '過去24時間のカード追加の試行回数が最大桁数を超えています。', 'E01A10006' => '過去24時間のカード追加の試行回数に数字以外の文字が含まれています。', 'E01A20008' => '配送先住所の初回使用日の書式が正しくありません。', 'E01A30008' => 'カード会員名と配送先名の一致/不一致の書式が正しくありません。', 'E01A40008' => 'カード会員の不審行為情報の書式が正しくありません。', 'E01A50005' => '過去24時間の取引回数が最大桁数を超えています。', 'E01A50006' => '過去24時間の取引回数に数字以外の文字が含まれています。', 'E01A60005' => '前年の取引回数が最大桁数を超えています。', 'E01A60006' => '前年の取引回数に数字以外の文字が含まれています。', 'E01A70012' => 'ログイン証跡が最大バイト数を超えています。', 'E01A80008' => 'ログイン方法の書式が正しくありません。', 'E01A90008' => 'ログイン日時の書式が正しくありません。', 'E01B00008' => '請求先住所と配送先住所の一致/不一致の書式が正しくありません。', 'E01B10005' => '請求先住所の都市が最大桁数を超えています。', 'E01B20002' => '請求先住所の国番号が存在しません。', 'E01B20005' => '請求先住所の国番号が3桁ではありません。', 'E01B30005' => '請求先住所の区域部分の1行目が最大桁数を超えています。', 'E01B40005' => '請求先住所の区域部分の2行目が最大桁数を超えています。', 'E01B50005' => '請求先住所の区域部分の3行目が最大桁数を超えています。', 'E01B60005' => '請求先住所の郵便番号が最大桁数を超えています。', 'E01B70005' => '請求先住所の州または都道府県番号が最大桁数を超えています。', 'E01B70008' => '請求先住所の州または都道府県番号の書式が正しくありません。', 'E01B70010' => '請求先住所の州または都道府県番号を指定する場合は請求先住所の国番号を省略できません。', 'E01B80005' => 'カード会員のメールアドレスが最大桁数を超えています。', 'E01B80008' => 'カード会員のメールアドレスの書式が正しくありません。', 'E01B90005' => '自宅電話の国コードが最大桁数を超えています。', 'E01C00005' => '自宅電話番号が最大桁数を超えています。', 'E01C00006' => '自宅電話番号に数字以外の文字が含まれています。', 'E01C10005' => '携帯電話の国コードが最大桁数を超えています。', 'E01C20005' => '携帯電話番号が最大桁数を超えています。', 'E01C20006' => '携帯電話番号に数字以外の文字が含まれています。', 'E01C30005' => '職場電話の国コードが最大桁数を超えています。', 'E01C40005' => '職場電話番号が最大桁数を超えています。', 'E01C40006' => '職場電話番号に数字以外の文字が含まれています。', 'E01C50005' => '配送先住所の都市が最大桁数を超えています。', 'E01C60002' => '配送先住所の国番号が存在しません。', 'E01C60005' => '配送先住所の国番号が3桁ではありません。', 'E01C70005' => '配送先住所の区域部分の1行目が最大桁数を超えています。', 'E01C80005' => '配送先住所の区域部分の2行目が最大桁数を超えています。', 'E01C90005' => '配送先住所の区域部分の3行目が最大桁数を超えています。', 'E01D00005' => '配送先住所の郵便番号が最大桁数を超えています。', 'E01D10005' => '配送先住所の州または都道府県番号の書式が正しくありません。', 'E01D10008' => '配送先住所の州または都道府県番号が最大桁数を超えています。', 'E01D10010' => '配送先住所の州または都道府県番号を指定する場合は配送先住所の国番号を省略できません。', 'E01D20005' => '納品先電子メールアドレスが最大桁数を超えています。', 'E01D20008' => '納品先電子メールアドレスの書式が正しくありません。', 'E01D30008' => '商品納品時間枠の書式が正しくありません。', 'E01D40005' => 'プリペイドカードまたはギフトカードの総購入金額が最大桁数を超えています。', 'E01D40006' => 'プリペイドカードまたはギフトカードの総購入金額に数字以外の文字が含まれています。', 'E01D50005' => '購入されたプリペイドカードまたはギフトカード の総数が最大桁数を超えています。', 'E01D50006' => '購入されたプリペイドカードまたはギフトカード の総数に数字以外の文字が含まれています。', 'E01D60005' => '購入されたプリペイドカードまたはギフトカードの通貨コードが3桁ではありません。', 'E01D70008' => '商品の発売予定日の書式が正しくありません。', 'E01D80008' => '商品の販売時期情報の書式が正しくありません。', 'E01D90008' => '商品の注文情報の書式が正しくありません。', 'E01E00008' => '取引の出荷方法の書式が正しくありません。', 'E01E10008' => '継続課金の期限の書式が正しくありません。', 'E01E20005' => '継続課金の課金最小間隔日数が最大桁数を超えています。', 'E01E20006' => '継続課金の課金最小間隔日数に数字以外の文字が含まれています。', 'E01E30001' => '加盟店戻りURLが指定されていません。', 'E01E30005' => '加盟店戻りURLが最大桁数を超えています。', 'E01E30008' => '加盟店戻りURLの書式が正しくありません。', 'E01E50001' => '認証状態が指定されていません。', 'E01E50004' => '認証状態が不正のため実行できません。', 'E01E50008' => '認証状態の書式が正しくありません。', 'E01E70001' => '自宅電話番号の指定が正しくありません。自宅電話の国コード/自宅電話番号のいずれかの省略はできません。', 'E01E80001' => '携帯電話番号の指定が正しくありません。携帯電話の国コード/携帯電話番号のいずれかの省略はできません。', 'E01E90001' => '職場電話番号の指定が正しくありません。職場電話の国コード/職場電話番号のいずれかの省略はできません。', 'E01EA0007' => 'コールバック方法に1,2以外の値が指定されています。', 'E01EA0010' => 'コールバック方法に1,2以外の値が指定されています。', 'E01EB0001' => '3DS2.0認証パラメータが指定されていません。', 'E01EB0005' => '3DS2.0認証パラメータが最大桁数を超えています。', 'E01EB0010' => '3DS2.0認証パラメータが不正です。', 'E01EC0002' => '指定された3DS SDK インタフェースは定義されていません。', 'E01EE0001' => 'アプリIDが指定されていません。', 'E01EE0008' => 'アプリIDの書式が正しくありません。', 'E01EF0001' => '3DS2.0暗号化データが指定されていません。', 'E01EF0005' => '3DS2.0暗号化データが最大桁数を超えています。', 'E01EG0001' => '3DS2.0 JWSが指定されていません。', 'E01EG0008' => '3DS2.0 JWSの書式が正しくありません。', 'E01EV0001' => '最大タイムアウトが指定されていません。', 'E01EV0006' => '最大タイムアウトに数字以外の文字が含まれています。', 'E01EV0008' => '最大タイムアウトの書式が正しくありません。', 'E01EW0001' => 'リファレンス番号が指定されていません。', 'E01EW0005' => 'リファレンス番号が最大桁数を超えています。', 'E01EX0001' => 'SDK取引IDが指定されていません。', 'E01EX0008' => 'SDK取引IDの書式が正しくありません。', 'E01EY0007' => 'モバイルアプリモードの指定が正しくありません。', 'E01EZ0008' => '3DS必須タイプの書式が正しくありません。', 'E11' => 'この取引はすでに決済が終了しています。', 'E11010001' => 'この取引はすでに決済が終了しています。', 'E11010002' => 'この取引は決済が終了していませんので、変更する事ができません。', 'E11010003' => 'この取引は指定処理区分処理を行う事ができません。', 'E11010004' => '指定された取引のコールバック方法またはモバイルアプリモードが不正です。', 'E11010010' => '180日超えの取引のため、処理を行う事ができません。', 'E11010099' => 'このカードはご利用になれません。', 'E11010100' => 'このカードはご利用になれません。', 'E11010999' => '特になし', 'E11310001' => 'この取引はリンク決済を実行できません。', 'E11310002' => 'この取引はリンク決済を実行できません。', 'E11310003' => 'この取引はリンク決済を実行できません。', 'E11310004' => 'この取引はリンク決済を実行できません。', 'E11310005' => 'すでにカードを登録している会員は、取引後カード登録を実行できません。', 'E21' => 'このカードでは取引をする事ができません。3Dセキュア認証に対応したカードをお使いください。', 'E21010201' => 'このカードでは取引をする事ができません。3Dセキュア認証に対応したカードをお使いください。', 'E21010202' => 'このカードでは取引をする事ができません。3Dセキュア認証に対応したカードをお使いください。', 'E21030001' => '3Dセキュア認証に失敗しました。もう一度、購入画面からやり直してください。', 'E21030007' => '3Dセキュア認証に失敗しました。もう一度、購入画面からやり直してください。', 'E21030201' => 'このカードでは取引をする事ができません。3Dセキュア認証に対応したカードをお使いください。', 'E21030202' => '3Dセキュア認証に失敗しました。認証失敗の理由については、カード会社へご確認ください。', 'E21040001' => '3DS1.0はサポートを終了しましたが、サポート終了後の取り扱いが設定されていないため、取引を中止しました。', 'E21040002' => '3DS1.0はサポートを終了したためご利用になれません。', 'E41' => 'カード番号に誤りがあります。再度確認して入力してください。', 'E41170099' => 'カード番号に誤りがあります。再度確認して入力してください。', 'E61' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'E61010001' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'E61010002' => 'ご利用できないカードをご利用になったもしくはカード番号が誤っております。', 'E61010003' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'E61020001' => '指定の決済方法は利用停止になっています。', 'E61030001' => 'ご契約内容エラー/現在のご契約では、ご利用になれません。', 'E61040001' => '現在のご契約では、カード番号を指定した決済処理は許可されていません。', 'E82' => '実行中にエラーが発生しました。処理は開始されませんでした。', 'E82010001' => '実行中にエラーが発生しました。処理は開始されませんでした。', 'E90' => '現在処理を行っているのでもうしばらくお待ちください。', 'E90010001' => '現在処理を行っているのでもうしばらくお待ちください。', 'E91' => 'システムの内部エラーです。発生時刻や呼び出しパラメータをご確認のうえ、お問い合わせください。', 'E91019999' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'E91020001' => '通信タイムアウトが発生しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'E91029998' => '決済処理に失敗しました。 該当のお取引について、店舗までお問い合わせください。', 'E91029999' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'E91060001' => 'システムの内部エラーです。発生時刻や呼び出しパラメータをご確認のうえ、お問い合わせください。', 'E91099996' => 'システムの内部エラーです。発生時刻や呼び出しパラメータをご確認のうえ、お問い合わせください。', 'E91099997' => 'リクエストされたAPIは存在しません。URLをお確かめください。', 'E91099999' => '決済処理に失敗しました。申し訳ございませんが、しばらく時間をあけて購入画面からやり直してください。', 'E92' => '只今、大変込み合っていますので、しばらく時間をあけて再度決済を行ってください。', 'E92000001' => '只今、大変込み合っていますので、しばらく時間をあけて再度決済を行ってください。', 'E92000002' => '只今、大変込み合っていますので、しばらく時間をあけて再度決済を行ってください。', 'EX1' => '決済処理に失敗しました。もう一度カード番号を入力してください。', 'EX1000301' => '決済処理に失敗しました。もう一度カード番号を入力してください。', 'EX1000302' => '決済処理に失敗しました。もう一度カード番号を入力してください。', 'EX1000303' => '決済処理に失敗しました。もう一度カード番号を入力してください。', 'EX1000304' => '決済処理に失敗しました。もう一度カード番号を入力してください。', 'G02' => 'カード残高が不足しているために、決済を完了する事ができませんでした。', 'G03' => 'カード限度額を超えているために、決済を完了する事ができませんでした。', 'G04' => 'カード残高が不足しているために、決済を完了する事ができませんでした。', 'G05' => 'カード限度額を超えているために、決済を完了する事ができませんでした。', 'G06' => 'デビットカードで口座の残高が不足しています。', 'G07' => 'カード限度額を超えているために、決済を完了する事ができませんでした。', 'G12' => 'このカードでは取引をする事ができません。', 'G22' => 'このカードでは取引をする事ができません。', 'G30' => 'このカードでは取引をする事ができません。', 'G42' => '暗証番号が誤っていた為に、決済を完了する事ができませんでした。', 'G43' => '暗証番号が誤っていた為に、決済を完了する事ができませんでした。', 'G44' => 'セキュリティーコードが誤っていた為に、決済を完了する事ができませんでした。', 'G45' => 'セキュリティーコードが入力されていない為に、決済を完了する事ができませんでした。', 'G54' => 'このカードでは取引をする事ができません。', 'G55' => 'カード限度額を超えているために、決済を完了する事ができませんでした。', 'G56' => 'このカードでは取引をする事ができません。', 'G60' => 'このカードでは取引をする事ができません。', 'G61' => 'このカードでは取引をする事ができません。', 'G65' => 'カード番号もしくは有効期限に誤りがあります。カード情報をもう一度ご確認ください。', 'G67' => '商品コードに誤りがあるために、決済を完了する事ができませんでした。', 'G68' => '金額に誤りがあるために、決済を完了する事ができませんでした。', 'G69' => '税送料に誤りがあるために、決済を完了する事ができませんでした。', 'G70' => 'ボーナス回数に誤りがあるために、決済を完了する事ができませんでした。', 'G71' => 'ボーナス月に誤りがあるために、決済を完了する事ができませんでした。', 'G72' => 'ボーナス額に誤りがあるために、決済を完了する事ができませんでした。', 'G73' => '支払開始月に誤りがあるために、決済を完了する事ができませんでした。', 'G74' => '分割回数に誤りがあるために、決済を完了する事ができませんでした。', 'G75' => '分割金額に誤りがあるために、決済を完了する事ができませんでした。', 'G76' => '初回金額に誤りがあるために、決済を完了する事ができませんでした。', 'G77' => '業務区分に誤りがあるために、決済を完了する事ができませんでした。', 'G78' => '支払区分に誤りがあるために、決済を完了する事ができませんでした。', 'G79' => '照会区分に誤りがあるために、決済を完了する事ができませんでした。', 'G80' => '取消区分に誤りがあるために、決済を完了する事ができませんでした。', 'G81' => '取消取扱区分に誤りがあるために、決済を完了する事ができませんでした。', 'G83' => '有効期限に誤りがあるために、決済を完了する事ができませんでした。', 'G84' => 'このカードでは取引をする事ができません。', 'G85' => '利用口座が使用できなかったために、決済を完了する事ができませんでした。', 'G91' => 'システム障害のために、決済を完了する事ができませんでした。', 'G92' => 'このカードでは取引をする事ができません。', 'G95' => 'このカードでは取引をする事ができません。', 'G96' => 'このカードでは取引をする事ができません。', 'G97' => 'このカードでは取引をする事ができません。', 'G98' => 'このカードでは取引をする事ができません。', 'G99' => 'このカードでは取引をする事ができません。', 'M01' => '指定されたオーダーIDの取引はすでに決済を依頼しています。', 'M01004014' => '指定されたオーダーIDの取引はすでに決済を依頼しています。', 'M01039013' => '加盟店自由項目1に不正な文字が含まれています。', 'M01040013' => '加盟店自由項目2に不正な文字が含まれています。', 'M01041013' => '加盟店自由項目3に不正な文字が含まれています。' }.freeze
Instance Method Summary collapse
-
#authorize(money, payment_source, options = {}) ⇒ Response
オーソリ(仮売上)を実行します 後でcaptureメソッドで売上計上する必要があります.
-
#capture(money, authorization, options = {}) ⇒ Response
オーソリ済みの取引を売上計上します.
-
#initialize(options = {}) ⇒ GmoPgGateway
constructor
GMO-PGゲートウェイを初期化します.
-
#purchase(money, payment_source, options = {}) ⇒ Response
即時売上を実行します authorizeとcaptureを同時に行います.
-
#search_trade(order_id, options = {}) ⇒ Response
取引情報を照会します.
-
#secure_tran2(access_id, access_pass, options = {}) ⇒ Response
3DS2.0認証後の決済を完了します 3DS2.0認証チャレンジ完了後、この決済を実行して取引を確定させます.
-
#store(payment, options = {}) ⇒ Response
クレジットカード情報を登録します 会員が存在しない場合は自動的に会員登録も行います.
-
#unstore(identification, options = {}) ⇒ Response
登録済みのクレジットカードを削除します.
-
#update_amount(money, authorization, options = {}) ⇒ Response
レスポンスオブジェクト.
-
#void(authorization, options = {}) ⇒ Response
取引を取消します オーソリ済みまたは売上済みの取引を取り消すことができます.
Constructor Details
#initialize(options = {}) ⇒ GmoPgGateway
GMO-PGゲートウェイを初期化します
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/active_merchant/billing/gateways/gmo_pg.rb', line 37 def initialize( = {}) requires!(, :shop_id, :shop_pass, :site_id, :site_pass) super host = test? ? 'pt01.mul-pay.jp' : 'p01.mul-pay.jp' @site_client = GMO::Payment::SiteAPI.new( site_id: @options[:site_id], site_pass: @options[:site_pass], host: host ) @shop_client = GMO::Payment::ShopAPI.new( shop_id: @options[:shop_id], shop_pass: @options[:shop_pass], host: host ) end |
Instance Method Details
#authorize(money, payment_source, options = {}) ⇒ Response
オーソリ(仮売上)を実行します 後でcaptureメソッドで売上計上する必要があります
209 210 211 212 213 214 215 216 217 |
# File 'lib/active_merchant/billing/gateways/gmo_pg.rb', line 209 def (money, payment_source, = {}) perform_transaction( money, payment_source, 'AUTH', 'オーソリに成功しました', .merge(tds2_type: [:tds2_type] || '3', td_required: [:td_required] || '0') ) end |
#capture(money, authorization, options = {}) ⇒ Response
オーソリ済みの取引を売上計上します
295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 |
# File 'lib/active_merchant/billing/gateways/gmo_pg.rb', line 295 def capture(money, , = {}) access_id, access_pass, order_id = () return error_response('無効な認証情報です') unless access_id && access_pass begin alter_params = { access_id: access_id, access_pass: access_pass, job_cd: 'SALES', amount: amount(money) } alter_params[:tax] = [:tax].to_i if [:tax] alter_params[:shipping] = [:shipping].to_i if [:shipping] result = @shop_client.alter_tran(alter_params) Response.new(true, '売上計上に成功しました', result, test: test?) rescue GMO::Payment::APIError => e error_response((e)) end end |
#purchase(money, payment_source, options = {}) ⇒ Response
即時売上を実行します authorizeとcaptureを同時に行います
274 275 276 277 278 279 280 281 282 |
# File 'lib/active_merchant/billing/gateways/gmo_pg.rb', line 274 def purchase(money, payment_source, = {}) perform_transaction( money, payment_source, 'CAPTURE', '決済に成功しました', .merge(tds2_type: [:tds2_type] || '3') ) end |
#search_trade(order_id, options = {}) ⇒ Response
取引情報を照会します
398 399 400 401 402 403 404 405 |
# File 'lib/active_merchant/billing/gateways/gmo_pg.rb', line 398 def search_trade(order_id, = {}) begin result = @shop_client.search_trade(order_id: order_id) Response.new(true, '取引照会に成功しました', result, test: test?) rescue GMO::Payment::APIError => e error_response((e)) end end |
#secure_tran2(access_id, access_pass, options = {}) ⇒ Response
3DS2.0認証後の決済を完了します 3DS2.0認証チャレンジ完了後、この決済を実行して取引を確定させます
420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 |
# File 'lib/active_merchant/billing/gateways/gmo_pg.rb', line 420 def secure_tran2(access_id, access_pass, = {}) begin result = @shop_client.secure_tran_2(access_id: access_id, access_pass: access_pass) # レスポンスのOrderIDを使ってauthorizationを構築 # これにより、後続のcapture/void/credit操作で使用できるようになります order_id = result['OrderID'] = "#{access_id}|#{access_pass}|#{order_id}" Response.new(true, '3DS2.0認証後の決済に成功しました', result, authorization: , test: test?) rescue GMO::Payment::APIError => e error_response((e)) end end |
#store(payment, options = {}) ⇒ Response
クレジットカード情報を登録します 会員が存在しない場合は自動的に会員登録も行います
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
# File 'lib/active_merchant/billing/gateways/gmo_pg.rb', line 79 def store(payment, = {}) member_id = [:member_id] || generate_unique_member_id member_name = [:member_name] || member_id begin @site_client.search_member(member_id: member_id) rescue GMO::Payment::APIError => e if e.error_info["ErrInfo"]&.include?(MEMBER_NOT_FOUND_ERROR) begin @site_client.save_member(member_id: member_id, member_name: member_name) rescue GMO::Payment::APIError => save_error return error_response((save_error)) end else return error_response((e)) end end card_params = { member_id: member_id, seq_mode: 1 } if payment.is_a?(String) card_params[:token] = payment else card_params[:card_no] = payment.number card_params[:expire] = expdate(payment) card_params[:holder_name] = payment.name if payment.name.present? card_params[:security_code] = payment.verification_value if payment.verification_value.present? end card_params[:card_pass] = [:card_pass] if [:card_pass] begin result = @site_client.save_card(card_params) card_seq = result['CardSeq'] = "#{member_id}|#{card_seq}" Response.new( true, 'カード登録に成功しました', result, authorization: , test: test? ) rescue GMO::Payment::APIError => e error_response((e)) end end |
#unstore(identification, options = {}) ⇒ Response
登録済みのクレジットカードを削除します
138 139 140 141 142 143 144 145 146 147 148 |
# File 'lib/active_merchant/billing/gateways/gmo_pg.rb', line 138 def unstore(identification, = {}) member_id, card_seq = (identification) return error_response('無効な識別子フォーマットです') unless member_id && card_seq begin @site_client.delete_card(member_id: member_id, card_seq: card_seq, seq_mode: 1) Response.new(true, 'カード削除に成功しました', {}, test: test?) rescue GMO::Payment::APIError => e error_response((e)) end end |
#update_amount(money, authorization, options = {}) ⇒ Response
Returns レスポンスオブジェクト.
361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 |
# File 'lib/active_merchant/billing/gateways/gmo_pg.rb', line 361 def update_amount(money, , = {}) access_id, access_pass, _order_id = () return error_response('無効な認証情報です') unless access_id && access_pass job_cd = [:job_cd] || 'CAPTURE' begin change_params = { shop_id: @options[:shop_id], shop_pass: @options[:shop_pass], access_id: access_id, access_pass: access_pass, job_cd: job_cd, amount: amount(money) } change_params[:tax] = amount([:tax]) if [:tax] # NOTE: gmo gem (v0.5.8) にchange_tranメソッドがない場合は # post_requestを直接呼び出してChangeTran.idPassエンドポイントにアクセス result = @shop_client.send(:post_request, 'ChangeTran.idPass', change_params) Response.new(true, '金額変更に成功しました', result, authorization: result['TranID'], test: test?) rescue GMO::Payment::APIError => e error_response(e.) end end |
#void(authorization, options = {}) ⇒ Response
取引を取消します オーソリ済みまたは売上済みの取引を取り消すことができます
326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 |
# File 'lib/active_merchant/billing/gateways/gmo_pg.rb', line 326 def void(, = {}) access_id, access_pass, _order_id = () return error_response('無効な認証情報です') unless access_id && access_pass begin alter_params = { access_id: access_id, access_pass: access_pass, job_cd: 'CANCEL' } result = @shop_client.alter_tran(alter_params) Response.new(true, '取消に成功しました', result, authorization: result['TranID'], test: test?) rescue GMO::Payment::APIError => e error_response((e)) end end |