-
Notifications
You must be signed in to change notification settings - Fork 42
Transaction.php #69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Transaction.php #69
Conversation
jsonSerialize - array_filter alterado o return de !is_null para !empty, pois a propriedade urls estava retornando com um array vazio e dava erro de "Urls: Required parameter missing (kind)." no request
…kind Update Transaction.php
@netojoaobatista @RedeEc Alguma previsão de merge para corrigir esse erro do array de urls vazio? |
Eu acho incrível que ainda não fizeram o merge com sua correção para essa linha. Aparentemente para env em produção, não gera o conflito, mas para a sandbox, o erro Required parameter missing (kind). continua, estou enfrentando isso nesse momento, assim como não consigo nem em sandbox, nem em produção, realizar uma transação com "capture(false)", a cobrança está sendo capturada automaticamente, como se o parametro capture() estivesse ausente, mesmo estando presente no código. |
Aqui no sandbox o |
Bom pra meu sistema não está, e meu código está como recomendado no passo a passo aqui do GH. <?php
// Configuração da loja em modo produção
$store = new Store('PV', 'TOKEN', Environment::production());
// Configuração da loja em modo sandbox
// $store = new \Rede\Store('PV', 'TOKEN', \Rede\Environment::sandbox());
// Transação que será autorizada
$transaction = (new Transaction(20.99, 'pedido' . time()))->creditCard(
'5448280000000007',
'235',
'12',
'2020',
'John Snow'
)->capture(false);
// Autoriza a transação
$transaction = (new eRede($store))->create($transaction);
if ($transaction->getReturnCode() == '00') {
printf("Transação autorizada com sucesso; tid=%s\n", $transaction->getTid());
}
//...
Mas o que acontece é que a cobrança é efetivada no cartão do cliente (testei usando um cartão válido em produção também), o certo não seria, só cobrar, depois da captura ser enviada novamente?
Por exemplo: cliente entra os dados do cartão, meu sistema dispara o codigo acima apenas para AUTORIZAR, conforme fala no manual, e depois, em outro momento eu disparo o codigo que CAPTURA/FORMALIZA A COBRANÇA? |
A implementação parece correta, parece ser algum problema interno mesmo 😕 |
Pois é... da mesma forma que a questão do Authorization Code que está sendo retornado dentro do objeto Brand, mas a classe não possui o tratamento adequado para puxar ele. Tive que fazer na mão, (not a big deal actually), mas tem esses bugs no SDK para PHP que não foram corrigidos ainda... mesmo com merge aplicado. |
jsonSerialize - array filter changed from !is_null to !empty.
Property urls always return with empty array is throws an error Urls: Required parameter missing (kind).