palmpaywrappersdk
Version:
PalmPay Wrapper Sdk
162 lines (136 loc) • 3.95 kB
text/typescript
import { PaymentRequest,BuildPayload } from './PaymentRequest';
//import { BuildPayload } from './BuildPayload';
export class CreateOrderRequest extends PaymentRequest {
amount?: number;
notifyUrl?: string;
orderId?: string;
title?: string;
description?: string;
userId?: string;
userMobileNo?: string;
currency?: string;
callBackUrl?: string;
goodsDetails?: string;
productType?: string;
constructor(
paymentRequest: PaymentRequest,
amount?: number,
notifyUrl?: string,
orderId?: string,
title?: string,
description?: string,
userId?: string,
userMobileNo?: string,
currency?: string,
callBackUrl?: string,
goodsDetails?: string,
productType?: string
) {
super(paymentRequest.requestTime, paymentRequest.version, paymentRequest.nonceStr);
this.amount = amount;
this.notifyUrl = notifyUrl;
this.orderId = orderId;
this.title = title;
this.description = description;
this.userId = userId;
this.userMobileNo = userMobileNo;
this.currency = currency;
this.callBackUrl = callBackUrl;
this.goodsDetails = goodsDetails;
this.productType = productType;
}
public toJSON(): object {
return {
requestTime: this.requestTime,
version: this.version,
nonceStr: this.nonceStr,
amount: this.amount,
notifyUrl: this.notifyUrl,
orderId: this.orderId,
title: this.title,
description: this.description,
userId: this.userId,
userMobileNo: this.userMobileNo,
currency: this.currency,
callBackUrl: this.callBackUrl,
goodsDetails: this.goodsDetails,
productType: this.productType
};
}
}
export class CreateOrderRequestBuilder extends BuildPayload {
private amount?: number;
private notifyUrl?: string;
private orderId?: string;
private title?: string;
private description?: string;
private userId?: string;
private userMobileNo?: string;
private currency?: string;
private callBackUrl?: string;
private goodsDetails?: string;
private productType?: string;
constructor(requestTime: number, version: string, nonceStr: string) {
super(requestTime, version, nonceStr);
}
public withAmount(amount: number): CreateOrderRequestBuilder {
this.amount = amount;
return this;
}
public withNotifyUrl(notifyUrl: string): CreateOrderRequestBuilder {
this.notifyUrl = notifyUrl;
return this;
}
public withOrderId(orderId: string): CreateOrderRequestBuilder {
this.orderId = orderId;
return this;
}
public withTitle(title: string): CreateOrderRequestBuilder {
this.title = title;
return this;
}
public withDescription(description: string): CreateOrderRequestBuilder {
this.description = description;
return this;
}
public withUserId(userId: string): CreateOrderRequestBuilder {
this.userId = userId;
return this;
}
public withUserMobileNo(userMobileNo: string): CreateOrderRequestBuilder {
this.userMobileNo = userMobileNo;
return this;
}
public withCurrency(currency: string): CreateOrderRequestBuilder {
this.currency = currency;
return this;
}
public withCallBackUrl(callBackUrl: string): CreateOrderRequestBuilder {
this.callBackUrl = callBackUrl;
return this;
}
public withGoodsDetails(goodsDetails: string): CreateOrderRequestBuilder {
this.goodsDetails = goodsDetails;
return this;
}
public withProductType(productType: string): CreateOrderRequestBuilder {
this.productType = productType;
return this;
}
public build(): CreateOrderRequest {
return new CreateOrderRequest(
super.build(),
this.amount,
this.notifyUrl,
this.orderId,
this.title,
this.description,
this.userId,
this.userMobileNo,
this.currency,
this.callBackUrl,
this.goodsDetails,
this.productType
);
}
}