Skip to content
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

Criação de assinatura com card hash #126

Closed
deivisoncheloni opened this issue Feb 15, 2017 · 12 comments
Closed

Criação de assinatura com card hash #126

deivisoncheloni opened this issue Feb 15, 2017 · 12 comments
Assignees
Labels

Comments

@deivisoncheloni
Copy link

Não encontrei na v3 opção de criar uma assinatura utilizando o card hash ou criar um cartão utilizando o card hash.

@danielhs1
Copy link

Também estou com o mesmo problema, alguém dá um help aqui?

@devdrops devdrops assigned devdrops and petriuslima and unassigned devdrops Feb 16, 2017
petriuslima added a commit that referenced this issue Feb 23, 2017
* Fixing subscrition by card_hash as described in #126

* Adding docblock in getCardInfo method

* Improving readability in test's methods
@petriuslima
Copy link
Contributor

petriuslima commented Feb 23, 2017

Bom dia @dcheloni e @danielok1303.

Essa funcionalidade está disponível na release v3.1.0. Ela já se encontra disponível no packagist inclusive.

Para utilizá-la, basta criar o cartão utilizando o card_hash e passar esse cartão para a assinatura. Conforme abaixo:

$card = new \PagarMe\Sdk\Card\Card(['hash' => $card_hash]);

$pagarMe->subscription()->createCardSubscription(
    $plan, $card, $customer
);

@deivisoncheloni
Copy link
Author

Baixei a nova release da api mas ainda não consegui criar a assinatura utilizando o card_hash.
Utilizei conforme mencionado acima, criando o cartão sem utilizar o card_hash funcionou, porém utilizando os mesmos dados para gerar o card_hash não retornou nenhum resultado.

Ao criar o cartão utilizando o hash, só foi retornado o hash, o id e todas outras propriedades vieram vazias, está correto isso?

@petriuslima
Copy link
Contributor

@dcheloni, o exemplo acima retorna o objeto subscrition, acabei não deixando no exemplo e peço desculpas. 😟
O correto seria uma variável para receber o objeto, tal como:

$subscription = $pagarMe->subscription()->createCardSubscription(
    $plan, $card, $customer
);

Mesmo que algum problema ocorra, ele deveria lançar uma ClientException com a descrição do problema que houve na API, apareceu algo mais pra você?

Ao criar o cartão utilizando o hash, só foi retornado o hash, o id e todas outras propriedades vieram vazias, está correto isso?

Sim, está correto. No card_hash estão todas as informações necessárias do cartão e caso houvesse o id do cartão, não haveria necessidade de passar o card_hash.

@deivisoncheloni
Copy link
Author

deivisoncheloni commented Feb 24, 2017

Sempre retorna esse erro.
error : { type : invalid_parameter, parameter_name : card_expiration_date, message : data de expiração inválida }
OBS.: Criei o cartão da forma normal, utilizando cardNumber, holderName e cardExpirationDate e funcionou normalmente, utilizei os mesmos dados para criar o card_hash e sempre retorna esse erro.

@petriuslima
Copy link
Contributor

@dcheloni pode me passar a data de expiração e a bandeira do cartão utilizado?

@deivisoncheloni
Copy link
Author

deivisoncheloni commented Feb 24, 2017

Visa - 12/30
Possuem algum cartão de credito para teste, assim como outras api's fornecem?

@petriuslima
Copy link
Contributor

@dcheloni Existem números de cartões de crédito excluisivos para testes. Existem diversos sites onde você pode gerá-los.

@deivisoncheloni
Copy link
Author

Estou utilizando esses cartões mesmo para teste, porém sem sucesso ao tentar criar assinatura utilizando o card_hash.

@petriuslima
Copy link
Contributor

@dcheloni Testei aqui gerando o card_hash mas a assinatura foi criada normalmente. Os dados que eu utilizei para gerar o card_hash seguem abaixo (cartão de teste gerado aqui):

$card = [
    'card_number' => '4916521680166972',
    'card_holder_name' => 'Usuario de Teste',
    'card_expiration_date' => '1230',
    'card_cvv' => '123'
];

Uma ressalva importante é que se você estiver gerando o card_hash manualmente, o valor da propriedade card_expiration_date não pode conter barra. Ou seja, o formato deve ser MMYY (M = mês e Y = ano).

Como você está gerando os dados para compor o card_hash? Acredito que nosso problema pode estar nessas informações de entrada ou em alguma outra dependência utilizada em seu projeto.

@petriuslima
Copy link
Contributor

petriuslima commented Mar 2, 2017

@dcheloni Conseguiu criar a assinatura? Posso fechar essa issue?

@deivisoncheloni
Copy link
Author

Consegui criar assinatura, realmente era algum erro na forma de eu capturar os dados para gerar o card_hash. Muito obrigado!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants