Inicio
DocumentaciĂłn
Recursos
Partners
Comunidad

Recursos

Revisa las actualizaciones de nuestras soluciones y operatividad del sistema o pide soporte técnico.

Partners

Conoce nuestro programa para agencias o desarrolladores que ofrecen servicios de integraciĂłn y vendedores que quieren contratarlos.

Comunidad

Recibe las Ășltimas novedades, pide ayuda a otros integradores y comparte tus conocimientos.

Cobros online
Cobros presenciales
Herramientas y recursos
APIs y SDKS
Open Finance - ConfiguraciĂłn de la integraciĂłn - Mercado Pago Developers

Open Finance

Open Finance es un nuevo sistema financiero que te permite tener un dominio total de tus datos y mayor libertad con tus finanzas. Con él, es posible compartir historias financieras con otras instituciones para acceder a productos y servicios mås ventajosos.

Con Open Finance, se pueden hacer pagos Pix con saldos de otras cuentas bancarias, en Checkout Transparente.

Importante
Para usar esta funciĂłn, debes registrar una Clave Pix en tu cuenta de Mercado Pago. Si aĂșn no lo has hecho, haz clic aquĂ­ para obtener mĂĄs informaciĂłn sobre cĂłmo registrarse.

Crear un pago Pix

Para iniciar un pago utilizando Open Finance, debes tener configurado previamente el método de pago Pix. Para obtener instrucciones de configuración e integración, consulta la documentación.

Una vez que hayas configurado correctamente el método de pago, deberås agregar nueva información a la solicitud para crear el pago a través del paråmetro point_of_interaction, que indica el modo de financiación abierta. Esto es vålido tanto a través de la API como a través de nuestros SDK, como se muestra en los siguientes ejemplos:

          
    MercadoPago\SDK::setAccessToken("access_token");
    $payment = new MercadoPago\Payment();
    $payment->transaction_amount = 100;
    $payment->description = "TĂ­tulo do produto";
    $payment->payment_method_id = "pix";
    $payment->payer = array(
        "email" => "test@test.com",
        "first_name" => "Test",
        "last_name" => "User",
        "identification" => array(
            "type" => "CPF",
            "number" => "19119119100"
        ),
    );
    $payment->point_of_interaction = array(
    "linked_to" => "openfinance"
    );
    $payment->save();
    
        
          
    mercadopago.configurations.setAccessToken("access_token");
    var payment = {
        transaction_amount: 100,
        description: 'description',
        payment_method_id: 'pix',
        payer: {
            email: 'test@test.com'
        },
        point_of_interaction: {
            linked_to: "openfinance"
        }
    };
    mercadopago.payment.create(payment).then(function (data) {
        console.log(data.response);
    }).catch(function (error) {
        console.log(error);
    });
    
        
          
    MercadoPagoConfig.setAccessToken("access_token");
    PaymentClient client = new PaymentClient();

    PaymentCreateRequest createRequest =
    PaymentCreateRequest.builder()
        .transactionAmount(new BigDecimal(100))
        .description("description")
        .paymentMethodId("pix")
        .pointOfInteraction(
            PaymentPointOfInteractionRequest.builder().linkedTo("openfinance").build())
        .payer(PaymentPayerRequest.builder().email("test@test.com").build())
        .build();

    Payment payment = client.create(createRequest);
    
        
          
    sdk = Mercadopago::SDK.new('access_token')

    payment_request = {
        transaction_amount: 100,
        description: 'description',
        payment_method_id: 'pix',
        payer: {
            email: 'test@test.com'
        },
        point_of_interaction: {
            linked_to: "openfinance"
        }
    }
    payment_response = sdk.payment.create(payment_request)
    payment = payment_response[:response]
    
        
          
    MercadoPagoConfig.AccessToken = "access_token";

    var request = new PaymentCreateRequest
    {
        TransactionAmount = 100,
        Description = "description",
        PaymentMethodId = "pix",
        Payer = new PaymentPayerRequest
        {
            Email = "test@test.com"
        },
        PointOfInteraction = new PaymentPointOfInteractionRequest
        {
            LinkedTo = "openfinance"
        }
    };
    var client = new PaymentClient();
    Payment payment = await client.CreateAsync(request);
    
        
          
    sdk = mercadopago.SDK("access_token")

    payment_data = {
        "transaction_amount": 100,
        "description": "description",
        "payment_method_id": "pix",
        "payer": {
            "email": "test@test.com"
        },
        "point_of_interaction": {
            "linked_to": "openfinance"
        }
    }
    payment_response = sdk.payment().create(payment_data)
    payment = payment_response["response"]
    
        
          
    curl --location --request POST 'https://api.mercadopago.com/v1/payments' \
    --header 'Authorization: Bearer TOKEN' \
    --header 'Content-Type: application/json' \
    --data-raw '{
        "transaction_amount": 1000,
        "description": "Teste Pix Open Finance",
        "payment_method_id": "pix",
        "payer": {
            "email": "test_user_19734329@testuser.com"
        },
        "point_of_interaction": {
            "linked_to": "openfinance"
        },
        "callback_url": "https://example.com"
    }'
    
        
