pagseguro / pagseguro-sdk-php

Biblioteca de integração em PHP
298 stars 148 forks source link

problema no createPaymentRequestLightBox - retornando: MetadataItem Value is required. #241

Open iltonbarbosa opened 2 years ago

iltonbarbosa commented 2 years ago

Oi, Estou fazendo testes no XAMPP em máquina local. A implementação do createPaymentRequestLightBox está retornando "MetadataItem Value is required".

Segue o mesmo código que peguei no exemplo:

<?php /**

require_once "../vendor/autoload.php";

\PagSeguro\Library::initialize(); \PagSeguro\Library::cmsVersion()->setName("Nome")->setRelease("1.0.0"); \PagSeguro\Library::moduleVersion()->setName("Nome")->setRelease("1.0.0");

?> <!DOCTYPE html>

getEnvironment() == "sandbox") : ?>

<?php

$payment = new \PagSeguro\Domains\Requests\Payment();

$payment->addItems()->withParameters( '0001', 'Notebook prata', 2, 130.00 );

$payment->addItems()->withParameters( '0002', 'Notebook preto', 2, 430.00 );

$payment->setCurrency("BRL"); $payment->setReference("LIBPHP000001");

$payment->setRedirectUrl("http://www.fvweb.com.br");

// Set your customer information. $payment->setSender()->setName('João Comprador'); $payment->setSender()->setEmail('email@comprador.com.br'); $payment->setSender()->setPhone()->withParameters( 11, 56273440 ); $payment->setSender()->setDocument()->withParameters( 'CPF', '[aqui coloquei meu cpf]' );

$payment->setShipping()->setAddress()->withParameters( 'Av. Brig. Faria Lima', '1384', 'Jardim Paulistano', '01452002', 'São Paulo', 'SP', 'BRA', 'apto. 114' ); $payment->setShipping()->setCost()->withParameters(20.00); $payment->setShipping()->setType()->withParameters(\PagSeguro\Enum\Shipping\Type::SEDEX);

//Add metadata items $payment->addMetadata()->withParameters('PASSENGER_CPF', 'insira um numero de CPF valido'); $payment->addMetadata()->withParameters('GAME_NAME', 'DOTA'); $payment->addMetadata()->withParameters('PASSENGER_PASSPORT', '23456', 1);

//Add items by parameter $payment->addParameter()->withParameters('itemId', '0003')->index(3); $payment->addParameter()->withParameters('itemDescription', 'Notebook Rosa')->index(3); $payment->addParameter()->withParameters('itemQuantity', '1')->index(3); $payment->addParameter()->withParameters('itemAmount', '201.40')->index(3);

//Add items by parameter using an array $payment->addParameter()->withArray(['notificationURL', '[aqui coloquei a minha url de notificação]']);

$payment->setRedirectUrl(""); $payment->setNotificationUrl("[aqui coloquei a minha url de notificação]");

try { $onlyCheckoutCode = true; $result = $payment->register( \PagSeguro\Configuration\Configure::getAccountCredentials(), $onlyCheckoutCode );

echo "<h2>Criando requisi&ccedil;&atilde;o de pagamento. Aguarde...</h2>"
    . "<p>C&oacute;digo da transa&ccedil;&atilde;o: <strong>" . $result->getCode() . "</strong></p>"
    . "<script>PagSeguroLightbox('" . $result->getCode() . "');</script>";

} catch (Exception $e) { die($e->getMessage()); }

iltonbarbosa commented 2 years ago

Descobri que precisava passar um CPF válido aqui

$payment->addMetadata()->withParameters('PASSENGER_CPF', '[insira um cpf válido]');