akua-sdk
Version:
TypeScript SDK for Akua Acquiring Processor
61 lines (60 loc) • 1.68 kB
TypeScript
import type { UserData } from '../instrument';
import type { CardData } from '../instrument';
import { CaptureMode, PaymentIntent, PaymentEntryMode, Currency } from '../enums';
export interface Amount {
value: number;
currency: Currency;
}
export interface Capture {
mode: CaptureMode;
}
export interface Installments {
quantity: number;
type: string;
}
export interface Card extends Omit<CardData, 'first_name' | 'last_name'> {
holder_name: string;
}
export interface Instrument {
type: 'CARD';
card: Card;
user_data: UserData;
}
export interface BaseIdempotencyKeyRequest {
idempotencyKey?: string;
}
export interface BaseAuthorizeRequest extends BaseIdempotencyKeyRequest {
amount: Amount;
intent: PaymentIntent;
trace_id: string;
entry_mode: PaymentEntryMode;
capture: Capture;
merchant_id: string;
installments: Installments;
}
export interface AuthorizeWithPanRequest extends BaseAuthorizeRequest {
instrument: Instrument;
}
export interface RefundPaymentRequest extends BaseIdempotencyKeyRequest {
amount: Amount;
}
export interface AuthorizeWithTokenRequest extends BaseAuthorizeRequest {
instrument: {
id: string;
};
}
export interface VerifyPaymentRequest extends BaseIdempotencyKeyRequest {
intent: 'account-status';
merchant_id: string;
trace_id: string;
instrument: Instrument | {
id: string;
};
}
export interface CapturePaymentRequest extends BaseIdempotencyKeyRequest {
amount: Amount;
}
export interface CancelPaymentRequest extends BaseIdempotencyKeyRequest {
}
export interface ClearPaymentRequest extends BaseIdempotencyKeyRequest {
}