"use strict"; /** * GMO ユーティリティー * @namespace utils/util */ Object.defineProperty(exports, "__esModule", { value: true }); const crypto = require("crypto"); /** * 決済方法 * @memberof utils/util * @enum PayType */ var PayType; (function (PayType) { /** * 現金(実際GMOではありえないが) */ PayType["Cash"] = "Z"; /** * カード */ PayType["Credit"] = "0"; /** * モバイルSuica */ PayType["Suica"] = "1"; /** * 楽天Edy */ PayType["Edy"] = "2"; /** * コンビニ */ PayType["Cvs"] = "3"; // 4:Pay-easy // 5:PayPal // 6:iD // 7:WebMoney // 8:au かんたん // 9:docomo // B:ソフトバンクまとめて支払い(B) // C:じぶん銀行 // E:JCB プリカ // G:NET CASH・nanaco ギフト // I:楽天ID // J:多通貨クレジットカード // K:LINE Pay 決済 // L:ネット銀聯決済 // N:銀行振込(バーチャル口座) // O:リクルートかんたん支払い決済 })(PayType = exports.PayType || (exports.PayType = {})); /** * 支払い方法 * @memberof utils/util * @enum Method */ var Method; (function (Method) { /** * 一括 */ Method["Lump"] = "1"; /** * 分割 */ Method["Installment"] = "2"; /** * ボーナス一括 */ Method["BonusLump"] = "3"; /** * リボ */ Method["Revolving"] = "4"; /** * ボーナス分割 */ Method["BonusInstallment"] = "5"; })(Method = exports.Method || (exports.Method = {})); /** * 現状態 * @memberof utils/util * @enum Status */ var Status; (function (Status) { /** * 未決済 */ Status["Unprocessed"] = "UNPROCESSED"; /** * 未決済(3D 登録済) */ Status["Authenticated"] = "AUTHENTICATED"; /** * 有効性チェック */ Status["Check"] = "CHECK"; /** * 即時売上 */ Status["Capture"] = "CAPTURE"; /** * 仮売上 */ Status["Auth"] = "AUTH"; /** * 実売上 */ Status["Sales"] = "SALES"; /** * 取消 */ Status["Void"] = "VOID"; /** * 返品 */ Status["Return"] = "RETURN"; /** * 月跨り返品 */ Status["Returnx"] = "RETURNX"; /** * 簡易オーソリ */ Status["Sauth"] = "SAUTH"; /** * 要求成功 */ Status["Reqsuccess"] = "REQSUCCESS"; /** * 決済完了 */ Status["Paysuccess"] = "PAYSUCCESS"; /** * 決済失敗 */ Status["Payfail"] = "PAYFAIL"; /** * 期限切れ */ Status["Expired"] = "EXPIRED"; /** * 支払い停止 */ Status["Cancel"] = "CANCEL"; })(Status = exports.Status || (exports.Status = {})); /** * 処理区分 * @memberof utils/util * @enum JobCd */ var JobCd; (function (JobCd) { /** * 有効性チェック */ JobCd["Check"] = "CHECK"; /** * 即時売上 */ JobCd["Capture"] = "CAPTURE"; /** * 仮売上 */ JobCd["Auth"] = "AUTH"; /** * 実売上 */ JobCd["Sales"] = "SALES"; /** * 取消 */ JobCd["Void"] = "VOID"; /** * 返品 */ JobCd["Return"] = "RETURN"; /** * 月跨り返品 */ JobCd["Returnx"] = "RETURNX"; /** * 簡易オーソリ */ JobCd["Sauth"] = "SAUTH"; })(JobCd = exports.JobCd || (exports.JobCd = {})); /** * カード登録連番モード * @memberof utils/util * @enum SeqMode */ var SeqMode; (function (SeqMode) { /** * 論理モード */ SeqMode["Logic"] = "0"; /** * カード登録連番物理モード */ SeqMode["Physics"] = "1"; })(SeqMode = exports.SeqMode || (exports.SeqMode = {})); /** * 洗替・継続課金対象 * @memberof utils/util * @enum DefaultFlag */ var DefaultFlag; (function (DefaultFlag) { /** * 対象としない */ DefaultFlag["BillingObject"] = "0"; /** * 対象とする */ DefaultFlag["NotSubjectToCharge"] = "1"; })(DefaultFlag = exports.DefaultFlag || (exports.DefaultFlag = {})); /** * ショップ情報確認文字列を作成する * @memberof utils/util * @function createShopPassString * @param {ICreateShopPassStringArgs} args * @param {string} args.shopId * @param {string} args.shopPass * @param {string} args.orderId * @param {string} args.amount * @param {string} args.dateTime * @returns {string} */ function createShopPassString(args) { // 「ショップ ID + オーダーID + 利用金額+税送料+ショップパスワード + 日時情報」を MD5 でハッシュした文字列。 const md5hash = crypto.createHash('md5'); md5hash.update(`${args.shopId}${args.orderId}${args.amount.toString()}${args.shopPass}${args.dateTime}`, 'utf8'); return md5hash.digest('hex'); } exports.createShopPassString = createShopPassString;