• França
lyra.com
Procurando
Categoria
Tags
pagina inicial
Suporte técnico

Gestão dos wallets comprador

Um wallet (carteira eletrônica) permite ao comprador salvar mais de um cartão e escolher qual usar para pagar, sem precisar digitar os dados O comprador pode a qualquer hora pedir para excluir um cartão salvo no seu wallet.

Os dados do cartão são armazenados pela plataforma de pagamento, conforme as regras impostas pela RGPD (=Regulamento Geral sobre a Proteção de Dados).

O formulário incorporado ( smartForm ) é compatível com uma Wallet (integrando o campo formAction com o valor CUSTOMER_WALLET ) apenas no " modo Lista " ou no " modo Pop-in"

  • Princípio de uso
  • Métodos de pagamento elegíveis.
  • Implementação
  • Caso de uso

Princípio de uso

  1. Quando o formulário for exibido, o comprador tem as seguintes possibilidades:
  • pagar sem salvar seu meio de pagamento,
  • pagar e salvar seu meio de pagamento.
  1. Se o comprador escolher salvar os dados do cartão, a plataforma de pagamento vai armazená-los e associá-los a sua referência comprador (wallet comprador).

  2. Na sua próxima compra, o comprador poderá escolher:

  • pagar usando um meio de pagamento já salvo no seu wallet comprador,
  • pagar com um novo cartão e adicioná-lo a seu wallet comprador,
  • pagar com um novo meio de pagamento sem adicioná-lo ao seu wallet comprador,
  • excluir um meio de pagamento já registrado no seu wallet comprador.

Os meios de pagamentos vencidos não estão propostos.

Métodos de pagamento elegíveis.

  • Amex

  • CB

  • Cartãos Titre-Restaurant

  • visa

  • VISA ELECTRON

  • mastercard

  • maestro

