wirecardBrasil / moip-sdk-php

Cliente em PHP para integração server-side com APIs Moip v2
MIT License
124 stars 90 forks source link

Get link boleto depois da criação #47

Closed valentim-guilherme closed 8 years ago

valentim-guilherme commented 8 years ago

Boa tarde meus caros, estou finalizando o processo de criação de um pagamento via boleto com a Moip. Para isso estou usando o seguinte código:

        $order = $this->moip->orders()->get($moip_order_id);

        $payment = $order->payments()->setBoleto($billet_data['dt_payment_expiration'], $billet_data['url_image'], array($billet_data['line_1'], $billet_data['line_2'], $billet_data['line_3']))
            ->execute();

        print_r($payment->data);
        die();

Desta maneira tanto o pedido quanto o pagamento foram realizados com sucesso. Porém eu não consigo ter acesso ao redirectHref que é o link para pagamento, que esta dentro da seguinte estrutura: [data:protected] => stdClass Object [_links] => stdClass Object ( [payBoleto] => stdClass Object ( [redirectHref] => https://checkout-sandbox.moip.com.br/boleto/PAY-JBNX4UTRL71S ) ) )

Como vocês recomendam que eu recupere este link ?

valentim-guilherme commented 8 years ago

Bom como solução do problema fiz da seguinte maneira: $service_url = 'https://sandbox.moip.com.br/v2/payments/PAY-R54R4CLXBBXI'; $curl = curl_init($service_url); $headers = array( 'Content-Type: application/x-www-form-urlencoded', 'Authorization: seu token da conta moip' );

    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    $curl_response = curl_exec($curl);
    curl_close($curl);
    print_r(json_decode($curl_response));

Desta maneira acesso diretamente a estrutura do pedido. Ressalto que embora o atributo "data" seja protected o que faz com que supostamente ele possa ser acessado por uma classe filha, a minha arquitetura não permite ter o recurso como filho do sdk. Fica ai a solução para todos.

ADCDS commented 8 years ago

Você pode usar o método getLinks e acessar a string através dos atributos da stdClass: $payment->getLinks()->checkout->payBoleto->redirectHref