Ir para conteúdo

Recommended Posts

Que a força esteja com você!

TEMA DE HOJE:
Implementação de pagamento de loja virtual em MVC.


1º Consegui fazer acesso a api e enviar os dados, e salvar tudo.

2º Sem erro na tela nem no console. codigo 200 de resposta.

3º var_dump todos os dados obtidos com sucesso.

Mas preciso pegar um parametro desse objeto para manipular com a programação de outra pessoa.
Por isso o TITULO do POST.

Vejo, mas não consigo pegar!

CODIGO:
 

<!DOCTYPE html>
<html>
  <head>
    <meta charset=UTF-8>
    <title>Pagamento</title>
    <script src="https://sdk.mercadopago.com/js/v2"></script>
  </head>
  <body>
<?php
    require_once '../vendor/autoload.php';
    MercadoPago\SDK::setAccessToken("APP_USR-9xxxxxxxxxxxx-04xxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxx-2xxxxx416"); 
    $preference = new MercadoPago\Preference();

    // Cria um item na preferência
    $item = new MercadoPago\Item();
    $item->title = 'Meu produto';
    $item->quantity = 1;
    $item->unit_price = 145.00;
    $preference->items = array($item);
    $preference->save();
  ?>
  </body>
</html>

Usando var_dump($preference);

 

object(MercadoPago\Preference)#13 (36) { ["id":protected]=> string(46) "298080416-a12a3269-31b6-45a2-88ff-e8d3b05b0641" ["auto_return":protected]=> string(0) "" ["back_urls":protected]=> object(stdClass)#69 (3) { ["failure"]=> string(0) "" ["pending"]=> string(0) "" ["success"]=> string(0) "" } ["notification_url":protected]=> NULL ["init_point":protected]=> string(106) "https://www.mercadopago.com.br/checkout/v1/redirect?pref_id=298080416-a12a3269-31b6-45a2-88ff-e8d3b05b0641" ["sandbox_init_point":protected]=> string(110) "https://sandbox.mercadopago.com.br/checkout/v1/redirect?pref_id=298080416-a12a3269-31b6-45a2-88ff-e8d3b05b0641" ["operation_type":protected]=> string(15) "regular_payment" ["additional_info":protected]=> string(0) "" ["external_reference":protected]=> string(0) "" ["expires":protected]=> bool(false) ["expiration_date_from":protected]=> NULL ["expiration_date_to":protected]=> NULL ["date_of_expiration":protected]=> NULL ["collector_id":protected]=> int(298080416) ["client_id":protected]=> int(2147483647) ["marketplace":protected]=> string(4) "NONE" ["marketplace_fee":protected]=> float(0) ["differential_pricing":protected]=> NULL ["payment_methods":protected]=> object(stdClass)#55 (6) { ["default_card_id"]=> NULL ["default_payment_method_id"]=> NULL ["excluded_payment_methods"]=> array(1) { [0]=> object(stdClass)#56 (1) { ["id"]=> string(0) "" } } ["excluded_payment_types"]=> array(1) { [0]=> object(stdClass)#62 (1) { ["id"]=> string(0) "" } } ["installments"]=> NULL ["default_installments"]=> NULL } ["items":protected]=> array(1) { [0]=> object(stdClass)#81 (7) { ["id"]=> string(0) "" ["category_id"]=> string(0) "" ["currency_id"]=> string(3) "BRL" ["description"]=> string(0) "" ["title"]=> string(11) "Meu produto" ["quantity"]=> int(1) ["unit_price"]=> int(145) } } ["payer":protected]=> object(MercadoPago\Payer)#85 (16) { ["id":protected]=> NULL ["entity_type":protected]=> NULL ["type":protected]=> NULL ["name":protected]=> string(0) "" ["surname":protected]=> string(0) "" ["first_name":protected]=> NULL ["last_name":protected]=> NULL ["email":protected]=> string(0) "" ["date_created":protected]=> NULL ["phone":protected]=> object(stdClass)#54 (2) { ["area_code"]=> string(0) "" ["number"]=> string(0) "" } ["identification":protected]=> object(stdClass)#84 (2) { ["number"]=> string(0) "" ["type"]=> string(0) "" } ["address":protected]=> object(stdClass)#86 (3) { ["zip_code"]=> string(0) "" ["street_name"]=> string(0) "" ["street_number"]=> NULL } ["_last":protected]=> NULL ["error":protected]=> NULL ["_pagination_params":protected]=> NULL ["_empty":protected]=> bool(false) } ["shipments":protected]=> object(MercadoPago\Shipments)#60 (12) { ["mode":protected]=> NULL ["local_pickup":protected]=> NULL ["free_methods":protected]=> NULL ["cost":protected]=> NULL ["free_shipping":protected]=> NULL ["receiver_address":protected]=> object(stdClass)#51 (8) { ["zip_code"]=> string(0) "" ["street_name"]=> string(0) "" ["street_number"]=> NULL ["floor"]=> string(0) "" ["apartment"]=> string(0) "" ["city_name"]=> NULL ["state_name"]=> NULL ["country_name"]=> NULL } ["dimensions":protected]=> NULL ["default_shipping_method":protected]=> NULL ["_last":protected]=> NULL ["error":protected]=> NULL ["_pagination_params":protected]=> NULL ["_empty":protected]=> bool(false) } ["date_created":protected]=> string(29) "2022-04-19T10:24:46.000-03:00" ["sponsor_id":protected]=> NULL ["processing_modes":protected]=> NULL ["binary_mode":protected]=> bool(false) ["taxes":protected]=> NULL ["statement_descriptor":protected]=> NULL ["metadata":protected]=> array(0) { } ["tracks":protected]=> NULL ["_last":protected]=> object(MercadoPago\Preference)#72 (36) {


Com tudo fica a minha pergunta final, como conseguir pegar esses dados?

Obrigado a todos que ajudarem.



 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para chamar uma propriedade de um objeto ou se preferir chamar de valor de um objeto.
basta colocar o seguinte cod:
Pirmeiro lembre-se de passar esse objeto que você vai precisar chamar como parametro dentro da função:
 

function MP($preference)

depois você pode chamar dentro da função a propriedade ou chamar por um acesso externo do arquivo fazendo mais sentido para quem está usando funções da forma a baixo:
 

<?php
require_once 'index.php';
echo MP($preference);
?>
Print_r($preference->init_point);

((Não use o comando echo)) 

Vá direto ao nome do parametro com -> sem necessidade de usar as chavez

['init_point']

Resolvido por mim mesmo rsss, obrigado a eu por me ajudar rsssss
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por estevopg
      Boa tarde pessoal, tudo bem?
       
      Gostaria de tirar algumas dúvidas.
      É o seguinte, gostaria de pegar todos os números que estiverem na class "main":
       

       
      O mais próximo que cheguei foi:
      $url = file_get_contents('AQUI VOCE COLOCA O URL'); preg_match_all( '/<td class="main">([^<]++)/', $url, $conteudo); Alguém poderia me ajudar, pois não aparece nada, em que estou errando?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.