Implementação

  1. A aplicação do EC deve associar uma referência única para cada comprador (por exemplo o 'código de conta cliente na aplicação do EC). A aplicação do EC deve garantir que a referência seja única.
  2. Para propor o uso de um wallet comprador durante o pagamento, o EC deve:
  • chamar o Web Service Charge/CreatePayment,
  • enviar a referência comprador no campo customer.reference
  • enviar o campo formAction com o valor CUSTOMER_WALLET.

Caso de uso

  • Usar um wallet comprador durante o pagamento
  • Salvar um cartão em um wallet comprador sem pagamento
  • Excluir um cartão salvo

Usar um wallet comprador durante o pagamento

Este caso de uso requer a criação de um formToken via uma chamada ao Web Service Charge/CreatePayment.

Para indicar se quiser usar um wallet comprador, o EC deve enviar:

  • a referência comprador no campo customer.reference ,
  • o campo formAction com o valor CUSTOMER_WALLET.

Um erro será retornado:

  • Se a oferta da loja não tiver a opção "Pagamento por Token",
  • se o campo formAction tiver o valor CUSTOMER_WALLET mas o campo customer.reference não for enviado.

Observação sobre os dados do comprador associados ao wallet comprador

Os dados de faturamento (objeto billingDetails ) enviados quando o cartão é salvo são automaticamente duplicados nas transações realizadas com o wallet comprador.

No entanto, se o EC enviar novos dados na solicitação Charge/CreatePayment , serão então os dados da solicitação que serão usados para a transação. Nesse caso, os dados do 'comprador associados ao meio de pagamento não serão atualizados.

So EC quiser atualizar os dados do comprador em todos os tokens associados à referência comprador, deve chamar o Web Service CustomerWallet/Update.

Exemplo de solicitação POST Charge/CreatePayment

/pt-BR/rest/V4.0/api/kb/authentication.html
https://github.com/lyra/rest-php-examples/blob/master/www/minimalEmbeddedForm.php#L9-L44
https://api.lyra.com/api-payment/V4/Charge/CreatePayment
{
    "amount": 40000,
    "currency": "EUR",
    "orderId": "myOrderId-999999",
    "formAction": "CUSTOMER_WALLET", 
    "customer": {
      "email": "sample@example.com",
      "reference": "cust-001"
    }
}

A resposta contém um formToken que será usado para exibir o formulário.

{
  "webService": "Charge/CreatePayment",
  "version": "V4",
  "applicationVersion": "5.13.0",
  "status": "SUCCESS",
  "answer": {
    "formToken": "10n5J2yTR-Sb6jnXXOohmfsw209eyJhbW91bnQiOjQwMDAwLCJjdXJyZW5jeSI6IkVVUiIsIm1vZGUiOiJURVNUIiwidmVyc2lvbiI6Mywib3JkZXJJZCI6Im15T3JkZXJJZC05OTk5OSIsInNob3BOYW1lIjoiRGVtbyBzaG9wIiwiYnJhbmRQcmlvcml0eSI6WyJCQU5DT05UQUNUIiwiTUFFU1RSTyJdLCJjYXRlZ29yaWVzIjp7ImRlYml0Q3JlZGl0Q2FyZHMiOnsiYXBwSWQiOiJjYXJkcyIsInBhcmFtIjpbIkVERU5SRUQiLCJBTUVYIiwiQ09ORUNTIiwiTUFTVEVSQ0FSRF9ERUJJVCIsIkRJU0NPVkVSIiwiVklTQSIsIlZJU0FfREVCSVQiLCJTT0RFWE8iLCJESU5FUlMiLCJNQUVTVFJPIiwiRS1DQVJURUJMRVVFIiwiQ0hRX0RFSiIsIk1BU1RFUkNBUkQiLCJCQU5DT05UQUNUIiwiQVBFVElaIiwiVklTQV9FTEVDVFJPTiIsIkNCIl19fSwiY2FyZHMiOnsiQ09ORUNTIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJBTUVYIjp7ImZpZWxkcyI6eyJzZWN1cml0eUNvZGUiOnsibWF4TGVuZ3RoIjo0fX0sImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJFREVOUkVEIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJNQVNURVJDQVJEX0RFQklUIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJESVNDT1ZFUiI6eyJjb3B5RnJvbSI6ImNhcmRzLkRFRkFVTFQifSwiVklTQSI6eyJjb3B5RnJvbSI6ImNhcmRzLkRFRkFVTFQifSwiRElORVJTIjp7ImZpZWxkcyI6eyJzZWN1cml0eUNvZGUiOnsicmVxdWlyZWQiOmZhbHNlfX0sImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJTT0RFWE8iOnsiY29weUZyb20iOiJjYXJkcy5ERUZBVUxUIn0sIlZJU0FfREVCSVQiOnsiY29weUZyb20iOiJjYXJkcy5ERUZBVUxUIn0sIk1BRVNUUk8iOnsiZmllbGRzIjp7InNlY3VyaXR5Q29kZSI6eyJyZXF1aXJlZCI6ZmFsc2V9LCJkb1JlZ2lzdGVyIjp7ImhpZGRlbiI6dHJ1ZX19LCJjb3B5RnJvbSI6ImNhcmRzLkRFRkFVTFQifSwiRS1DQVJURUJMRVVFIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJDSFFfREVKIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJNQVNURVJDQVJEIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJCQU5DT05UQUNUIjp7ImZpZWxkcyI6eyJzZWN1cml0eUNvZGUiOnsicmVxdWlyZWQiOmZhbHNlLCJoaWRkZW4iOnRydWV9LCJkb1JlZ2lzdGVyIjp7ImhpZGRlbiI6dHJ1ZX19LCJjb3B5RnJvbSI6ImNhcmRzLkRFRkFVTFQifSwiVklTQV9FTEVDVFJPTiI6eyJmaWVsZHMiOnsic2VjdXJpdHlDb2RlIjp7InJlcXVpcmVkIjpmYWxzZX19LCJjb3B5RnJvbSI6ImNhcmRzLkRFRkFVTFQifSwiQVBFVElaIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJERUZBVUxUIjp7ImZpZWxkcyI6eyJwYW4iOnsibWluTGVuZ3RoIjoxMCwibWF4TGVuZ3RoIjoxOSwidmFsaWRhdG9ycyI6WyJOVU1FUklDIiwiTFVITiJdLCJyZXF1aXJlZCI6dHJ1ZSwic2Vuc2l0aXZlIjp0cnVlLCJoaWRkZW4iOmZhbHNlLCJjbGVhck9uRXJyb3IiOmZhbHNlfSwiZXhwaXJ5RGF0ZSI6eyJyZXF1aXJlZCI6dHJ1ZSwic2Vuc2l0aXZlIjp0cnVlLCJoaWRkZW4iOmZhbHNlLCJjbGVhck9uRXJyb3IiOmZhbHNlfSwic2VjdXJpdHlDb2RlIjp7Im1pbkxlbmd0aCI6MywibWF4TGVuZ3RoIjo0LCJ2YWxpZGF0b3JzIjpbIk5VTUVSSUMiXSwicmVxdWlyZWQiOnRydWUsInNlbnNpdGl2ZSI6dHJ1ZSwiaGlkZGVuIjpmYWxzZSwiY2xlYXJPbkVycm9yIjp0cnVlfSwiZG9SZWdpc3RlciI6eyJ2YWx1ZSI6ImZhbHNlIiwidmFsaWRhdG9ycyI6WyJCT09MRUFOIl0sInJlcXVpcmVkIjpmYWxzZSwic2Vuc2l0aXZlIjpmYWxzZSwiaGlkZGVuIjpmYWxzZSwiY2xlYXJPbkVycm9yIjpmYWxzZX19fSwiQ0IiOnsiY29weUZyb20iOiJjYXJkcy5ERUZBVUxUIn19LCJwYXNzQWN0aXZhdGVkIjp0cnVlLCJhcGlSZXN0VmVyc2lvbiI6IjQuMCJ96902",
    "_type": "V4/Charge/PaymentForm"
  },
  "ticket": null,
  "serverDate": "2020-09-25T10:09:36+00:00",
  "applicationProvider": "LYRA",
  "metadata": null,
  "_type": "V4/WebService/Response"
}

Conforme os princípios de base de uso do cliente JavaScript, use o , formToken , gerado na chamada ao Web Service Charge/CreatePayment , para especificar o código do formulário que será exibido no atributo kr-form-token do seu <div>.

O formulário é exibido:

O comprador digita os dados do seu cartão, assinala a caixa Salvar meu cartão e clica no botão "Pagar".

Se o comprador já salvou um cartão no seu wallet comprador, os campos de digitação encontram-se pré-preenchidos com os dados do seu cartão:

Se ele não quer pagar sua compra com este cartão, ele pode, se quiser, digitar e salvar um novo meio de pagamento na aba "Novo cartão".

Se o comprador já salvou mais de um cartão no seu wallet comprador, deverá escolher o cartão que será usado ou entrar um novo cartão na aba "Novo cartão":

Uma vez que o pagamento finalizou, uma notificação é enviada ao site Estabelecimento Comercial na URL definida no Back Office Estabelecimento Comercial. Os mesmos dados são retornados ao navegador pelo cliente JavaScript para a URL definida no parâmetro kr-post-url-success na exibição do formulário.

Dentre das informações enviadas, o objeto kr-answer contém o objeto Payment apresentando em detalhe a transação realizada e os dados do meio de pagamento usado.

Salvar um cartão em um wallet comprador sem pagamento

Este caso de uso requer a criação de um formToken via uma chamada ao Web Service Charge/CreateToken.

Para indicar que quer usar um wallet comprador, o EC deve enviar a referência comprador no campo customer.reference.

Se a referência comprador não for enviada, o cartão será salvou e um Token será criado, mas o cartão não será adicionado ao wallet.

No próximo pagamento, se o EC enviar a referência comprador (uso do wallet comprador), este cartão não constará na lista dos cartões salvos.

Exemplo de solicitação POST Charge/CreateToken

/pt-BR/rest/V4.0/api/kb/authentication.html
https://github.com/lyra/rest-php-examples/blob/master/www/minimalEmbeddedForm.php#L9-L44
https://api.lyra.com/api-payment/V4/Charge/CreateToken
{
    "currency": "EUR",
    "orderId": "myOrderId-999999",    
    "customer": {
      "email": "sample@example.com",
      "reference": "cust-001"
    }       
}

A resposta contém um formToken que será usado para exibir o formulário.

{
  "webService": "Charge/CreateToken",
  "version": "V4",
  "applicationVersion": "5.13.0",
  "status": "SUCCESS",
  "answer": {
    "formToken": "10hIV6-LQ9TGeZIRI9C_zENg209eyJhbW91bnQiOjAsImN1cnJlbmN5IjoiRVVSIiwibW9kZSI6IlRFU1QiLCJ2ZXJzaW9uIjozLCJvcmRlcklkIjoibXlPcmRlcklkLTk5OTk5Iiwic2hvcE5hbWUiOiJEZW1vIHNob3AiLCJjYXRlZ29yaWVzIjp7ImRlYml0Q3JlZGl0Q2FyZHMiOnsiYXBwSWQiOiJjYXJkcyIsInBhcmFtIjpbIkFNRVgiLCJFLUNBUlRFQkxFVUUiLCJNQVNURVJDQVJEX0RFQklUIiwiTUFTVEVSQ0FSRCIsIkRJU0NPVkVSIiwiVklTQSIsIlZJU0FfRUxFQ1RST04iLCJWSVNBX0RFQklUIiwiQ0IiLCJESU5FUlMiXX19LCJjYXJkcyI6eyJBTUVYIjp7ImZpZWxkcyI6eyJzZWN1cml0eUNvZGUiOnsibWF4TGVuZ3RoIjo0fX0sImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJFLUNBUlRFQkxFVUUiOnsiY29weUZyb20iOiJjYXJkcy5ERUZBVUxUIn0sIk1BU1RFUkNBUkRfREVCSVQiOnsiY29weUZyb20iOiJjYXJkcy5ERUZBVUxUIn0sIkRJU0NPVkVSIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJNQVNURVJDQVJEIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJWSVNBIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJWSVNBX0VMRUNUUk9OIjp7ImZpZWxkcyI6eyJzZWN1cml0eUNvZGUiOnsicmVxdWlyZWQiOmZhbHNlfX0sImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJERUZBVUxUIjp7ImZpZWxkcyI6eyJwYW4iOnsibWluTGVuZ3RoIjoxMCwibWF4TGVuZ3RoIjoxOSwidmFsaWRhdG9ycyI6WyJOVU1FUklDIiwiTFVITiJdLCJyZXF1aXJlZCI6dHJ1ZSwic2Vuc2l0aXZlIjp0cnVlLCJoaWRkZW4iOmZhbHNlLCJjbGVhck9uRXJyb3IiOmZhbHNlfSwiZXhwaXJ5RGF0ZSI6eyJyZXF1aXJlZCI6dHJ1ZSwic2Vuc2l0aXZlIjp0cnVlLCJoaWRkZW4iOmZhbHNlLCJjbGVhck9uRXJyb3IiOmZhbHNlfSwic2VjdXJpdHlDb2RlIjp7Im1pbkxlbmd0aCI6MywibWF4TGVuZ3RoIjo0LCJ2YWxpZGF0b3JzIjpbIk5VTUVSSUMiXSwicmVxdWlyZWQiOnRydWUsInNlbnNpdGl2ZSI6dHJ1ZSwiaGlkZGVuIjpmYWxzZSwiY2xlYXJPbkVycm9yIjp0cnVlfX19LCJESU5FUlMiOnsiZmllbGRzIjp7InNlY3VyaXR5Q29kZSI6eyJyZXF1aXJlZCI6ZmFsc2V9fSwiY29weUZyb20iOiJjYXJkcy5ERUZBVUxUIn0sIkNCIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9LCJWSVNBX0RFQklUIjp7ImNvcHlGcm9tIjoiY2FyZHMuREVGQVVMVCJ9fSwicGFzc0FjdGl2YXRlZCI6dHJ1ZSwiYXBpUmVzdFZlcnNpb24iOiI0LjAifQ4a02",
    "_type": "V4/Charge/PaymentForm"
  },
  "ticket": null,
  "serverDate": "2020-09-25T10:15:37+00:00",
  "applicationProvider": "LYRA",
  "metadata": null,
  "_type": "V4/WebService/Response"
}

Uma vez que o meio de pagamento foi salvou, uma notificação é enviada ao site Estabelecimento Comercial na URL definida no Back Office Estabelecimento Comercial.

Os mesmos dados são retornados ao navegador pelo cliente JavaScript para a URL definida no parâmetro kr-post-url-success na exibição do formulário.

O campo kr-answer enviado contém um objeto Payment que descreve a transação de verificação bem como os dados do Token criado.

Somente a presença do campo customer.reference , com o valor da referência comprador enviado pelo EC, informa que o cartão foi adicionado ao wallet comprador.

Excluir um cartão salvo

Durante o pagamento, o comprador pode solicitar que um cartão salvo no seu wallet comprador seja eliminado, clicando na lixeira.

A exclusão é chamada de "lógica", ou seja, o Token foi rescindido, não pode ser mais usado para um pagamento Mas continuará sendo exibido no Back office EC.

Conforme as regras de segurança e de proteção dos dados bancários exigidos pelo PCI DSS, os dados do meio de pagamento são expurgados após 15 meses de não uso do Token associado.

Uma nova configuração do Back Office EC permite escolher se a exclusão é automática ou se deve ser realizada pelo EC.

Exclusão automática

Um mensagem de confirmação aparece depois de clicar na lixeira:

Se o comprador clicar em Excluir , o cartão desaparecerá da lista dos cartões disponíveis.

Esta ação lança as notificações baseadas na atualização de um token:

  • URL de notificação no final do pagamento

  • E-mail de confirmação de criação de token à destinação do comprador

  • E-mail de confirmação de uma criação de Token a destinação do Estabelecimento Comercial

  • SMS de confirmação de criação de Token a destinação do Estabelecimento Comercial

  • SMS de confirmação de criação de token à destinação do comprador

Se não tiver outro cartão que o cartão removido, a aba "Novo cartão" aparece automaticamente.

Se o cartão estiver sendo usado para pagar uma assinatura automática, aparecerá uma mensagem de aviso para convidar o comprador a entrar em contato com o EC:

Para ativar a exclusão automática:

  1. No Back Office EC, abra o menu Configurações > Empresa e clique na aba Configurações assinatura e token.
  2. Na secção Configurações do wallet comprador , assinale a caixa Cancelamento lógico do 'token autorizada pelo comprador.
  3. Clique no botão para Salvar suas modificações.

Cancelamento manual

Esta configuração é recomendada para os ECs que gerenciam os pagamentos recorrentes no sistema deles.

Uma mensagem de informação aparece ao clicar na lixeira, convidando o comprador a entrar em contato com o EC:

Para ativar a exclusão manual:

  1. No Back Office EC, abra o menu Configurações > Empresa e clique na aba Configurações assinatura e token.
  2. Na secção Configurações do wallet comprador , assinale a caixa Cancelamento lógico do token autorizada pelo comprador.
  3. Clique no botão para Salvar suas modificações.
Jobs
Legal
GDPR
25.22-1.11