@playmoweb/payline-typescript-sdk
Version:
Payline Typescript SDK
63 lines • 2.13 kB
JavaScript
import { PaylineBaseRequest } from "./payline-base-request.js";
import { PaylineBuyer } from "../payline-buyer.js";
import { PaylineOrder } from "../payline-order.js";
import { PaylineUtils } from "../../services/payline-utils.js";
import { PaylinePayment } from "../payline-payment.js";
class PaylineDoImmediateWalletPaymentRequest extends PaylineBaseRequest {
walletId;
buyer;
payment;
// extras
privateDataList; // metadata
authentication3DSecure = {};
subMerchant;
order;
constructor(walletId) {
super();
this.walletId = walletId;
this.buyer = new PaylineBuyer();
this.buyer.walletId = walletId;
this.payment = new PaylinePayment();
this.order = new PaylineOrder();
this.order.ref = walletId;
this.order.date = PaylineUtils.getPaylineNowDateFormat();
}
changeContractNumber(contractNumber, force = false) {
if (!this.payment.contractNumber || force) {
this.payment.contractNumber = contractNumber;
}
return this;
}
setCurrency(currency) {
this.payment.currency = currency;
this.order.currency = currency;
return this;
}
setAmount(amount) {
this.payment.amount = amount;
this.order.amount = amount;
return this;
}
setClientDetails(email, firstName, lastName) {
this.buyer.email = email;
this.buyer.firstName = firstName;
this.buyer.lastName = lastName;
return this;
}
setPaymentDetails(action, mode, differedActionDate) {
this.payment.action = action.code;
this.payment.mode = mode;
if (differedActionDate) {
this.payment.differedActionDate = differedActionDate;
}
return this;
}
setOrderDetails(deliveryMode, country, details = {}) {
this.order.deliveryMode = deliveryMode.code;
this.order.country = country;
this.order.details = details;
return this;
}
}
export { PaylineDoImmediateWalletPaymentRequest };
//# sourceMappingURL=payline-do-immediate-wallet-payment-request.js.map