Closed tattivitorino closed 7 years ago
@tattivitorino
Vocẽ pode setar o fullname ao realizar o payment:
$customer->setFullname("Outro dono"); $payMoip = $moipOrder->payments()->setCreditCard( sprintf('%02d',$payment->getCcExpMonth()), $payment->getCcExpYear(), $payment->getCcNumber(), $payment->getCcCid(), $customer ) ->setInstallmentCount($installments) ->setStatementDescriptor('teste de pag') ->execute();
@elisei , obrigada por responder! Então isso funcionaria mesmo no caso de usarmos a hash ao invés dos dados do cartão? Na função acima (que eu mencionei) eu poderia antes de enviar o Customer mudar o seu nome! Mas isso na base de dados da Moip alteraria o nome do Customer o que na vdd não é o ideal! Concorda?
@tattivitorino Funciona com a hash sim.
Não discordo do seu ponto de vista, cheguei até mandar um pull, mas não foi autorizado por haver essa função!
@elisei Moip sendo Moip! Não nos ajudam muito! mas de qq forma super obrigada pela sua resposta e ajuda!
Olá @tattivitorino, tudo bem? É possível enviar outro holder para o cartão, diferente do customer do pedido. Você pode fazer da seguinte forma:
// ...
$holder = $moip->customers()->setFullname('Outro nome')
->setEmail('outro@email.com')
->setBirthDate('1990-12-30')
->setTaxDocument('22222222222')
->setPhone(11, 634778899)
->addAddress('BILLING',
'Outra Rua', 123,
'Bairro', 'Sao Paulo', 'SP',
'01234567', 8)
->addAddress('SHIPPING',
'Outra Rua de Entrega', 123,
'Bairro do SHIPPING', 'Sao Paulo', 'SP',
'01234567', 8);
$order->payments()->setCreditCardHash($hash, $holder);
// ...
Como o @elisei disse, passar um customer diferente para o pagamento não altera em nada os dados do customer do pedido. Qualquer outra dúvida nós estamos à disposição pra te ajudar! Abs, Caio Gaspar
Ola, pessoal!
Pelo que pude entender no Resource/Payment o holder do cartão será sempre o Customer, correto?
` public function setCreditCardHash($hash, Customer $holder, $store = true) { $this->data->fundingInstrument->method = self::METHOD_CREDIT_CARD; $this->data->fundingInstrument->creditCard = new stdClass(); $this->data->fundingInstrument->creditCard->hash = $hash; $this->data->fundingInstrument->creditCard->store = $store; $this->setCreditCardHolder($holder);
`
Isso é um pequeno problema, pois um cliente pode comprar com o cartão de um terceiro. Por ex. Eu posso comprar com o cartão do meu pai!
Eu já implementei MOIP antes via front-end e com o json o objeto que cria o pagamento não recebe o Customer mas sim o CardHolder e a Hash, ( https://dev.moip.com.br/v2.0/reference#criar-pagamento ) mas desta vez em um outro projeto estamos implementando via backend e agora percebemos isso!
A SDK foi desenvolvida com esta premissa em mente? De que o cardHolder será sempre o Customer?