@calf/dotypay
Version:
Dotypay module of Calf framework.
112 lines (111 loc) • 3.3 kB
TypeScript
import { Common } from "./common.namespace";
/**
* Payment
* @description Namespace for Payment
*/
export declare namespace Payment {
/**
* Enums
* @description Namespace for Enums
*/
namespace Enums {
/**
* Payment type
* @description Enum for Payment type
*/
enum PaymentType {
Normal = "Normal",
Refund = "Refund",
OneTimeReservation = "OneTimeReservation",
Completion = "Completion"
}
}
/**
* Interfaces
* @description Namespace for Interfaces
*/
namespace Interfaces {
/**
* Request
* @description Interface for Request
*/
interface IRequest extends Common.Interfaces.ISaleToPOIRequest {
PaymentRequest?: IPaymentRequest;
}
/**
* Response
* @description Interface for Response
*/
interface IResponse extends Common.Interfaces.ISaleToPOIResponse {
PaymentResponse?: IPaymentResponse;
}
/**
* Request
* @description Interface for Request
*/
interface IPaymentRequest {
PaymentData?: IPaymentData;
PaymentTransaction?: IPaymentTransaction;
SaleData?: ISaleData;
}
/**
* Response
* @description Interface for Response
*/
interface IPaymentResponse {
PaymentData?: IPaymentData;
PaymentResult?: IPaymentResult;
POIData?: Common.Interfaces.IPOIData;
Response?: Common.Interfaces.IResponse;
}
/**
* Amount request
* @description Interface for Amount request
*/
interface IAmountsRequest {
Currency?: string;
RequestedAmount?: number;
}
/**
* Amount response
* @description Interface for Amount response
*/
interface IAmountsResponse {
AuthorizedAmount?: number;
TipAmount?: number;
Currency?: string;
}
/**
* Payment result
* @description Interface for Payment result
*/
interface IPaymentResult {
AmountsResp?: IAmountsResponse;
ProprietaryTags?: Common.Interfaces.IProprietaryTags;
PaymentInstrumentData?: Common.Interfaces.IPaymentInstrumentData;
}
/**
* Payment data
* @description Interface for Payment data
*/
interface IPaymentData {
PaymentType?: Enums.PaymentType;
}
/**
* Payment transaction
* @description Interface for Payment transaction
*/
interface IPaymentTransaction {
AmountsReq?: IAmountsRequest;
ProprietaryTags?: Common.Interfaces.IProprietaryTags;
OriginalPOITransaction?: Common.Interfaces.IPOIData;
}
/**
* Sale data
* @description Interface for Sale data
*/
interface ISaleData {
SaleTransactionID?: Common.Interfaces.ITransactionID;
}
}
}