@vigilio/payments
Version:
Payments niubiz, paypal, etc.
212 lines (211 loc) • 5.14 kB
TypeScript
export interface NiubizOrderCreditCard {
channel: string;
captureType: string;
countable: boolean;
order: {
purchaseNumber: string;
amount: number;
currency: string;
externalTransactionId?: string;
tokenId?: string;
installment?: number;
};
card: {
cardNumber: string;
expirationMonth: number;
expirationYear: number;
cvv2: string;
tokenId?: string;
};
cardHolder?: {
firstName: string;
lastName: string;
email: string;
};
athentication?: {
eci: string;
xid: string;
cavv: string;
};
currencyConversion?: {
accepted: boolean;
eligibilityCode: string;
currencyCode: string;
currencyCodeAlpha: string;
amount: number;
exponent: number;
exchangeRate: number;
wholeSaleRate: number;
markup: number;
rateSource: string;
rateDate: string;
rateTime: string;
status: string;
signature: string;
};
sponsored?: {
merchantId: string;
name: string;
address: string;
phoneNumber: string;
mcci: string;
};
}
export interface NiubizYape {
phoneNumber: string;
otp: string;
}
export interface NiubizOrderYape {
channel: string;
captureType: string;
countable: boolean;
order: {
purchaseNumber: string;
amount: number;
currency: string;
};
yape: {
phoneNumber: string;
otp: string;
};
sponsorder?: {
ruc: string;
merchantId: string;
name: string;
address: string;
phoneNumber: string;
mcci: string;
};
}
export interface NiubizAntifraude {
channel: string;
clientIp?: string;
deviceFingerprintId?: string;
merchantDefineData: Record<string, any>;
billingAddress?: {
street1: string;
street2?: string;
postalCode: number;
city: string;
state: string;
country: string;
};
shippingAddress?: {
street1: string;
street2?: string;
postalCode: number;
city: string;
state: string;
country: string;
};
order: {
purchaseNumber: string;
amount: number;
currency: string;
};
card: {
cardNumber: string;
expirationMonth: number;
expirationYear: number;
cvv2?: string;
};
cardHolder: {
firstName: string;
lastName: string;
email: string;
phoneNumber?: string;
};
currencyConversion?: {
accepted: true;
eligibilityCode: string;
currencyCode: string;
currencyCodeAlpha: string;
amount: number;
exponent: number;
exchangeRate: number;
wholeSaleRate: number;
markup: number;
rateSource: string;
rateDate: string;
rateTime: string;
status: string;
signature: string;
};
trip?: {
route: string;
type: string;
depart: string;
};
passengers?: [
{
sku: string;
product: string;
email: string;
firstname: string;
lastname: string;
code: string;
phone: string;
status: string;
type: string;
price: number;
}
];
}
export interface NiubizOrderPagoEfectivo {
channel: string;
email: string;
firstName: string;
amount: number;
externalTransactionId: string;
}
export interface NiubizOrderCallbackPagoEfectivo {
operationNumber: string;
cip: number;
status: string;
amount: number;
}
export interface NiubizOrderConfirmation {
channel: string;
captureType: string;
order: {
purchaseNumber: string;
amount: number;
currency: string;
transactionId: string;
};
sponsored?: {
merchantId: string;
name: string;
mcci: string;
address: string;
phoneNumber: string;
};
}
declare function useNiubiz(auth: {
user: string;
password: string;
merchantId: string;
sandbox: string;
}): {
onAuthorization: (order: NiubizOrderCreditCard) => Promise<any>;
onYape: (order: NiubizOrderYape) => Promise<any>;
onConsultaBin: (bin: string) => Promise<any>;
onElegibilidadDCC: (body: {
card: {
binNumber: string;
last4Digits: string;
};
order: {
currency: string;
amount: number;
};
}) => Promise<any>;
onPagoEfectivo: (order: NiubizOrderPagoEfectivo) => Promise<any>;
onCallBackPagoEfectivo: (order: NiubizOrderCallbackPagoEfectivo) => Promise<any>;
onAnulacion: (signature: number) => Promise<any>;
onConfirmacion: (order: NiubizOrderConfirmation) => Promise<any>;
onAntifraude: (body: NiubizAntifraude) => Promise<any>;
onCertificadoApp: () => Promise<any>;
getIp: () => Promise<string>;
};
export default useNiubiz;