UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

59 lines (58 loc) 3.12 kB
"use strict"; 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 }; }); }