Skip to content

Commit

Permalink
Feature/3ds pse (#59)
Browse files Browse the repository at this point in the history
* added 3ds additional data

* fix typo

* added entity type

* added transaction details

* added missing metadata prop

* added jsdocs links
  • Loading branch information
AleFossati authored Jun 21, 2023
1 parent 226ca6e commit 3ac3719
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 1 deletion.
40 changes: 40 additions & 0 deletions src/bricks/payment/type.ts
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,22 @@ interface ISavedCardPayer {
id: string;
}

interface TransactionDetails {
/** Non-option. Financial institution */
financial_institution: string;
}

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;
}

interface TicketFormData {
/**
* Non-optional. Ticket transaction amount.
Expand All @@ -127,6 +143,16 @@ interface TicketFormData {
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/API/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/API/bricks/payment.md} documentation.
*/
transaction_details?: TransactionDetails
/**
* Optional. Payment useful metadata.
*/
metadata?: Metadata;
}

interface IPaymentBrickCustomization {
Expand Down Expand Up @@ -357,6 +383,8 @@ interface IPaymentBrickCustomVariables extends IBrickCustomVariables {
secondaryColor?: string;
}

type EntityType = 'individual' | 'association';

interface IPaymentBrickPayer extends ICardPaymentBrickPayer {
/**
* Optional. Payer first name that can start already filled in.
Expand All @@ -370,6 +398,12 @@ interface IPaymentBrickPayer extends ICardPaymentBrickPayer {
* @see {@link https://www.mercadopago.com/developers/en/docs/checkout-bricks/payment-brick/additional-customization/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/additional-customization/initialize-data-on-the-bricks Payer data} documentation.
*/
entityType?: EntityType;
/**
* Optional. Payer data that can start already filled in.
*
Expand Down Expand Up @@ -483,6 +517,12 @@ interface IPayerAPI {
* @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;
}

interface IPayerAddressAPI {
Expand Down
15 changes: 14 additions & 1 deletion src/bricks/statusScreen/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,26 @@ export interface IStatusScreenBrickSettings extends IStatusScreenBrickCallbacks
locale?: 'es-AR' | 'es-CL' | 'es-CO' | 'es-MX' | 'es-VE' | 'es-UY' | 'es-PE' | 'pt-BR' | 'en-US';
}

interface AdditionalData {
/** Non-optional. Challenge URL to redirect the buyer. */
externalResourceUrl: string;
/** Non-optional. Challenge request ID. */
creq: string;
}

interface IStatusScreenBrickInitialization {
/**
* Non-optional. The ID of the payment generated via Mercado Pago.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/API/bricks/status-screen.md#initialization Data inicialization} documentation.
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/API/bricks/status-screen.md#initialization Data initialization} documentation.
*/
paymentId: string;
/**
* Optional. Three DS information.
*
* @see {@link https://github.com/mercadopago/sdk-js/blob/main/API/bricks/status-screen.md#initialization Data initialization} documentation.
*/
additionalData?: AdditionalData;
}

interface IStatusScreenBrickCallbacks extends IBrickCallbacks {}
Expand Down

0 comments on commit 3ac3719

Please sign in to comment.