@playmoweb/payline-typescript-sdk
Version:
Payline Typescript SDK
75 lines • 2.48 kB
JavaScript
import { PaylineBaseRequest } from "./payline-base-request.js";
import { PaylinePayment } from "../payline-payment.js";
import { PaylineAction } from "../payline-action.js";
import { PaylineMode } from "../payline-mode.js";
import { PaylineCard } from "../payline-card.js";
import { PaylineOrder } from "../payline-order.js";
import { PaylineBuyer } from "../payline-buyer.js";
import { PaylineBankAccountData } from "../payline-bank-account-data.js";
class PaylineDoAuthorizationRequest extends PaylineBaseRequest {
transient;
payment;
bankAccountData;
card;
order;
buyer;
owner;
privateDataList; // metadata
authentication3DSecure;
media;
subMerchant;
asynchronousRetryTimeout;
linkedTransactionId;
recurring;
constructor(payment = null) {
super();
this.payment = payment ? payment : new PaylinePayment();
this.payment.action = PaylineAction.AuthCapture.code;
this.payment.mode = PaylineMode.FULL;
this.bankAccountData = new PaylineBankAccountData();
this.card = new PaylineCard();
this.order = new PaylineOrder();
}
changeContractNumber(contractNumber, force = false) {
if (!this.payment.contractNumber || force) {
this.payment.contractNumber = contractNumber;
}
return this;
}
setOrderDetails(deliveryMode, country = "fr", details = null) {
this.order.deliveryMode = deliveryMode.code;
this.order.country = country;
this.order.details = details;
return this;
}
setAmount(amount, currency) {
this.payment.amount = amount;
this.payment.currency = currency;
this.order.amount = amount;
this.order.currency = currency;
return this;
}
setWalletId(walletId) {
if (!this.buyer) {
this.buyer = new PaylineBuyer();
}
this.buyer.walletId = walletId;
return this;
}
setClientDetails(email, firstName, lastName) {
if (!this.buyer) {
this.buyer = new PaylineBuyer();
}
this.buyer.email = email;
this.buyer.firstName = firstName;
this.buyer.lastName = lastName;
return this;
}
setCardData(type, paymentData) {
this.card.type = type;
this.card.paymentData = paymentData;
return this;
}
}
export { PaylineDoAuthorizationRequest };
//# sourceMappingURL=payline-do-authorization-request.js.map