import { PaymentContext, SdkResponse } from "../../../model/types";
import { ApprovePaymentRequest, CancelApprovalPaymentResponse, CancelPaymentResponse, CapturePaymentRequest, CaptureResponse, CapturesResponse, CompletePaymentRequest, CompletePaymentResponse, CreateDisputeRequest, CreatePaymentRequest, CreatePaymentResponse, CreateTokenResponse, DeviceFingerprintDetails, DisputeResponse, DisputesResponse, ErrorResponse, FindPaymentsResponse, PaymentApprovalResponse, PaymentErrorResponse, PaymentResponse, RefundErrorResponse, RefundRequest, RefundResponse, RefundsResponse, ThirdPartyStatusResponse, TokenizePaymentRequest } from "../domain";
export interface PaymentsClient {
/**
* Resource /{merchantId}/payments - Create payment
*/
create(merchantId: string, postData: CreatePaymentRequest, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/payments - Find payments
*/
find(merchantId: string, paymentContext: FindPaymentsParams): Promise>;
/**
* Resource /{merchantId}/payments/{paymentId} - Get payment
*/
get(merchantId: string, paymentId: string, paymentContext: GetPaymentParams): Promise>;
/**
* Resource /{merchantId}/payments/{paymentId}/complete - Complete payment
*/
complete(merchantId: string, paymentId: string, postData: CompletePaymentRequest, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/payments/{paymentId}/thirdpartystatus - Third party status poll
*/
thirdPartyStatus(merchantId: string, paymentId: string, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/payments/{paymentId}/tokenize - Create a token from payment
*/
tokenize(merchantId: string, paymentId: string, postData: TokenizePaymentRequest, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/payments/{paymentId}/processchallenged - Approves challenged payment
*/
processchallenged(merchantId: string, paymentId: string, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/payments/{paymentId}/approve - Approve payment
*/
approve(merchantId: string, paymentId: string, postData: ApprovePaymentRequest, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/payments/{paymentId}/capture - Capture payment
*/
capture(merchantId: string, paymentId: string, postData: CapturePaymentRequest, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/payments/{paymentId}/finalizecapture - Finalize capture
*/
finalizecapture(merchantId: string, paymentId: string, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/payments/{paymentId}/cancelapproval - Undo capture payment
*/
cancelapproval(merchantId: string, paymentId: string, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/payments/{paymentId}/captures - Get captures of payment
*/
captures(merchantId: string, paymentId: string, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/payments/{paymentId}/refund - Create refund
*/
refund(merchantId: string, paymentId: string, postData: RefundRequest, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/payments/{paymentId}/refunds - Get refunds of payment
*/
refunds(merchantId: string, paymentId: string, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/payments/{paymentId}/cancel - Cancel payment
*/
cancel(merchantId: string, paymentId: string, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/payments/{paymentId}/dispute - Create dispute
*/
dispute(merchantId: string, paymentId: string, postData: CreateDisputeRequest, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/payments/{paymentId}/disputes - Get disputes
*/
disputes(merchantId: string, paymentId: string, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/payments/{paymentId}/devicefingerprint - Get Device Fingerprint details
*/
devicefingerprint(merchantId: string, paymentId: string, paymentContext?: PaymentContext | null): Promise>;
}
export interface FindPaymentsParams extends PaymentContext {
hostedCheckoutId?: string;
merchantReference?: string;
merchantOrderId?: number;
offset?: number;
limit?: number;
}
export interface GetPaymentParams extends PaymentContext {
returnOperations?: boolean;
}