UNPKG

yc-types

Version:

TypeScript types and interfaces for YellowCard protobuf definitions

140 lines (139 loc) 4.42 kB
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Metadata } from "./common"; export declare const protobufPackage = "pb"; export interface Payment { id: string; reference: string; customerEmail: string; customerPhone: string; customerName: string; amount: number; currency: string; status: string; paymentMethod: string; paymentType: string; gatewayResponse: string; paystackTransactionId: number; paystackAccessCode: string; authorizationUrl: string; metadata: { [key: string]: string; }; paidAt: Date | undefined; createdAt: Date | undefined; updatedAt: Date | undefined; nin: string; passport: string; } export interface Payment_MetadataEntry { key: string; value: string; } export interface InitializePaymentRequest { email: string; phone: string; customerName: string; amount: number; currency: string; callbackUrl: string; metadata: { [key: string]: string; }; channels: string[]; nin: string; passport: string; paymentType: string; } export interface InitializePaymentRequest_MetadataEntry { key: string; value: string; } export interface InitializePaymentResponse { reference: string; authorizationUrl: string; accessCode: string; } export interface VerifyPaymentResponse { reference: string; status: string; amount: number; currency: string; gatewayResponse: string; paidAt: Date | undefined; channel: string; customer: CustomerInfo | undefined; meta: { [key: string]: string; }; authorization: AuthorizationInfo | undefined; } export interface VerifyPaymentResponse_MetaEntry { key: string; value: string; } export interface CustomerInfo { id: number; fullName: string; email: string; customerCode: string; phone: string; } export interface AuthorizationInfo { authorizationCode: string; bin: string; last4: string; expMonth: string; expYear: string; channel: string; cardType: string; bank: string; countryCode: string; brand: string; reusable: boolean; } export interface ListPaymentsResponse { payments: Payment[]; metadata: Metadata | undefined; } export interface PaymentWebhookRequest { event: string; data: { [key: string]: any; } | undefined; } export interface PaymentStats { totalTransactions: number; successfulTransactions: number; totalAmount: number; } export declare const Payment: MessageFns<Payment>; export declare const Payment_MetadataEntry: MessageFns<Payment_MetadataEntry>; export declare const InitializePaymentRequest: MessageFns<InitializePaymentRequest>; export declare const InitializePaymentRequest_MetadataEntry: MessageFns<InitializePaymentRequest_MetadataEntry>; export declare const InitializePaymentResponse: MessageFns<InitializePaymentResponse>; export declare const VerifyPaymentResponse: MessageFns<VerifyPaymentResponse>; export declare const VerifyPaymentResponse_MetaEntry: MessageFns<VerifyPaymentResponse_MetaEntry>; export declare const CustomerInfo: MessageFns<CustomerInfo>; export declare const AuthorizationInfo: MessageFns<AuthorizationInfo>; export declare const ListPaymentsResponse: MessageFns<ListPaymentsResponse>; export declare const PaymentWebhookRequest: MessageFns<PaymentWebhookRequest>; export declare const PaymentStats: MessageFns<PaymentStats>; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]>; } : Partial<T>; type KeysOfUnion<T> = T extends T ? keyof T : never; export type Exact<P, I extends P> = P extends Builtin ? P : P & { [K in keyof P]: Exact<P[K], I[K]>; } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never; }; export interface MessageFns<T> { encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; fromJSON(object: any): T; toJSON(message: T): unknown; create<I extends Exact<DeepPartial<T>, I>>(base?: I): T; fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T; } export {};