AtenciĂłn
Para este tipo de medio de pago, el nĂșmero de CPF es obligatorio. El parĂĄmetro callback_url tiene que ser la URL de la pantalla de feedback.

La respuesta de la solicitud serĂĄ muy similar a la respuesta de un pago con un Pix comĂșn, con algunas modificaciones:

  • El valor de openfinance en point_of_interaction.linked_to
  • Valor nulo en point_of_interaction.transaction_data.qr_code y point_of_interaction.transaction_data.qr_code_base64
  • Valor de point_of_interaction.transaction_data.ticket_url con URL a la aplicaciĂłn que finaliza el pago por Open Finance

Respuesta:

json

{
  "point_of_interaction": {
    "linked_to": "openfinance",
    "transaction_data": {
      "qr_code": null,
      "ticket_url": "https://mercadopago.com.br/payments/12/openfinance?caller_id=1&hash=1111",
      "qr_code_base64": null
    }
  }
}

Finalizar el pago

Con la respuesta de solicitud de creación de pago, simplemente usa la URL disponible en el objeto point_of_interaction.transaction_data.ticket_url para que el comprador pueda finalizar el pago a través de Open Finance.

Para esto, puedes redirigir al usuario a la URL directamente o presentar un botĂłn que redirija cuando se haga clic.

La imagen siguiente muestra un ejemplo de este proceso en la vista del usuario:

Payment flow sample

Prueba la integraciĂłn

Para probar la integraciĂłn, debes usar una credencial de prueba al crear un pago y tener un usuario de prueba con una Clave Pix registrada. Haz clic aquĂ­ para acceder a la documentaciĂłn y encontrar mĂĄs detalles sobre cĂłmo hacerlo.

Crea un pago de Pix Open Finance y utiliza la URL disponible en el atributo point_of_interaction.transaction_data.ticket_url para acceder a la pĂĄgina de redirecciĂłn.

json

{
  "point_of_interaction": {
    "linked_to": "openfinance",
    "transaction_data": {
      "qr_code": null,
      "ticket_url": "https://mercadopago.com.br/payments/12/openfinance?caller_id=1121&hash=11",
      "qr_code_base64": null
    }
  }
}

En esta pĂĄgina, tendrĂĄs acceso a la informaciĂłn de pago y tendrĂĄs la posibilidad de seleccionar solo el banco 370 - Mercado Pago - Pagos para continuar con la prueba.

Al seleccionar el banco indicado, serĂĄ posible confirmar el pago y finalmente, se producirĂĄ la redirecciĂłn a la pantalla de Feedback definida en el parĂĄmetro callback_url.