@mercadopago/sdk-react
Version:
Mercado Pago SDK React
855 lines (854 loc) • 35 kB
TypeScript
import { ICardPaymentBrickPayer, ICardPaymentBrickVisual, ICardPaymentFormData } from '../cardPayment/type';
import { IBrickStyle, IBrickCustomVariables, IBrickError, IPayerIdentification, IBrickVisual } from '../util/types/common';
export type BricksBuilderType = {
create: (param: string, param2: string, settings: {}) => void;
};
export type InstanceMercadoPagoType = {
bricks: () => BricksBuilderType;
};
export type TPaymentType = {
onSubmit: (param: IPaymentFormData, param2?: IAdditionalCardFormData | null) => Promise<unknown>;
onReady?: () => void;
onError?: (param: IBrickError) => void;
onBinChange?: (param: string) => void;
onClickEditShippingData?: () => void;
onClickEditBillingData?: () => void;
onRenderNextStep?: (currentStep: string) => void;
onRenderPreviousStep?: (currentStep: string) => void;
/**
* Required. Object containing initialization options.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/default-rendering Payment Brick} documentation.
*/
initialization: {
/**
* Required. Total amount to be paid by all means of payment with exception of Mercado Pago Wallet, which has its processing value determined in backend through the "preferenceId".
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/default-rendering Payment Brick} documentation.
*/
amount: number;
/**
* Optional. Payer data that can start already filled in.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/initialize-data-on-the-bricks Payment Brick} documentation.
*/
payer?: IPaymentBrickPayer;
/**
* Optional. Automatically unique ID generated in backend that identifies the preference. For example: 036151801-2484cd71-7140-4c51-985a-d4cfcf133baf
*
* @see {@link https://www.mercadopago.com/developers/en/reference/preferences/_checkout_preferences/post Create preference} documentation.
*/
preferenceId?: string;
/**
* Optional. Required only for review step. Defines the ordered items.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization} documentation.
*/
items?: IReviewConfirmItems;
/**
* Optional. Defines shipping data for review step.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization} documentation.
*/
shipping?: IReviewConfirmShipping;
/**
* Optional. Defines billing data for review step.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization} documentation.
*/
billing?: IReviewConfirmBilling;
/**
* Optional. Defines applied discounts data for review step.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization} documentation.
*/
discounts?: IReviewConfirmDiscounts;
/**
* Optional. This parameter enables the use of Wallet Brick in Marketplace mode
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/payment-submission/wallet-credits Mercado Pago Wallet and Installments without card} documentation.
*/
marketplace?: boolean;
};
/**
* Required. An object containing customization brick options.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/default-rendering Payment Brick} documentation.
*/
customization: IPaymentBrickCustomization;
/**
* Optional. Language selection for the Brick, options are:
* {pt, es, es-AR, es-MX, es-UY, es-PE, es-CL, es-CO, en}
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/additional-content/select-language General Customizations # Select Language} documentation.
*/
locale?: string;
/**
* Optional. Container ID where the Brick will be rendered. Default: 'paymentBrick_container'
*/
id?: string;
};
export interface IReviewConfirmItems {
/**
* Required. Sum of the values of all ordered items.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization} documentation.
*/
totalItemsAmount: number;
/**
* Required. Array with the ordered items.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization} documentation.
*/
itemsList: IListItems[];
}
export interface IListItems {
/**
* Required. Quantity of a given item.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization Items} documentation.
*/
units: number;
/**
* Required. Value per a given item.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization Items} documentation.
*/
value: number;
/**
* Required. Item name.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization Items} documentation.
*/
name: string;
/**
* Optional. Item description.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization Items} documentation.
*/
description?: string;
/**
* Optional. Item image.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization Items} documentation.
*/
imageURL?: string;
}
export interface IReviewConfirmShipping {
/**
* Optional. The shipping cost.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization Shipping} documentation.
*/
costs?: number;
/**
* Required. The type of shipping.
*
* @example shippingMode: 'Express'
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization Shipping} documentation.
*/
shippingMode: string;
/**
* Optional. Shipping description.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization Shipping} documentation.
*/
description?: string;
/**
* Required. Shipping address.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization Shipping} documentation.
*/
receiverAddress: IDefaultAddress;
}
export interface IDefaultAddress {
/**
* Required. Payer street name that can start already filled in.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/initialize-data-on-the-bricks Payer data} documentation.
*/
streetName: string;
/**
* Required. Payer street number that can start already filled in.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/initialize-data-on-the-bricks Payer data} documentation.
*/
streetNumber: string;
/**
* Optional. Payer neighborhood that can start already filled in.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/initialize-data-on-the-bricks Payer data} documentation.
*/
neighborhood?: string;
/**
* Optional. Payer city that can start already filled in.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/initialize-data-on-the-bricks Payer data} documentation.
*/
city?: string;
/**
* Optional. Payer state address that can start already filled in.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/initialize-data-on-the-bricks Payer data} documentation.
*/
federalUnit?: string;
/**
* Required. Payer zip code that can start already filled in.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/initialize-data-on-the-bricks Payer data} documentation.
*/
zipCode: string;
/**
* Optional. Note message regarding shipping address.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/initialize-data-on-the-bricks Payer data} documentation.
*/
additionalInformation?: string;
}
export interface IReviewConfirmBilling {
/**
* Optional. The first name under which the payment should be issued.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization Billing} documentation.
*/
firstName?: string;
/**
* Optional. The last name under which the payment should be issued.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization Billing} documentation.
*/
lastName?: string;
/**
* Optional. The tax regime.
*
* @example taxRegime?: 'Simplified Trust Regime'
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization Billing} documentation.
*/
taxRegime?: string;
/**
* Required. The tax identification number.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization Billing} documentation.
*/
taxIdentificationNumber: string;
/**
* Optional. Defines payer identification.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization Billing} documentation.
*/
identification?: IPayerIdentification;
/**
* Optional. The payer's address under which the payment should be issued.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization Billing} documentation.
*/
billingAddress?: IDefaultAddress;
}
export interface IReviewConfirmDiscounts {
/**
* Required. Sum of the values of all applied discounts .
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization Discounts} documentation.
*/
totalDiscountsAmount: number;
/**
* Required. The payer's address under which the payment should be issued.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization Discounts} documentation.
*/
discountsList: IDiscountsList[];
}
export interface IDiscountsList {
/**
* Required. Discount name.
*
* @example name: 'BLACKFRIDAY10'
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization Discounts} documentation.
*/
name: string;
/**
* Required. Discount value.
*
* @example value: 10
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#initialization Initialization Discounts} documentation.
*/
value: number;
}
export interface IPaymentFormData {
/**
* Required. Payment type returned at onSubmit.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/payment-submission/other-payment-methods Returned data} documentation.
*/
paymentType: TPaymentBrickPaymentType;
/**
* Required. Selected payment method returned at onSubmit.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/payment-submission/other-payment-methods Returned data} documentation.
*/
selectedPaymentMethod: TPaymentBrickPaymentType;
/**
* Required. Information returned at onSubmit.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/payment-submission/other-payment-methods Returned data} documentation.
*/
formData: ICardPaymentFormData<ICardPaymentBrickPayer> & ICardPaymentFormData<ISavedCardPayer> & TicketFormData & IFormDataAdditionalInfo;
/**
* Optional. Bin of the card entered by the user.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/additional-data Payment Brick # Additional Settings # Data customization} documentation.
*/
additionalData?: IAdditionalData | IAdditionalCardFormData;
}
export interface ISavedCardPayer {
/**
* Required. Saved cards type.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/customers-cards Payment Brick} documentation.
*/
type: string;
/**
* Required. Saved cards id.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/customers-cards Payment Brick} documentation.
*/
id: string;
}
export interface TransactionDetails {
/**
* Required. Financial institution.
*/
financial_institution: string;
}
export interface Metadata {
/**
* Optional. Payment point is useful to show the buyer where to pay.
*/
payment_point?: string;
/**
* Optional. Payment mode is useful to show the buyer where and how to pay.
*/
payment_mode?: string;
}
export interface TicketFormData {
/**
* Required. Ticket transaction amount.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Data customization} documentation.
*/
transaction_amount: number;
/**
* Required. Ticket payment method id.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Data customization} documentation.
*/
payment_method_id: string;
/**
* Required. Ticket payer data.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Data customization} documentation.
*/
payer: IPayerAPI;
/**
* Optional. Transaction details is returned for PSE payment method only (Colombia)
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md} documentation.
*/
transaction_details?: TransactionDetails;
/**
* Optional. Payment useful metadata.
*/
metadata?: Metadata;
}
export type IFormDataAdditionalInfo = {
/**
* Optional. Additional information returned at onSubmit.
*
*/
additional_info?: IAdditionalInfo;
};
export interface IAdditionalInfo {
/**
* Optional. Items information returned at onSubmit.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#callbacks Callbacks} documentation.
*/
items?: IAdditionalInfoItems[];
/**
* Optional. Shipments information returned at onSubmit.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#callbacks Callbacks} documentation.
*/
shipments?: IAdditionalInfoShipments;
}
export interface IAdditionalInfoItems {
/**
* Required. Item price returned at onSubmit.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#callbacks Callbacks} documentation.
*/
unit_price: number;
/**
* Required. Item quantity returned at onSubmit.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#callbacks Callbacks} documentation.
*/
quantity: number;
/**
* Required. Item title returned at onSubmit.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#callbacks Callbacks} documentation.
*/
title: string;
/**
* Optional. Item description returned at onSubmit.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#callbacks Callbacks} documentation.
*/
description?: string;
/**
* Optional. Item url image returned at onSubmit.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#callbacks Callbacks} documentation.
*/
picture_url?: string;
}
export interface IAdditionalInfoShipments {
/**
* Required. Receiver address returned at onSubmit.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#callbacks Callbacks} documentation.
*/
receiver_address: {
/**
* Required. Zip code returned at onSubmit.
*
*/
zip_code?: string;
/**
* Optional. State name returned at onSubmit.
*
*/
state_name?: string;
/**
* Optional. City name returned at onSubmit.
*
*/
city_name?: string;
/**
* Required. Street name returned at onSubmit.
*
*/
street_name?: string;
/**
* Required. Street number returned at onSubmit.
*
*/
street_number?: number;
/**
* Optional. Apartment returned at onSubmit.
*
*/
apartment?: string;
};
}
export interface IPaymentBrickCustomization {
/**
* Optional. Control visual aspects of brick.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Data customization} documentation.
*/
visual?: TPaymentBrickVisual;
/**
* Required. Object that allow payment methods configuration.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Data customization} documentation.
*/
paymentMethods: TPaymentBrickPaymentMethods;
/**
* Optional. Enable review and confirm feature.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#full-example-with-review-and-confirmation-steps} documentation.
*/
enableReviewStep?: boolean;
/**
* Optional. Object that organizes review and confirm visual elements.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/paymentReview.md#full-example-with-review-and-confirmation-steps} documentation.
*/
reviewCardsOrder?: string[];
}
type TPaymentBrickVisual = IPaymentBrickBaseVisual & IPaymentBrickVisual;
/**
* Control the visual aspects of the brick.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Data customization} documentation.
*/
export interface IPaymentBrickBaseVisual extends IBrickVisual<IPaymentBrickCustomizableTexts, IPaymentBrickStyle>, ICardPaymentBrickVisual {
}
export interface IPaymentBrickVisual {
/**
* Optional. Hide redirection form.
*
*/
hideRedirectionPanel?: boolean;
/**
* Optional. Maintaining saved cards order established in the property initialization.payer.cardsIds.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Data customization} documentation.
*/
preserveSavedCardsOrder?: boolean;
/**
* Optional. Define a single payment method as default, so the form will load with this option already selected.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Data customization} documentation.
*/
defaultPaymentOption?: {
/**
* Optional. Form loads with credit card selected
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Data customization} documentation.
*/
creditCardForm?: boolean;
/**
* Optional. Form loads with debit card selected
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Data customization} documentation.
*/
debitCardForm?: boolean;
/**
* Optional. Form loads with saved card
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Data customization} documentation.
*/
savedCardForm?: string;
/**
* Optional. Form loads with ticket selected
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Data customization} documentation.
*/
ticketForm?: boolean;
/**
* Optional. Form loads bank transfer selected
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Data customization} documentation.
*/
bankTransferForm?: boolean;
/**
* Optional. Form loads with Mercado Pago Wallet selected.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Data customization} documentation.
*/
walletForm?: boolean;
/**
* Optional. Form loads with Mercado Pago Credits selected.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Data customization} documentation.
*/
creditForm?: boolean;
};
}
/**
* Required. Configuration of which payment methods will be accepted
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/manage-payment-methods Payment} documentation.
*/
type TPaymentBrickPaymentMethods = IPaymentBrickPaymentMethods & ({
creditCard: AllOrArray;
} | {
debitCard: AllOrArray;
} | {
ticket: AllOrArray;
} | {
bankTransfer: AllOrArray;
} | {
atm: AllOrArray;
} | {
mercadoPago: AllOrArray;
} | {
prepaidCard: AllOrArray;
});
type AllOrArray = 'all' | string[];
export interface IPaymentBrickPaymentMethods {
/**
* Optional. Customizable maximum number of installments to be offered to the user.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Data customization} documentation.
*/
maxInstallments?: number;
/**
* Optional. Customizable minimum number of installments to be offered to the user.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Data customization} documentation.
*/
minInstallments?: number;
/**
* Optional. Define which payment methods will be accepted or not.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Data customization} documentation.
*/
types?: {
/**
* Optional. Define which payment methods will not be accepted.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Data customization} documentation.
*/
excluded?: TPaymentBrickPaymentType[];
/**
* Optional. Define which payment methods will be accepted.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Data customization} documentation.
*/
included?: TPaymentBrickPaymentType[];
};
}
export interface ILabelPlaceholder {
/**
* Optional. Define custom label text.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Text customization} documentation.
*/
label?: string;
/**
* Optional. Define custom placeholder text.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Text customization} documentation.
*/
placeholder?: string;
}
export interface IPaymentBrickCustomizableTexts {
/**
* Optional. Custom payer label or placeholder first name.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Text customization} documentation.
*/
payerFirstName?: ILabelPlaceholder;
/**
* Optional. Custom payer label or placeholder last name.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Text customization} documentation.
*/
payerLastName?: ILabelPlaceholder;
/**
* Optional. Custom payer label or placeholder zip code.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Text customization} documentation.
*/
zipCode?: ILabelPlaceholder;
/**
* Optional. Custom payer label or placeholder state.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Text customization} documentation.
*/
addressState?: ILabelPlaceholder;
/**
* Optional. Custom payer label or placeholder address city.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Text customization} documentation.
*/
addressCity?: ILabelPlaceholder;
/**
* Optional. Custom payer label or placeholder address neighborhood.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Text customization} documentation.
*/
addressNeighborhood?: ILabelPlaceholder;
/**
* Optional. Custom payer label or placeholder address street.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Text customization} documentation.
*/
addressStreet?: ILabelPlaceholder;
/**
* Optional. Custom payer label or placeholder address number.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Text customization} documentation.
*/
addressNumber?: {
label?: string;
};
/**
* Optional. Custom payer label or placeholder address complement.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Text customization} documentation.
*/
addressComplement?: {
label?: string;
};
}
export type IPaymentBrickStyle = IBrickStyle<IPaymentBrickCustomVariables>;
export interface IPaymentBrickCustomVariables extends IBrickCustomVariables {
/**
* Optional. Custom variable
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Text customization} documentation.
*/
secondaryColor?: string;
/**
* Optional. Custom variable
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md Text customization} documentation.
*/
secondaryColorListItem?: string;
}
type EntityType = 'individual' | 'association';
export interface IPaymentBrickPayer extends ICardPaymentBrickPayer {
/**
* Optional. Payer first name that can start already filled in.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/initialize-data-on-the-bricks Payer data} documentation.
*/
firstName?: string;
/**
* Optional. Payer last name that can start already filled in.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/initialize-data-on-the-bricks Payer data} documentation.
*/
lastName?: string;
/**
* Optional. Payer entity type, useful only for PSE payment method (Colombia).
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/initialize-data-on-the-bricks Payer data} documentation.
*/
entityType?: EntityType;
/**
* Optional. Payer data that can start already filled in.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/initialize-data-on-the-bricks Payer data} documentation.
*/
address?: IAddress;
/**
* Optional. Necessary payer data to display saved cards of a given buyer.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/customers-cards Payer data} documentation.
*/
customerId?: string;
/**
* Optional. Necessary payer data to display saved cards of a given buyer.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/customers-cards Payer data} documentation.
*/
cardsIds?: string[];
}
export interface IAddress extends Partial<IDefaultAddress> {
/**
* Optional. Payer complement that can start already filled in.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/initialize-data-on-the-bricks Payer data} documentation.
*/
complement?: string;
}
/**
* Required. Payment types.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/payment-submission/cards Cards type documentation}
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/payment-submission/wallet-credits Mercado Pago Wallet and Installments without card documentation},
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/payment-submission/pix Pix documentation}
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/payment-submission/other-payment-methods Other payment methods documentation}.
*/
type TPaymentBrickPaymentType = 'atm' | 'ticket' | 'bank_transfer' | 'creditCard' | 'prepaidCard' | 'debitCard' | 'wallet_purchase' | 'onboarding_credits';
export interface IPayerAPI {
/**
* Required. Email of associated payer.
*
* @see {@link https://www.mercadopago.com/developers/en/reference/payments/_payments/post Payer data} documentation.
*/
email: string;
/**
* Required. Personal identification of associated payer. Contains keys type and number.
*
* @see {@link https://www.mercadopago.com/developers/en/reference/payments/_payments/post Payer data} documentation.
*/
identification: IPayerIdentification;
/**
* Required. First name of associated payer.
*
* @see {@link https://www.mercadopago.com/developers/en/reference/payments/_payments/post Payer data} documentation.
*/
first_name: string;
/**
* Required. Last name of associated payer.
*
* @see {@link https://www.mercadopago.com/developers/en/reference/payments/_payments/post Payer data} documentation.
*/
last_name: string;
/**
* Required. Address of associated payer.
*
* @see {@link https://www.mercadopago.com/developers/en/reference/payments/_payments/post Payer data} documentation.
*/
address: IPayerAddressAPI;
/**
* Optional. Entity type is returned for PSE payment method only (Colombia).
*
* @see {@link https://www.mercadopago.com/developers/en/reference/payments/_payments/post Payer data} documentation.
*/
entity_type?: EntityType;
}
export interface IPayerAddressAPI {
/**
* Required. Zip code of associated payer.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/initialize-data-on-the-bricks Payer data} documentation.
*/
zip_code: string;
/**
* Required. Federal unit of associated payer.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/initialize-data-on-the-bricks Payer data} documentation.
*/
federal_unit: string;
/**
* Required. City of associated payer.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/initialize-data-on-the-bricks Payer data} documentation.
*/
city: string;
/**
* Required. Neighborhood code of associated payer.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/initialize-data-on-the-bricks Payer data} documentation.
*/
neighborhood: string;
/**
* Required. Street name code of associated payer.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/initialize-data-on-the-bricks Payer data} documentation.
*/
street_name: string;
/**
* Required. Street number code of associated payer.
*
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/advanced-features/initialize-data-on-the-bricks Payer data} documentation.
*/
street_number: string;
}
export interface IAdditionalData {
/**
* Required. Bin of card entered by user.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md#brick-controllergetadditionaldata AdditionalData } documentation.
*/
bin: string;
/**
* Required. Last four digits of card entered by user.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md#brick-controllergetadditionaldata AdditionalData } documentation.
*/
lastFourDigits: string;
}
export interface IAdditionalCardFormData extends IAdditionalData {
/**
* Optional. Cardholder name of card entered by user.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md#brick-controllergetadditionaldata AdditionalData } documentation.
*/
cardholderName?: string;
/**
* Optional. Payment Type Id associated with the payment method.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/docs/bricks/payment.md#brick-controllergetadditionaldata AdditionalData } documentation.
*/
paymentTypeId?: string;
}
export {};