wirecardBrasil / moip-sdk-php

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

Consulta de multipagamento não retorna informações do cartão de crédito utilizado #209

Closed vitordeco closed 7 years ago

vitordeco commented 7 years ago

Quando consulto um PAGAMENTO comum, alguns dados do cartão de crédito são retornados em fundingInstrument (bandeira, ultimos dígitos).

Quando consulto um MULTIPAGAMENTO nada é retornado.

Meu código:

$payment = $moip->payments()->get($payment_id);
print_r($payment); exit;

Resposta:

[data:protected] => stdClass Object
        (
            [installmentCount] => 2
            [fundingInstrument] => 
            [id] => MPY-GTQ5QT25BFP6
            [status] => AUTHORIZED
            [delayCapture] => 
            [amount] => stdClass Object
                (
                    [total] => 35356
                    [currency] => BRL
                )
            [escrows] => 
            [fees] => 
            [refunds] => 
            [_links] => stdClass Object
                (
                    [self] => stdClass Object
                        (
                            [href] => https://sandbox.moip.com.br/v2/multipayments/MPY-GTQ5QT25BFP6
                        )

                    [multiorder] => stdClass Object
                        (
                            [href] => https://sandbox.moip.com.br/v2/multiorders/MOR-KHNUR54XH3VH
                        )

                )
            [createdAt] => 
            [updatedAt] => 
        )
caiogaspar commented 7 years ago

Olá @vdeco, tudo bem? Isso ocorre porque o recurso de multipagamento retorna um array de pagamentos e não apenas um único pagamento. Sendo assim, os dados de cartão são retornados dentro de cada pagamento que está nesse array. Para acessar o array de pagamentos basta usar o método getPayments().

Abs!

vitordeco commented 7 years ago

Muito obrigado, funcionou!

Utilizando o código a seguir: $moip->payments()->get($payment_id)->getPayments();