UNPKG

@vigilio/payments

Version:

Payments niubiz, paypal, etc.

432 lines (431 loc) 15 kB
export interface AccessTokenAPI { scope: string; access_token: string; token_type: string; app_id: string; expires_in: number; nonce: string; } export interface CreateOrderProps { intent: "CAPTURE" | "AUTHORIZE"; purchase_units: [ { amount: { currency_code: string; value: string; breakdown?: { item_total: { value: string; currency_code: string; }; shopping: { value: string; currency_code: string; }; handling: { value: string; currency_code: string; }; tax_total: { value: string; currency_code: string; }; insurance: { value: string; currency_code: string; }; shipping_discount: { value: string; currency_code: string; }; discount: { value: string; currency_code: string; }; }; }; reference_id?: string; description?: string; custom_id?: string; invoice_id?: string; soft_descriptor?: string; items?: { name: string; quantity: number; description?: string; sku?: string; url?: string; category?: string; image_url?: string; unit_amount: { value: string; currency_code: string; }; tax?: { value: string; currency_code: string; }; upc: { type: string; code: string; }; amount: { currency_code: string; value: string; breakdown?: { item_total: { value: string; currency_code: string; }; shopping: { value: string; currency_code: string; }; handling: { value: string; currency_code: string; }; tax_total: { value: string; currency_code: string; }; insurance: { value: string; currency_code: string; }; shipping_discount: { value: string; currency_code: string; }; discount: { value: string; currency_code: string; }; }; }; }[]; } ]; payeer?: { email_address?: string; merchant_id?: string; }; application_context: { brand_name?: string; landing_page?: string; shipping_preference?: "GET_FROM_FILE" | "NO_SHIPPING" | "SET_PROVIDED_ADDRESS"; user_action?: "CONTINUE" | "PAY_NOW"; return_url?: string; cancel_url?: string; locale?: string; payment_method?: { standard_entry_class_code?: "TEL" | "WEB" | "CCD" | "PPD"; payee_preferred?: "UNRESTRICTED" | "IMMEDIATE_PAYMENT_REQUIRED"; }; stored_payment_source?: { payment_initiator?: "CUSTOMER" | "MERCHANT"; payment_type?: "ONE_TIME" | "RECURRING" | "UNSCHEDULED"; usage?: "FIRST" | "SUBSEQUENT" | "DERIVED"; previous_network_transaction_reference?: object; }; }; } export type Network = "VISA" | "MASTERCARD" | "DISCOVER" | "AMEX" | "SOLO" | "JCB" | "STAR" | "DELTA" | "SWITCH" | "MAESTRO" | "CB_NATIONALE" | "CONFIGOCA" | "CONFIDIS" | "ELECTRON" | "CETELEM" | "CHINA_UNION_PAY" | "DINERS" | "ELO" | "HIPER" | "HIPERCARD" | "RUPAY" | "GE" | "SYNCHRONY" | "UNKNOWN"; export type ExperienceContext = { brand_name?: string; shipping_preference?: "GET_FROM_FILE" | "NO_SHIPPING" | "SET_PROVIDED_ADDRESS"; landing_page?: "LOGIN" | "GUEST_CHECKOUT" | "NO_PREFERENCE"; user_action?: "CONTINUE" | "PAY_NOW"; payment_method_preference?: "UNRESTRICTED" | "IMMEDIATE_PAYMENT_REQUIRED"; locale?: string; return_url?: string; cancel_url?: string; }; export interface UpdateOrderProps { op: "add" | "remove" | "replace" | "move" | "copy" | "test"; path?: string; value?: unknown; from?: string; } export interface ConfirmOrderProps { processing_instruction?: "ORDER_COMPLETE_ON_PAYMENT_APPROVAL" | "NO_INSTRUCTION"; application_context: { brand_name?: string; return_url?: string; cancel_url?: string; locale?: string; stored_payment_source?: { payment_initiador: "CUSTOMER" | "MERCHANT"; payment_type: "ONE_TIME" | "RECURRING" | "UNSCHEDULED"; usage?: string; previous_network_transaction_reference?: { id: string; date?: string; acquirer_reference_number: string; network?: Network; }; }; }; payment_source: { card?: { name?: string; number?: string; security_code?: string; expiry?: string; billing_address?: { address_line_1?: string; address_line_2?: string; admin_area_1?: string; admin_area_2?: string; postal_code?: string; country_code: string; }; attributes?: { customer?: { id: string; email_address: string; phone: { phone_type?: "FAX" | "HOME" | "MOBILE" | "PAGER" | "OTHER"; phone_number: { national_number: string; }; }; vault?: { store_in_vault: string; }; verification?: { method?: "SCA_ALWAYS" | "SCA_WHEN_REQUIRED" | "3D_SECURE" | "AVS_CVV"; }; }; }; stored_credential?: { payment_intiiador: "CUSTOMER" | "MERCHANT"; payment_type: "ONE_TIME" | "RECURRING" | "UNSCHEDULED"; usage?: "FIRST" | "SUBSEQUIENT"; previous_network_transaction_reference?: { id: string; date?: string; acquirer_reference_number?: string; network?: Network; }; }; vault_id?: string; network_token?: { number: string; cryptogram?: string; token_requestor_id?: string; expiry: string; eci_flag?: "MASTERCARD_NON_3D_SECURE_TRANSACTION" | "MASTERCARD_ATTEMPTED_AUTHENTICATION_TRANSACTION" | "MASTERCARD_ATTEMPTED_AUTHENTICATION_TRANSACTION" | "FULLY_AUTHENTICATED_TRANSACTION" | "ATTEMPTED_AUTHENTICATION_TRANSACTION" | "NON_3D_SECURE_TRANSACTION"; }; experience_context?: { return_url?: string; cancel_url?: string; }; }; token?: { id: string; type: "BILLING_AGREEMENT"; }; paypal?: { experience_context?: ExperienceContext; billing_agreement_id?: string; vault_id: string; email_address: string; name: { given_name?: string; surname?: string; }; phone?: { phone_type?: "FAX" | "HOME" | "MOBILE" | "OTHER"; phone_number: { national_number: string; }; }; birth_date?: string; tax_info?: { tax_id: string; tax_id_type: "BR_CPF" | "BR_CNPJ"; }; address?: object; attributes: object; }; bankcontact?: { name: string; country_code: string; experience_context?: string; }; blik?: { name: string; country_code: string; email?: string; experience_context?: { brand_name?: string; shipping_preference?: "GET_FROM_FILE" | "NO_SHIPPING" | "SET_PROVIDED_ADDRESS"; locale?: string; return_url?: string; cancel_url?: string; }; level_0?: { auth_code: string; }; one_click: { auth_code?: string; customer_reference: string; alias_label?: string; alias_key?: string; }; }; eps?: { name: string; country_code: string; bic?: string; experience_context?: ExperienceContext; }; mybank?: { name: string; country_code: string; experience_context?: ExperienceContext; }; p24?: { name: string; email: string; country_code: string; experience_context?: ExperienceContext; }; sofort?: { name: string; country_code: string; experience_context?: ExperienceContext; }; apple_pay?: { id?: string; stored_credential?: object; name?: string; email_address?: string; phone_number?: object; decrypted_token?: object; vault_id?: string; }; venmo?: { experience_context?: ExperienceContext; vault_id?: string; email_address?: string; attributes?: object; }; }; } export interface CaptureOrderProps { payment_source: { card?: { name?: string; number?: string; security_code?: string; expiry?: string; billing_address?: { address_line_1?: string; address_line_2?: string; admin_area_1?: string; admin_area_2?: string; postal_code?: string; country_code: string; }; attributes?: { customer?: { id: string; email_address: string; phone: { phone_type?: "FAX" | "HOME" | "MOBILE" | "PAGER" | "OTHER"; phone_number: { national_number: string; }; }; vault?: { store_in_vault: string; }; verification?: { method?: "SCA_ALWAYS" | "SCA_WHEN_REQUIRED" | "3D_SECURE" | "AVS_CVV"; }; }; }; stored_credential?: { payment_intiiador: "CUSTOMER" | "MERCHANT"; payment_type: "ONE_TIME" | "RECURRING" | "UNSCHEDULED"; usage?: "FIRST" | "SUBSEQUIENT"; previous_network_transaction_reference?: { id: string; date?: string; acquirer_reference_number?: string; network?: Network; }; }; vault_id?: string; network_token?: { number: string; cryptogram?: string; token_requestor_id?: string; expiry: string; eci_flag?: "MASTERCARD_NON_3D_SECURE_TRANSACTION" | "MASTERCARD_ATTEMPTED_AUTHENTICATION_TRANSACTION" | "MASTERCARD_ATTEMPTED_AUTHENTICATION_TRANSACTION" | "FULLY_AUTHENTICATED_TRANSACTION" | "ATTEMPTED_AUTHENTICATION_TRANSACTION" | "NON_3D_SECURE_TRANSACTION"; }; experience_context?: { return_url?: string; cancel_url?: string; }; }; token?: { id: string; type: "BILLING_AGREEMENT"; }; paypal?: { experience_context?: ExperienceContext; billing_agreement_id?: string; vault_id: string; email_address: string; name: { given_name?: string; surname?: string; }; phone?: { phone_type?: "FAX" | "HOME" | "MOBILE" | "OTHER"; phone_number: { national_number: string; }; }; birth_date?: string; tax_info?: { tax_id: string; tax_id_type: "BR_CPF" | "BR_CNPJ"; }; address?: object; attributes: object; }; apple_pay?: { id?: string; stored_credential?: object; name?: string; email_address?: string; phone_number?: object; decrypted_token?: object; vault_id?: string; }; venmo?: { experience_context?: ExperienceContext; vault_id?: string; email_address?: string; attributes?: object; }; }; } declare function usePaypal(authProps: { client_id: string; secret_key: string; sandbox: string; }): { accessToken: () => Promise<string>; createOrder: (props: CreateOrderProps) => Promise<any>; showOrder: (id: string) => Promise<any>; confirmOrder: (id: string, props?: ConfirmOrderProps) => Promise<any>; authorizeOrder: (id: string, props?: object) => Promise<any>; updateOrder: (id: string, props?: UpdateOrderProps[]) => Promise<any>; captureOrder: (id: string, props?: CaptureOrderProps) => Promise<any>; }; export default usePaypal;