@chevre/domain
Version:
Chevre Domain Library for Node.js
59 lines (58 loc) • 3.12 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.processAuthorizeCreditCard3ds = processAuthorizeCreditCard3ds;
const factory = require("../../../../factory");
const processAuthorizeCreditCard3dsResult2recipe_1 = require("./processAuthorizeCreditCard3dsResult2recipe");
function processAuthorizeCreditCard3ds(params) {
return (repos) => __awaiter(this, void 0, void 0, function* () {
const { entryTranArgs, entryTranResult, execTranArgs, execTranResult } = params.pendingPaymentAgencyTransaction;
const { accessId, accessPass } = entryTranResult;
const secureTran2Args = { accessId, accessPass };
let secureTran2Result;
let action;
let recipe = (0, processAuthorizeCreditCard3dsResult2recipe_1.processAuthorizeCreditCard3dsResult2recipe)({
project: { id: params.project.id },
result: { secureTran2Args }
});
const actionAttributes = {
project: { id: params.project.id, typeOf: factory.organizationType.Project },
typeOf: factory.actionType.AuthorizeAction,
agent: { id: params.project.id, typeOf: factory.organizationType.Project },
object: {
paymentMethodId: entryTranArgs.orderId,
typeOf: 'Invoice'
},
sameAs: { id: params.payTransaction.id, typeOf: factory.assetTransactionType.Pay }
};
// add action(2024-06-12~)
action = yield repos.action.start(actionAttributes, { recipe });
try {
secureTran2Result = yield repos.creditCardService.secureTran2(secureTran2Args);
}
catch (error) {
try {
yield repos.action.giveUp({ typeOf: actionAttributes.typeOf, id: action.id, error });
}
catch (__) {
// 失敗したら仕方ない
}
throw error;
}
recipe = (0, processAuthorizeCreditCard3dsResult2recipe_1.processAuthorizeCreditCard3dsResult2recipe)({
project: { id: params.project.id },
result: { secureTran2Args, secureTran2Result }
});
const actionResult = {};
yield repos.action.completeWithVoid({ typeOf: actionAttributes.typeOf, id: action.id, result: actionResult, recipe });
return { entryTranArgs, entryTranResult, execTranArgs, execTranResult, secureTran2Result };
});
}
;