UNPKG

easypay-nestjs

Version:
110 lines 4.24 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ZibalService = void 0; const common_1 = require("@nestjs/common"); const driver_1 = require("../class/driver"); const url_service_1 = require("./url.service"); let ZibalService = class ZibalService extends driver_1.BasicDriver { constructor(urlService) { super(); this.urlService = urlService; this.SANDBOX_URL = "https://gateway.zibal.ir/v1/request"; this.PRODUCTION_URL = "https://gateway.zibal.ir/v1/request"; } getRequestBody(options) { if (options.sandbox) { options.merchant = "zibal"; } return { merchant: options.merchant, amount: options.amount, callbackUrl: options.callbackUrl, description: options.description, orderId: options.orderId, mobile: options.mobile, allowedCards: options.allowedCards, ledgerId: options.ledgerId, nationalCode: options.nationalCode, checkMobileWithCard: options.checkMobileWithCard, }; } getRequestResponse(response, sandbox) { const isSuccess = response.result === 100; return { code: response.result, success: isSuccess, message: response.message, data: isSuccess ? { trackId: response.trackId, url: this.urlService.getGatewayUrl("ZIBAL", sandbox, response.trackId), } : null, }; } getVerifyBody(options) { return { merchant: options.merchant.toString(), trackId: +options.trackId, }; } getVerifyResponse(response) { const isSuccess = response.result === 100 || response.result === 201; return { code: response.result, success: isSuccess, message: response.message, data: isSuccess ? { paidAt: response.paidAt, cardNumber: response.cardNumber, status: response.status, amount: response.amount, refNumber: response.refNumber, description: response.description, orderId: response.orderId, } : null, }; } getInquiryBody(options) { return { merchant: options.merchant.toString(), trackId: +options.trackId, }; } getInquiryResponse(response) { return { code: response.result, success: response.result === 100, message: response.message, data: { createdAt: response.createdAt, paidAt: response.paidAt, verifiedAt: response.verifiedAt, cardNumber: response.cardNumber, status: response.status, amount: response.amount, refNumber: response.refNumber, description: response.description, orderId: response.orderId, wage: response.wage, }, }; } }; exports.ZibalService = ZibalService; exports.ZibalService = ZibalService = __decorate([ (0, common_1.Injectable)(), __metadata("design:paramtypes", [url_service_1.UrlService]) ], ZibalService); //# sourceMappingURL=zibal.service.js.map