UNPKG

@abcpros/bitcore-wallet-service

Version:
118 lines (113 loc) 3.15 kB
export enum PaymentType { SEND, BURN } export interface IQpayInfoForEmail { payee: string; paymentReason: string; paymentReasonValue: number; paymentDescription: string; accountNumber?: string; street?: string; unitNumber?: string; formattedAmount: string; amountPay: number; amountToken: number; dateFormatted: string; date: Date; } export interface IMerchantOrder { status: string; coin: string; tokenId: string; txIdFromUser: string; txMerchantPayment?: string; merchantCode: string; userAddress: string; amount: number; listEmailContent: string[]; listSubject: string[]; error?: string; pendingReason?: string; createdOn: Date; lastModified: Date; signature?: string; isPaidByUser: boolean; paymentType: number; userEmailAddress: string; qpayInfoForEmail: IQpayInfoForEmail; isToken: boolean; } export class MerchantOrder implements IMerchantOrder { txMerchantPayment?: string; qpayInfoForEmail: IQpayInfoForEmail; status: string; coin: string; tokenId: string; userAddress: string; txIdFromUser: string; txIdMerchantPayment?: string; merchantCode: string; amount: number; paymentType: number; listEmailContent: string[]; listSubject: string[]; error?: string; pendingReason?: string; createdOn: Date; lastModified: Date; signature?: string; isPaidByUser: boolean; userEmailAddress: string; isToken: boolean; static create(opts) { opts = opts || {}; const x = new MerchantOrder(); const now = new Date(); x.status = 'waiting'; x.coin = opts.coin; x.tokenId = opts.tokenId; x.userAddress = opts.userAddress; x.txIdFromUser = opts.txIdFromUser; x.txIdMerchantPayment = opts.txIdMerchantPayment || null; x.merchantCode = opts.merchantCode; x.amount = opts.amount; x.listEmailContent = opts.listEmailContent; x.listSubject = opts.listSubject; x.createdOn = now; x.lastModified = now; x.error = opts.error || null; x.pendingReason = opts.pendingReason || null; x.signature = opts.signature || null; x.isPaidByUser = opts.isPaidByUser; x.paymentType = opts.paymentType; x.userEmailAddress = opts.userEmailAddress; x.qpayInfoForEmail = opts.qpayInfoForEmail; x.isToken = opts.isToken; return x; } static fromObj(obj) { const x = new MerchantOrder(); x.status = obj.status; x.coin = obj.coin; x.tokenId = obj.tokenId || null; x.userAddress = obj.userAddress; x.txIdFromUser = obj.txIdFromUser; x.txIdMerchantPayment = obj.txIdMerchantPayment || null; x.merchantCode = obj.merchantCode; x.amount = obj.amount; x.listEmailContent = obj.listEmailContent; x.listSubject = obj.listSubject; x.createdOn = obj.createdOn; x.lastModified = obj.lastModified; x.error = obj.error || null; x.pendingReason = obj.pendingReason || null; x.signature = obj.signature || null; x.isPaidByUser = obj.isPaidByUser; x.paymentType = obj.paymentType; x.userEmailAddress = obj.userEmailAddress; x.qpayInfoForEmail = obj.qpayInfoForEmail; x.isToken = obj.isToken; return x; } }