@simonbackx/paynl-node
Version:
Simple PayNL SDK for Node.js that uses promises and no singletons
102 lines • 3.41 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.StatsDetails = exports.PaymentDetails = exports.OrderDataRow = exports.SaleData = exports.Enduser = exports.Connection = exports.ResultRefund = exports.TransactionResult = void 0;
class TransactionResult {
constructor(data) {
this.transactionId = data["transactionId"];
this.connection = new Connection(data["connection"]);
this.enduser = new Enduser(data["enduser"]);
this.saleData = new SaleData(data["saleData"]);
this.paymentDetails = new PaymentDetails(data["paymentDetails"]);
this.statsDetails = new StatsDetails(data["statsDetails"]);
}
isPaid() {
return this.paymentDetails.stateName == "PAID";
}
isPending() {
return this.paymentDetails.stateName == "PENDING" || this.paymentDetails.stateName == "VERIFY";
}
isCanceled() {
return this.paymentDetails.state < 0;
}
isRefunded(alsoPartial) {
if (this.paymentDetails.stateName == "REFUND")
return true;
if (alsoPartial && this.paymentDetails.stateName == "PARTIAL_REFUND")
return true;
return false;
}
isPartiallyRefunded() {
return this.paymentDetails.stateName == "PARTIAL_REFUND";
}
isBeingVerified() {
return this.paymentDetails.stateName == "VERIFY";
}
isAuthorized() {
return this.paymentDetails.state == 95;
}
}
exports.TransactionResult = TransactionResult;
class ResultRefund {
}
exports.ResultRefund = ResultRefund;
class Connection {
constructor(data) {
Object.assign(this, data);
}
}
exports.Connection = Connection;
class Enduser {
constructor(data) {
Object.assign(this, data);
}
}
exports.Enduser = Enduser;
function parseDate(date) {
var arrDate = date.split("-");
return new Date(parseInt(arrDate[2]), parseInt(arrDate[1]) - 1, parseInt(arrDate[0]));
}
class SaleData {
constructor(data) {
if (data["invoiceDate"])
this.invoiceDate = parseDate(data["invoiceDate"]);
if (data["deliveryDate"])
this.deliveryDate = parseDate(data["deliveryDate"]);
if (data["orderData"]) {
this.orderData = [];
Object.keys(data["orderData"]).forEach((key) => {
this.orderData.push(new OrderDataRow(data["orderData"][key]));
});
}
}
}
exports.SaleData = SaleData;
class OrderDataRow {
constructor(data) {
data.price = data.price / 100;
Object.assign(this, data);
}
}
exports.OrderDataRow = OrderDataRow;
class PaymentDetails {
constructor(data) {
data["amount"] = data["amount"] / 100;
data["currencyAmount"] = data["currenyAmount"] / 100;
delete data["currenyAmount"];
data["paidAmount"] = data["paidAmount"] / 100;
data["paidCurrencyAmount"] = data["paidCurrenyAmount"] / 100;
delete data["paidCurrenyAmount"];
data["paidBase"] = data["paidBase"] / 100;
data["paidCosts"] = data["paidCosts"] / 100;
data["paidCostsVat"] = data["paidCostsVat"] / 100;
Object.assign(this, data);
}
}
exports.PaymentDetails = PaymentDetails;
class StatsDetails {
constructor(data) {
Object.assign(this, data);
}
}
exports.StatsDetails = StatsDetails;
//# sourceMappingURL=TransactionResult.js.map