UNPKG

@muhammedaksam/sipay-node

Version:

Node.js TypeScript SDK for Sipay payment gateway

62 lines 2.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Marketplace = void 0; const base_1 = require("./base"); const utils_1 = require("../utils"); class Marketplace extends base_1.SipayResource { /** * Make a marketplace payment (non-secure/2D) */ async pay2D(paymentData, options) { const data = this.addMerchantKey(paymentData); // Generate hash key for marketplace payment // Hash format: total|installments_number|currency_code|merchant_key|invoice_id const hashKey = (0, utils_1.generatePaymentHashKey)(data.total, data.installments_number || 1, data.currency_code, data.merchant_key, data.invoice_id, this.client['config'].appSecret); data.hash_key = hashKey; return this.post('/api/marketplace/sale/pay/smart/non-secure', data, options); } /** * Make a marketplace payment with 3D Secure */ async pay3D(paymentData, options) { const data = this.addMerchantKey(paymentData); return this.post('/api/marketplace/sale/pay/smart/secure', data, options); } /** * Refund a marketplace payment */ async refund(refundData, options) { const data = this.addMerchantKey(refundData); return this.post('/ccpayment/api/marketplace/sale/refund', data, options); } /** * Check status of a marketplace payment */ async checkStatus(statusData, options) { const data = this.addMerchantKey(statusData); return this.post('/ccpayment/api/marketplace/sale/check/status', data, options); } /** * Get settlements information */ async getSettlements(settlementsData, options) { const data = this.addMerchantKey(settlementsData); return this.post('/ccpayment/api/settlements', data, options); } /** * Approve a marketplace transaction */ async approveTransaction(approveData, options) { const data = this.addMerchantKey(approveData); return this.post('/ccpayment/api/marketplace/sale/transaction/approve', data, options); } /** * Process payout to sub merchants */ async payout(payoutData, options) { const data = this.addMerchantKey(payoutData); return this.post('/ccpayment/api/marketplace/sub-merchant/payout', data, options); } } exports.Marketplace = Marketplace; //# sourceMappingURL=marketplace.js.map