Recurso de pagamento
Pagamentos assistidos por agente
Introdução
Os pagamentos assistidos por agente permitem que os agentes coletem informações de pagamento de clientes de maneira compatível com PCI em chamadas de voz da Twilio no contact center. Com os pagamentos assistidos por agente, o agente permanece no telefone e orienta o cliente pelo fluxo de pagamento, solicitando as várias informações de pagamento necessárias, um item por vez.
O agente pode controlar o fluxo de pagamento solicitando as informações de pagamento na ordem em que achar melhor para o cliente e até mesmo solicitar novamente as informações conforme necessário. Quando o cliente estiver inserindo suas informações de pagamento, o agente não poderá ouvir os tons DTMF (Dual-Tone Multi-Frequency, multifrequência de dois tons), garantindo a conformidade com o PCI DSS (Payment Card Industry Data Security Standard, padrão de segurança de dados do setor de cartões de pagamento) das informações de pagamento e a segurança das informações de pagamento do cliente.
Depois que o agente progredir em todas as etapas para coletar as informações de pagamento do cliente, ele conclui a captura via Twilio. A Twilio envia as informações de pagamento diretamente ao conector de pagamento para processamento, garantindo que nenhuma informação do cartão seja divulgada ao agente.
Fluxo de trabalho
- O agente solicita algumas informações, incluindo o método de pagamento, do cliente e inicia uma sessão do Twilio Pay.
- O agente aciona as chamadas da API por meio de sua IU para coletar informações específicas de pagamento do cliente, como por exemplo, número do cartão de crédito, data de validade ou número da conta bancária.
- O autor da chamada insere as informações de pagamento solicitadas usando o teclado do telefone. Os agentes não conseguem ouvir nenhum tom DTMF.
- Quando o cliente terminar, o agente verá o resultado da entrada do cliente, por exemplo
xxxx xxxx xxxx 4242
, ouinvalid-card-number
. - O agente solicita a próxima informação de pagamento necessária e continua a fazê‐lo até que todas as informações necessárias sejam inseridas.
- O agente pode solicitar novamente uma informação de pagamento conforme necessário, em qualquer ordem e em qualquer ponto durante o fluxo.
- O agente também pode cancelar o pagamento a qualquer momento durante o fluxo.
- Depois que todas as informações forem coletadas, o agente concluirá a sessão Pay (Pagamento) e receberá o resultado do pagamento.
Design e fluxo de trabalho da API
Com a assistência do Agente, a chave é capturar informações do cliente enquanto o Agente está na chamada com o cliente. Isso significa que o agente pode interagir com o cliente orientando‐o pela experiência de inserir os detalhes do cartão. Um fluxo de agente típico é descrito abaixo:
- O agente coleta e insere informações como método de pagamento, valor de cobrança ou tipo de token e, em seguida, inicia a sessão Pay (Pagamento).
- Em seguida, o agente chama a API de Atualização (por meio de sua própria IU) para cada informação de pagamento sucessivamente.
- Se os clientes cometerem um erro ao inserir informações, o agente simplesmente chama a API de Atualização novamente para capturar de novo essas informações específicas.
- Depois que todas as informações de pagamento necessárias tiverem sido coletadas, o Agente conclui a sessão Pay (Pagamento) definindo o status como
complete
, que, em seguida, processa o pagamento e conclui a transação. O agente também pode cancelar a sessão Pay (Pagamento), se necessário, definindo o status na API de Atualização comocancel
. - As informações resultantes em cada uma das chamadas acima serão entregues por meio de retornos de chamada de status, que podem ser usados para atualizar a IU do agente em tempo quase real.
Propriedades de pagamentos
Resource Properties in REST API format | |
---|---|
account_sid
|
The SID of the Account that created the Payments resource. |
call_sid
|
The SID of the Call the Payments resource is associated with. This will refer to the call sid that is producing the payment card (credit/ACH) information thru DTMF. |
sid
|
The SID of the Payments resource. |
date_created
|
A data e a hora em GMT em que o recurso foi criado especificadas no formato RFC 2822. |
date_updated
|
A data e a hora em GMT em que o recurso foi atualizado pela última vez especificadas no formato RFC 2822. |
uri
|
O URI do recurso, relativo a “https://api.twilio.com”. |
Iniciar uma sessão Pay (Pagamento)
https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Payments.json
Parameters
Parameters in REST API format | |
---|---|
account_sid
Path
|
O SID da Account (Conta) para create (criar) o recurso. |
call_sid
Path
|
The SID of the call that will create the resource. Call leg associated with this sid is expected to provide payment information thru DTMF. |
idempotency_key
Required
|
A unique token that will be used to ensure that multiple API calls with the same information do not result in multiple transactions. This should be a unique string value per API call and can be a randomly generated. |
status_callback
Required
|
Provide an absolute or relative URL to receive status updates regarding your Pay session. Read more about the expected StatusCallback values |
bank_account_type
Optional
|
Type of bank account if payment source is ACH. One of |
charge_amount
Optional
|
A positive decimal value less than 1,000,000 to charge against the credit card or bank account. Default currency can be overwritten with |
currency
Optional
|
The currency of the |
description
Optional
|
The description can be used to provide more details regarding the transaction. This information is submitted along with the payment details to the Payment Connector which are then posted on the transactions. |
input
Optional
|
A list of inputs that should be accepted. Currently only |
min_postal_code_length
Optional
|
A positive integer that is used to validate the length of the |
parameter
Optional
|
A single-level JSON object used to pass custom parameters to payment processors. (Required for ACH payments). The information that has to be included here depends on the |
payment_connector
Optional
|
This is the unique name corresponding to the Pay Connector installed in the Twilio Add-ons. Learn more about |
payment_method
Optional
|
Type of payment being captured. One of |
postal_code
Optional
|
Indicates whether the credit card postal code (zip code) is a required piece of payment information that must be provided by the caller. The default is |
security_code
Optional
|
Indicates whether the credit card security code is a required piece of payment information that must be provided by the caller. The default is |
timeout
Optional
|
The number of seconds that |
token_type
Optional
|
Indicates whether the payment method should be tokenized as a |
valid_card_types
Optional
|
Credit card types separated by space that Pay should accept. The default value is |
Example 1
StatusCallback
Forneça um URL absoluto ou relativo para este parâmetro. O Twilio Pay fará uma solicitação POST
para este URL sempre que houver uma atualização do parâmetro que está sendo capturado. A solicitação POST
terá os seguintes parâmetros:
Parâmetro |
Descrição |
|
O identificador exclusivo da conta responsável por esta sessão de pagamento |
|
O identificador exclusivo da chamada associada à sessão de pagamento. |
|
O identificador exclusivo da sessão Pay (Pagamento) atual |
|
A data em que a sessão Pay (Pagamento) foi iniciada |
|
Se o PaymentMethod |
|
Se não estiver gerado um token, ou seja, o valor do encargo for especificado e maior que zero, o valor a ser cobrado pelo método de pagamento |
|
O nome exclusivo do conector de pagamento correspondente ao Conector do Pay instalado nos Add-ons da Twilio |
|
|
|
Uma vez ou reutilizável se o valor do encargo não for especificado |
Todas as solicitações StatusCallback
conterão esses campos. Valores adicionais de StatusCallback
podem ser encontrados durante as APIs Update
e Complete/Cancel
.
Atualizar uma sessão Pay (Pagamento)
https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Payments/{Sid}.json
Parameters
Parameters in REST API format | |
---|---|
account_sid
Path
|
The SID of the Account that will update the resource. |
call_sid
Path
|
The SID of the call that will update the resource. This should be the same call sid that was used to create payments resource. |
sid
Path
|
The SID of Payments session that needs to be updated. |
idempotency_key
Required
|
A unique token that will be used to ensure that multiple API calls with the same information do not result in multiple transactions. This should be a unique string value per API call and can be a randomly generated. |
status_callback
Required
|
Provide an absolute or relative URL to receive status updates regarding your Pay session. Read more about the Update and Complete/Cancel POST requests. |
capture
Optional
|
The piece of payment information that you wish the caller to enter. Must be one of |
status
Optional
|
Indicates whether the current payment session should be cancelled or completed. When |
Example 1
StatusCallback (Atualização)
Forneça um URL absoluto ou relativo para este parâmetro. O Twilio Pay fará uma solicitação POST para este URL sempre que a API de atualização for chamada e sempre que houver uma atualização do parâmetro que está sendo capturado. A solicitação POST conterá todos os parâmetros comuns de StatusCallback, bem como estes parâmetros adicionais:
Parâmetro |
Descrição |
|
A data em que a sessão Pay (Pagamento) foi atualizada pela última vez |
|
Se |
|
Se |
|
As informações de pagamento que o Pay estava esperando |
|
Se não gerar token, ou seja, o valor do encargo foi especificado e maior que zero, o valor a ser cobrado pelo método de pagamento |
|
A lista completa de tipos de erro está visível aqui |
|
Se |
|
|
|
Se |
|
Se |
|
Se |
|
As informações de pagamento que ainda devem ser coletadas. Por exemplo, se o código postal e o código de segurança forem falsos e o número do cartão de crédito já tiver sido inserido, então |
|
Se |
Status
Indique se a sessão de pagamento atual deve ser cancelada ou concluída quando esta solicitação de API for feita. Quando o status for cancel
, a sessão de pagamento será cancelada. Você terá que usar a API Iniciar para iniciar uma nova sessão de pagamento. Quando o status for complete
, a Twilio envia as informações de pagamento ao conector do Pay selecionado para processamento.
Example 2
Example 3
StatusCallback (Cancelar/Concluir)
Forneça um URL absoluto ou relativo para este parâmetro. O Twilio Pay fará uma solicitação POST
para este URL sempre que a API Cancelar/Concluir for chamada. A solicitação POST
conterá todos os parâmetros comuns de StatusCallback, bem como estes parâmetros adicionais:
Parâmetro |
Descrição |
|
A data em que a sessão Pay (Pagamento) foi atualizada pela última vez |
|
Este parâmetro contém o código/mensagem de erro recebida do gateway de pagamento subjacente |
|
Um código de erro numérico que fornece mais detalhes sobre o erro. Para saber mais sobre o erro, visite a página de erro e procure o código de erro |
|
Erro de pagamento por falhas. Por exemplo, |
|
Se o método de pagamento fornecido foi cobrado e não gerou token, este é o código de confirmação do Gateway de pagamento |
|
O valor que gerou token do cartão de crédito ou dos dados de pagamento da ACH. O pagamento não gerou token se um valor de encargo for fornecido. Valores:
|
|
O identificador do objeto do cliente ao qual o pagamento está associado. Pode ser usado como um token dependendo do conector. O pagamento não gerou token se um valor de encargo for fornecido. Valores:
|
O resultado da transação. Consulte a tabela abaixo para obter todos os valores |
Resultado
Resultado |
Descrição |
|
Twilio capturou com êxito os dados de pagamento e gerou token ou processou o pagamento |
|
O Twilio Pay apresentou um erro de comunicação com o Gateway de pagamento |
|
O autor da chamada pressionou a tecla asterisco * para interromper a sessão de pagamento |
|
O autor da chamada desligou a chamada |
|
Um valor de parâmetro inválido, por exemplo, |
Precisa de ajuda?
Às vezes, todos nós precisamos; a programação é difícil. Receba ajuda agora da nossa equipe de suporte, ou confie na sabedoria da multidão navegando pelo Stack Overflow Collective da Twilio ou buscando a tag Twilio no Stack Overflow.