palmpaywrappersdk
Version:
PalmPay Wrapper Sdk
96 lines (75 loc) • 2.45 kB
text/typescript
import { PaymentRequest,BuildPayload } from './PaymentRequest';
export class CreateVirtualAccountRequest extends PaymentRequest {
virtualAccountName?: string;
identityType?: string;
licenseNumber?: string;
email?: string;
customerName?: string;
constructor(
paymentRequest: PaymentRequest,
virtualAccountName?: string,
identityType?: string,
licenseNumber?: string,
email?: string,
customerName?: string,
) {
super(paymentRequest.requestTime, paymentRequest.version, paymentRequest.nonceStr);
this.virtualAccountName = virtualAccountName;
this.identityType = identityType;
this.licenseNumber = licenseNumber;
this.email = email;
this.customerName = customerName;
}
public toJSON(): object {
return {
requestTime: this.requestTime,
version: this.version,
nonceStr: this.nonceStr,
virtualAccountName: this.virtualAccountName,
identityType: this.identityType,
licenseNumber: this.licenseNumber,
email: this.email,
customerName: this.customerName,
};
}
}
export class CreateVirtualAccountRequestBuilder extends BuildPayload {
private virtualAccountName?: string;
private identityType?: string;
private licenseNumber?: string;
private email?: string;
private customerName?: string;
constructor(requestTime: number, version: string, nonceStr: string) {
super(requestTime, version, nonceStr);
}
public setVirtualAccountName(virtualAccountName: string): CreateVirtualAccountRequestBuilder {
this.virtualAccountName = virtualAccountName;
return this;
}
public setIdentityType(identityType: string): CreateVirtualAccountRequestBuilder {
this.identityType = identityType;
return this;
}
public setLicenseNumber(licenseNumber: string): CreateVirtualAccountRequestBuilder {
this.licenseNumber = licenseNumber;
return this;
}
public setEmail(email: string): CreateVirtualAccountRequestBuilder {
this.email = email;
return this;
}
public setCustomerName(customerName: string): CreateVirtualAccountRequestBuilder {
this.customerName = customerName;
return this;
}
public build(): CreateVirtualAccountRequest {
return new CreateVirtualAccountRequest(
super.build(),
this.virtualAccountName,
this.identityType,
this.licenseNumber,
this.email,
this.customerName
);
}
}