@muhammedaksam/sipay-node
Version:
Node.js TypeScript SDK for Sipay payment gateway
62 lines • 2.42 kB
JavaScript
"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