UNPKG

16.2 kBHTMLView Raw
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 <!--[if lt IE 9]>
10 <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
11 <![endif]-->
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";
95var __awaiter = (this &amp;&amp; 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};
103Object.defineProperty(exports, "__esModule", { value: true });
104/**
105 * GMO クレジット
106 * @namespace services/credit
107 */
108const createDebug = require("debug");
109const querystring = require("querystring");
110const request = require("request-promise-native");
111const badRequest_1 = require("../error/badRequest");
112const 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&lt;IEntryTranResult>} 取引登録out
124 */
125function 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}
149exports.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&lt;IExecTranResult>} 決済実行out
175 */
176function 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}
224exports.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&lt;IAlterTranResult>} 決済変更out
238 */
239function 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}
269exports.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&lt;ISearchTradeResult>} 取引状態参照out
279 */
280function 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}
323exports.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&lt;IChangeTranResult>} 金額変更out
337 */
338function 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}
368exports.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">&times;</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><!-- /.modal-content -->
400 </div><!-- /.modal-dialog -->
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<!--Navigation and Symbol Display-->
487
488
489<!--Google Analytics-->
490
491
492
493 <script type="text/javascript">
494 $(document).ready(function() {
495 SearcherDisplay.init();
496 });
497 </script>
498
499
500</body>
501</html>