1 | <!DOCTYPE html>
|
2 |
|
3 | <html lang="en">
|
4 | <head>
|
5 | <meta charset="utf-8">
|
6 | <meta name="viewport" content="width=device-width">
|
7 | <title>GMO Client Library for Node.js Source: services/credit.js</title>
|
8 |
|
9 | |
10 |
|
11 |
|
12 | <link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
13 |
|
14 | <link type="text/css" rel="stylesheet" href="styles/site.cosmo.css">
|
15 |
|
16 | </head>
|
17 |
|
18 | <body>
|
19 |
|
20 | <div class="navbar navbar-default navbar-fixed-top navbar-inverse">
|
21 | <div class="container">
|
22 | <div class="navbar-header">
|
23 | <a class="navbar-brand" href="index.html">GMO Client Library for Node.js</a>
|
24 | <button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#topNavigation">
|
25 | <span class="icon-bar"></span>
|
26 | <span class="icon-bar"></span>
|
27 | <span class="icon-bar"></span>
|
28 | </button>
|
29 | </div>
|
30 | <div class="navbar-collapse collapse" id="topNavigation">
|
31 | <ul class="nav navbar-nav">
|
32 |
|
33 | <li class="dropdown">
|
34 | <a href="namespaces.list.html" class="dropdown-toggle" data-toggle="dropdown">Namespaces<b class="caret"></b></a>
|
35 | <ul class="dropdown-menu ">
|
36 | <li><a href="error_badRequestError.html">error/badRequestError</a></li><li><a href="error_errors.html">error/errors</a></li><li><a href="factory.resultNotification.creditCard.html">factory.resultNotification.creditCard</a></li><li><a href="services_card.html">services/card</a></li><li><a href="services_credit.html">services/credit</a></li><li><a href="utils_util.html">utils/util</a></li>
|
37 | </ul>
|
38 | </li>
|
39 |
|
40 | <li class="dropdown">
|
41 | <a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b class="caret"></b></a>
|
42 | <ul class="dropdown-menu ">
|
43 | <li><a href="module-index.html">index</a></li>
|
44 | </ul>
|
45 | </li>
|
46 |
|
47 | <li class="dropdown">
|
48 | <a href="classes.list.html" class="dropdown-toggle" data-toggle="dropdown">Classes<b class="caret"></b></a>
|
49 | <ul class="dropdown-menu ">
|
50 | <li><a href="error_badRequestError.BadRequestError.html">error/badRequestError.BadRequestError</a></li>
|
51 | </ul>
|
52 | </li>
|
53 |
|
54 | <li class="dropdown">
|
55 | <a href="global.html" class="dropdown-toggle" data-toggle="dropdown">Global<b class="caret"></b></a>
|
56 | <ul class="dropdown-menu ">
|
57 | <li><a href="global.html#parseErrorMessage">parseErrorMessage</a></li>
|
58 | </ul>
|
59 | </li>
|
60 |
|
61 | </ul>
|
62 |
|
63 | <div class="col-sm-3 col-md-3">
|
64 | <form class="navbar-form" role="search">
|
65 | <div class="input-group">
|
66 | <input type="text" class="form-control" placeholder="Search" name="q" id="search-input">
|
67 | <div class="input-group-btn">
|
68 | <button class="btn btn-default" id="search-submit"><i class="glyphicon glyphicon-search"></i></button>
|
69 | </div>
|
70 | </div>
|
71 | </form>
|
72 | </div>
|
73 |
|
74 | </div>
|
75 |
|
76 | </div>
|
77 | </div>
|
78 |
|
79 |
|
80 | <div class="container" id="toc-content">
|
81 | <div class="row">
|
82 |
|
83 |
|
84 | <div class="col-md-12">
|
85 |
|
86 | <div id="main">
|
87 |
|
88 |
|
89 | <h1 class="page-title">Source: services/credit.js</h1>
|
90 |
|
91 | <section>
|
92 | <article>
|
93 | <pre
|
94 | class="sunlight-highlight-javascript linenums">"use strict";
|
95 | var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
96 | return new (P || (P = Promise))(function (resolve, reject) {
|
97 | function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
98 | function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
99 | function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
100 | step((generator = generator.apply(thisArg, _arguments || [])).next());
|
101 | });
|
102 | };
|
103 | Object.defineProperty(exports, "__esModule", { value: true });
|
104 | /**
|
105 | * GMO クレジット
|
106 | * @namespace services/credit
|
107 | */
|
108 | const createDebug = require("debug");
|
109 | const querystring = require("querystring");
|
110 | const request = require("request-promise-native");
|
111 | const badRequest_1 = require("../error/badRequest");
|
112 | const debug = createDebug('gmo-service:credit');
|
113 | /**
|
114 | * 取引登録
|
115 | * @memberOf services/credit
|
116 | * @function entryTran
|
117 | * @param {IEntryTranArgs} args 取引登録in
|
118 | * @param {string} args.shopId
|
119 | * @param {string} args.shopPass
|
120 | * @param {string} args.orderId
|
121 | * @param {util.JobCd} args.jobCd
|
122 | * @param {string} args.amount
|
123 | * @returns {Promise<IEntryTranResult>} 取引登録out
|
124 | */
|
125 | function entryTran(args) {
|
126 | return __awaiter(this, void 0, void 0, function* () {
|
127 | debug('requesting...', args);
|
128 | const body = yield request.post({
|
129 | url: `${process.env.GMO_ENDPOINT}/payment/EntryTran.idPass`,
|
130 | form: {
|
131 | ShopID: args.shopId,
|
132 | ShopPass: args.shopPass,
|
133 | OrderID: args.orderId,
|
134 | JobCd: args.jobCd,
|
135 | Amount: args.amount
|
136 | }
|
137 | }).promise();
|
138 | debug('request processed.', body);
|
139 | const result = querystring.parse(body);
|
140 | if (result.ErrCode !== undefined) {
|
141 | throw new badRequest_1.BadRequestError(body);
|
142 | }
|
143 | return {
|
144 | accessId: result.AccessID,
|
145 | accessPass: result.AccessPass
|
146 | };
|
147 | });
|
148 | }
|
149 | exports.entryTran = entryTran;
|
150 | /**
|
151 | * 決済実行
|
152 | * @memberOf services/credit
|
153 | * @function execTran
|
154 | * @param {IExecTranArgs} args 決済実行in
|
155 | * @param {string} args.accessId 取引ID
|
156 | * @param {string} args.accessPass 取引パスワード
|
157 | * @param {string} args.orderId オーダーID
|
158 | * @param {util.Method} args.method 支払方法
|
159 | * @param {number} args.payTimes 支払回数
|
160 | * @param {string} args.cardNo カード番号
|
161 | * @param {string} args.expire 有効期限
|
162 | * @param {string} args.securityCode セキュリティーコード
|
163 | * @param {string} args.token カード情報トークン
|
164 | * @param {string} args.pin 暗証番号
|
165 | * @param {string} args.siteId サイトID
|
166 | * @param {string} args.sitePass サイトパスワード
|
167 | * @param {string} args.memberId 会員ID
|
168 | * @param {util.SeqMode} args.seqMode カード登録連番モード
|
169 | * @param {number} args.cardSeq カード登録連番
|
170 | * @param {string} args.cardPass カードパスワード
|
171 | * @param {string} args.clientField1 加盟店自由項目1
|
172 | * @param {string} args.clientField2 加盟店自由項目2
|
173 | * @param {string} args.clientField3 加盟店自由項目3
|
174 | * @returns {Promise<IExecTranResult>} 決済実行out
|
175 | */
|
176 | function execTran(args) {
|
177 | return __awaiter(this, void 0, void 0, function* () {
|
178 | debug('requesting...', args);
|
179 | const body = yield request.post({
|
180 | url: `${process.env.GMO_ENDPOINT}/payment/ExecTran.idPass`,
|
181 | form: {
|
182 | AccessID: args.accessId,
|
183 | AccessPass: args.accessPass,
|
184 | OrderID: args.orderId,
|
185 | Method: args.method,
|
186 | PayTimes: args.payTimes,
|
187 | CardNo: args.cardNo,
|
188 | Expire: args.expire,
|
189 | SecurityCode: args.securityCode,
|
190 | Token: args.token,
|
191 | PIN: args.pin,
|
192 | SiteID: args.siteId,
|
193 | SitePass: args.sitePass,
|
194 | MemberID: args.memberId,
|
195 | SeqMode: args.seqMode,
|
196 | CardSeq: args.cardSeq,
|
197 | CardPass: args.cardPass,
|
198 | ClientField1: args.clientField1,
|
199 | ClientField2: args.clientField2,
|
200 | ClientField3: args.clientField3
|
201 | }
|
202 | }).promise();
|
203 | debug('request processed.', body);
|
204 | const result = querystring.parse(body);
|
205 | if (result.ErrCode !== undefined) {
|
206 | throw new badRequest_1.BadRequestError(body);
|
207 | }
|
208 | return {
|
209 | acs: result.ACS,
|
210 | orderId: result.OrderID,
|
211 | forward: result.Forward,
|
212 | method: result.Method,
|
213 | payTimes: result.PayTimes,
|
214 | approve: result.Approve,
|
215 | tranId: result.TranID,
|
216 | tranDate: result.TranDate,
|
217 | checkString: result.CheckString,
|
218 | clientField1: result.ClientField1,
|
219 | clientField2: result.ClientField2,
|
220 | clientField3: result.ClientField3
|
221 | };
|
222 | });
|
223 | }
|
224 | exports.execTran = execTran;
|
225 | /**
|
226 | * 決済変更
|
227 | * @memberOf services/credit
|
228 | * @function alterTran
|
229 | * @param {IAlterTranArgs} args 決済変更in
|
230 | * @param {string} args.shopId
|
231 | * @param {string} args.shopPass
|
232 | * @param {string} args.accessId
|
233 | * @param {string} args.accessPass
|
234 | * @param {util.JobCd} args.jobCd
|
235 | * @param {number} args.amount
|
236 | * @param {util.Method} args.method
|
237 | * @returns {Promise<IAlterTranResult>} 決済変更out
|
238 | */
|
239 | function alterTran(args) {
|
240 | return __awaiter(this, void 0, void 0, function* () {
|
241 | debug('requesting...', args);
|
242 | const body = yield request.post({
|
243 | url: `${process.env.GMO_ENDPOINT}/payment/AlterTran.idPass`,
|
244 | form: {
|
245 | ShopID: args.shopId,
|
246 | ShopPass: args.shopPass,
|
247 | AccessID: args.accessId,
|
248 | AccessPass: args.accessPass,
|
249 | JobCd: args.jobCd,
|
250 | Amount: args.amount,
|
251 | Method: args.method
|
252 | }
|
253 | }).promise();
|
254 | debug('request processed.', body);
|
255 | const result = querystring.parse(body);
|
256 | if (result.ErrCode !== undefined) {
|
257 | throw new badRequest_1.BadRequestError(body);
|
258 | }
|
259 | return {
|
260 | accessId: result.AccessID,
|
261 | accessPass: result.AccessPass,
|
262 | forward: result.Forward,
|
263 | approve: result.Approve,
|
264 | tranId: result.TranID,
|
265 | tranDate: result.TranDate
|
266 | };
|
267 | });
|
268 | }
|
269 | exports.alterTran = alterTran;
|
270 | /**
|
271 | * 取引状態参照
|
272 | * @memberOf services/credit
|
273 | * @function searchTrade
|
274 | * @param {ISearchTradeArgs} args 取引状態参照in
|
275 | * @param {string} args.shopId
|
276 | * @param {string} args.shopPass
|
277 | * @param {string} args.orderID
|
278 | * @returns {Promise<ISearchTradeResult>} 取引状態参照out
|
279 | */
|
280 | function searchTrade(args) {
|
281 | return __awaiter(this, void 0, void 0, function* () {
|
282 | debug('requesting...', args);
|
283 | const body = yield request.post({
|
284 | url: `${process.env.GMO_ENDPOINT}/payment/SearchTrade.idPass`,
|
285 | form: {
|
286 | ShopID: args.shopId,
|
287 | ShopPass: args.shopPass,
|
288 | OrderID: args.orderId
|
289 | }
|
290 | }).promise();
|
291 | debug('request processed.', body);
|
292 | const result = querystring.parse(body);
|
293 | if (result.ErrCode !== undefined) {
|
294 | throw new badRequest_1.BadRequestError(body);
|
295 | }
|
296 | return {
|
297 | orderId: result.OrderID,
|
298 | status: result.Status,
|
299 | processDate: result.ProcessDate,
|
300 | jobCd: result.JobCd,
|
301 | accessId: result.AccessID,
|
302 | accessPass: result.AccessPass,
|
303 | itemCode: result.ItemCode,
|
304 | amount: result.Amount,
|
305 | tax: result.Tax,
|
306 | siteId: result.SiteID,
|
307 | memberId: result.MemberID,
|
308 | cardNo: result.CardNo,
|
309 | expire: result.Expire,
|
310 | method: result.Method,
|
311 | payTimes: result.PayTimes,
|
312 | forward: result.Forward,
|
313 | tranId: result.TranID,
|
314 | approve: result.Approve,
|
315 | clientField1: result.ClientField1,
|
316 | clientField2: result.ClientField2,
|
317 | clientField3: result.ClientField3,
|
318 | errCode: result.ErrCode,
|
319 | errInfo: result.ErrInfo
|
320 | };
|
321 | });
|
322 | }
|
323 | exports.searchTrade = searchTrade;
|
324 | /**
|
325 | * 金額変更
|
326 | * @memberof services/credit
|
327 | * @function changeTran
|
328 | * @param {IChangeTranArgs} args 決済変更in
|
329 | * @param {string} args.shopId ショップID
|
330 | * @param {string} args.shopPass ショップパスワード
|
331 | * @param {string} args.accessId 取引ID
|
332 | * @param {string} args.accessPass 取引パスワード
|
333 | * @param {util.JobCd} args.jobCd 処理区分
|
334 | * @param {number} args.amount 利用金額
|
335 | * @param {string} args.tax 税送料
|
336 | * @returns {Promise<IChangeTranResult>} 金額変更out
|
337 | */
|
338 | function changeTran(args) {
|
339 | return __awaiter(this, void 0, void 0, function* () {
|
340 | debug('requesting...', args);
|
341 | const body = yield request.post({
|
342 | url: `${process.env.GMO_ENDPOINT}/payment/ChangeTran.idPass`,
|
343 | form: {
|
344 | ShopID: args.shopId,
|
345 | ShopPass: args.shopPass,
|
346 | AccessID: args.accessId,
|
347 | AccessPass: args.accessPass,
|
348 | JobCd: args.jobCd,
|
349 | Amount: args.amount,
|
350 | Tax: args.tax
|
351 | }
|
352 | }).promise();
|
353 | debug('request processed.', body);
|
354 | const result = querystring.parse(body);
|
355 | if (result.ErrCode !== undefined) {
|
356 | throw new badRequest_1.BadRequestError(body);
|
357 | }
|
358 | return {
|
359 | accessId: result.AccessID,
|
360 | accessPass: result.AccessPass,
|
361 | forward: result.Forward,
|
362 | approve: result.Approve,
|
363 | tranId: result.TranID,
|
364 | tranDate: result.TranDate
|
365 | };
|
366 | });
|
367 | }
|
368 | exports.changeTran = changeTran;
|
369 | </pre>
|
370 | </article>
|
371 | </section>
|
372 |
|
373 |
|
374 |
|
375 |
|
376 |
|
377 | </div>
|
378 | </div>
|
379 |
|
380 | <div class="clearfix"></div>
|
381 |
|
382 |
|
383 |
|
384 | </div>
|
385 | </div>
|
386 |
|
387 |
|
388 | <div class="modal fade" id="searchResults">
|
389 | <div class="modal-dialog">
|
390 | <div class="modal-content">
|
391 | <div class="modal-header">
|
392 | <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
393 | <h4 class="modal-title">Search results</h4>
|
394 | </div>
|
395 | <div class="modal-body"></div>
|
396 | <div class="modal-footer">
|
397 | <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
398 | </div>
|
399 | </div>
|
400 | </div>
|
401 | </div>
|
402 |
|
403 |
|
404 | <footer>
|
405 |
|
406 |
|
407 | <span class="jsdoc-message">
|
408 | Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a>
|
409 |
|
410 | on Sat Oct 28th 2017
|
411 |
|
412 | using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>.
|
413 | </span>
|
414 | </footer>
|
415 |
|
416 | <script src="scripts/docstrap.lib.js"></script>
|
417 | <script src="scripts/toc.js"></script>
|
418 |
|
419 | <script type="text/javascript" src="scripts/fulltext-search-ui.js"></script>
|
420 |
|
421 |
|
422 | <script>
|
423 | $( function () {
|
424 | $( "[id*='$']" ).each( function () {
|
425 | var $this = $( this );
|
426 |
|
427 | $this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
|
428 | } );
|
429 |
|
430 | $( ".tutorial-section pre, .readme-section pre, pre.prettyprint.source" ).each( function () {
|
431 | var $this = $( this );
|
432 |
|
433 | var example = $this.find( "code" );
|
434 | exampleText = example.html();
|
435 | var lang = /{@lang (.*?)}/.exec( exampleText );
|
436 | if ( lang && lang[1] ) {
|
437 | exampleText = exampleText.replace( lang[0], "" );
|
438 | example.html( exampleText );
|
439 | lang = lang[1];
|
440 | } else {
|
441 | var langClassMatch = example.parent()[0].className.match(/lang\-(\S+)/);
|
442 | lang = langClassMatch ? langClassMatch[1] : "javascript";
|
443 | }
|
444 |
|
445 | if ( lang ) {
|
446 |
|
447 | $this
|
448 | .addClass( "sunlight-highlight-" + lang )
|
449 | .addClass( "linenums" )
|
450 | .html( example.html() );
|
451 |
|
452 | }
|
453 | } );
|
454 |
|
455 | Sunlight.highlightAll( {
|
456 | lineNumbers : true,
|
457 | showMenu : true,
|
458 | enableDoclinks : true
|
459 | } );
|
460 |
|
461 | $.catchAnchorLinks( {
|
462 | navbarOffset: 10
|
463 | } );
|
464 | $( "#toc" ).toc( {
|
465 | anchorName : function ( i, heading, prefix ) {
|
466 | return $( heading ).attr( "id" ) || ( prefix + i );
|
467 | },
|
468 | selectors : "#toc-content h1,#toc-content h2,#toc-content h3,#toc-content h4",
|
469 | showAndHide : false,
|
470 | smoothScrolling: true
|
471 | } );
|
472 |
|
473 | $( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
474 | $( '.dropdown-toggle' ).dropdown();
|
475 |
|
476 | $( "table" ).each( function () {
|
477 | var $this = $( this );
|
478 | $this.addClass('table');
|
479 | } );
|
480 |
|
481 | } );
|
482 | </script>
|
483 |
|
484 |
|
485 |
|
486 |
|
487 |
|
488 |
|
489 |
|
490 |
|
491 |
|
492 |
|
493 | <script type="text/javascript">
|
494 | $(document).ready(function() {
|
495 | SearcherDisplay.init();
|
496 | });
|
497 | </script>
|
498 |
|
499 |
|
500 | </body>
|
501 | </html>
|