You are viewing the Spanish (Mexico) site, but your language preference is set to English. Switch to English site →

Menu

Expand
Calificar esta página:

Recurso de pago

Pagos asistidos por agentes

Introducción

Los pagos asistidos por agentes les permiten a estos últimos recopilar información de pago del cliente en virtud del PCI en las llamadas de voz de Twilio en el contact center. Con los pagos asistidos por agentes, estos últimos permanecen en el teléfono y guían al cliente a través del flujo de pago, en el cual solicitan diversos datos de pago requeridos, uno a la vez.

Para que el agente pueda controlar el flujo de pago, solicita la información correspondiente en el orden en el que más le convenga al cliente e incluso puede volver a solicitar información según sea necesario. Cuando el cliente ingresa su información de pago, el agente no podrá escuchar los tonos DTMF (multifrecuencia de dos tonos), lo que garantiza el cumplimiento del PCI DSS (Estándar de Seguridad de Datos de la Industria de Tarjetas de Pago) respecto a la información de pago y la seguridad de esta.

Una vez que el agente progresó a través de todos los pasos a fin de recopilar la información de pago del cliente, completan el registro a través de Twilio. Twilio envía la información de pago directamente al conector de pago para su procesamiento, y se asegura de que no se divulgue información de la tarjeta al agente.

El flujo de trabajo

  • El agente solicita información al cliente, incluido el método de pago, e inicia una sesión de Twilio Pay.
  • El agente activa las llamadas de API a través de su interfaz de usuario para recopilar información de pago específica del cliente, por ejemplo, el número de tarjeta de crédito, fecha de vencimiento o número de cuenta bancaria.
  • El agente de llamada ingresa la información de pago solicitada mediante el teclado del teléfono. Los agentes no pueden oír ningún tono DTMF.
  • Una vez que el cliente termina, el agente ve el resultado de la entrada del cliente, por ejemplo xxxx xxxx xxxx 4242 o invalid-card-number.
  • El agente solicita la siguiente información de pago necesaria y continúa haciéndolo hasta que se ingresa toda la información requerida.
    • El agente puede volver a solicitar un dato de pago según sea necesario en cualquier orden y momento durante el flujo.
    • El agente también puede cancelar el pago en cualquier momento durante el flujo.
  • Una vez recopilada toda la información, el agente completa la sesión de Pay y recibe el resultado del pago.

Diseño y flujo de trabajo de la API

Con la asistencia del agente, la clave es capturar la información del cliente mientras el agente está en la llamada con el cliente. Esto significa que el agente puede interactuar con el cliente y guiarlo a través de la experiencia de ingresar los datos de su tarjeta. A continuación, se describe un flujo de agentes típico:

  • El agente recopila e ingresa información como el método de pago, el monto del cargo o el tipo de token y, a continuación, inicia la sesión de Pay.
  • Luego, el agente llama a la API de actualización (a través de su propia interfaz de usuario) para cada dato de pago de forma sucesiva.
  • Si los clientes cometen un error al ingresar la información, el agente simplemente llama de nuevo a la API de actualización para volver a capturar ese dato en particular.
  • Una vez recopilada toda la información de pago necesaria, el agente finaliza la sesión de Pay mediante el establecimiento del estado en complete, lo que procesa el pago y completa la transacción. El agente también puede cancelar la sesión de Pay, si es necesario en esta fase, mediante el establecimiento del estado de la API de actualización en cancel.
  • La información resultante de cada una de las llamadas anteriores se entregará mediante devoluciones de llamada de estado, que se pueden utilizar para actualizar la interfaz de usuario del agente casi en tiempo real.

Propiedades de pagos

Resource Properties in REST API format
account_sid
sid<AC> Not PII

SID de la cuenta que creó el recurso de pagos.

call_sid
sid<CA> Not PII

El SID de la llamada al que está asociado el recurso de pagos. Esto hará referencia al SID de llamada que produce la información de la tarjeta de pago (crédito/ACH) a través de DTMF.

sid
sid<PK> Not PII

El SID del recurso de pagos.

date_created
date_time<rfc2822> Not PII

La fecha y hora en GMT en que se creó el recurso, especificadas en formato RFC 2822.

date_updated
date_time<rfc2822> Not PII

La fecha y hora en GMT en que se actualizó el recurso por última vez, especificadas en el formato RFC 2822.

uri
uri Not PII

La URL del recurso, referente a “https://api.twilio.com”.

Iniciar una sesión de Pay

post
https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Payments.json
Parameters
Parameters in REST API format
account_sid
Path
post sid<AC> Not PII

El SID de la Account que creará el recurso.

call_sid
Path
post sid<CA> Not PII

El SID de la llamada que creará el recurso. Se espera que el tramo de llamada asociado a este SID proporcione información de pago a través de DTMF.

idempotency_key
Required
post string Not PII

Un token único que se utilizará para garantizar que varias llamadas de API con la misma información no den como resultado varias transacciones. Debe ser un valor de cadena único por llamada de API y puede ser generado aleatoriamente.

status_callback
Required
post url Not PII

Proporciona una dirección URL absoluta o relativa para recibir actualizaciones de estado relacionadas con tu sesión de Pay. Obtén más información sobre los valores de StatusCallback esperados

bank_account_type
Optional
post ienum:bank_account_type Not PII

Tipo de cuenta bancaria si el origen del pago es ACH. Puede ser “consumer-checking”, “consumer-savings” o “commercial-checking”. El valor predeterminado es “consumer-checking”.

charge_amount
Optional
post decimal Not PII

Un valor decimal positivo inferior a 1 000 000 para cargar en la tarjeta de crédito o en la cuenta bancaria. La moneda predeterminada se puede sobrescribir con el campo “currency” (moneda). Déjalo en blanco o establece el valor en 0 para realizar la tokenización.

currency
Optional
post string Not PII

La moneda del campo “charge_amount”, con formato ISO 4127. El valor predeterminado es “USD” y se aceptan todos los valores permitidos desde el conector de pago.

description
Optional
post string Not PII

La descripción se puede utilizar para proporcionar más detalles sobre la transacción. Esta información se envía junto con los detalles de pago al conector de pago, los cuales, luego, se publican en las transacciones.

input
Optional
post string Not PII

Una lista de entradas que deben aceptarse. Actualmente solo se admite “dtmf”. Todos los dígitos capturados durante una sesión de pago se borran de los registros.

min_postal_code_length
Optional
post integer Not PII

Un entero positivo que se utiliza para validar la longitud del valor de “PostalCode” ingresado por el usuario. El usuario debe ingresar esa cantidad de dígitos.

parameter
Optional
post object Not PII

Un objeto JSON de un solo nivel que se utiliza para pasar parámetros personalizados a procesadores de pago. (Requerido para pagos ACH). La información que se debe incluir aquí depende del conector . Leer más.

payment_connector
Optional
post string Not PII

Este es el nombre único que corresponde al conector de pago instalado en los complementos de Twilio. Obtén más información sobre los conectores de . El valor predeterminado es “Default”.

payment_method
Optional
post ienum:payment_method Not PII

Tipo de pago que se captura. Puede ser “credit-card” o “ach-debit”. El valor predeterminado es “credit-card”.

postal_code
Optional
post boolean Not PII

Indica si el código postal de la tarjeta de crédito (código postal) es un dato de pago obligatorio que debe proporcionar el agente de llamada. El valor predeterminado es “true”.

security_code
Optional
post boolean Not PII

Indica si el código de seguridad de la tarjeta de crédito es un dato de pago obligatorio que debe proporcionar el agente de llamada. El valor predeterminado es “true”.

timeout
Optional
post integer Not PII

Cantidad de segundos que debe esperar a que el agente de llamada presione un dígito entre cada dígito siguiente, después del primero, antes de pasar a validar los dígitos capturados. El valor predeterminado es “5”, el máximo es “600”.

token_type
Optional
post ienum:token_type Not PII

Indica si el método de pago se debe tokenizar como un token “one-time” (único) o “reusable” (reutilizable). El valor predeterminado es “reusable”. No ingreses un monto de cargo cuando realices el pago. Si se ingresa un monto de cargo, el método de pago se cargará y no se tokenizará.

valid_card_types
Optional
post string Not PII

Tipos de tarjeta de crédito separados por espacio que Pay debe aceptar. El valor predeterminado es “visa mastercard amex”.

Example 1
Loading Code Sample...
        
        

        Iniciar una sesión de Pay

        StatusCallback

        Proporciona una dirección URL absoluta o relativa para este parámetro. Twilio Pay realizará una solicitud POST a esta URL siempre que haya una actualización del parámetro que se está capturando. La solicitud POST tendrá los siguientes parámetros:

        Parámetro

        Descripción

        AccountSid

        Es el identificador exclusivo de la cuenta responsable de esta sesión de pago.

        CallSid

        Ee el identificador exclusivo de la llamada asociada a la sesión de pago. CallSid se referirá siempre al tramo principal de una llamada de dos tramos.

        Sid

        Es el identificador exclusivo de la sesión de Pay actual.

        DateCreated

        Es la fecha en que se inició la sesión de Pay.

        BankAccountType

        Si se utiliza ach-debit como valor de PaymentMethod, es el tipo de cuenta bancaria que el agente de llamada proporciona y el que ingresa el agente.

        ChargeAmount

        Si no se aplica tokenización, es decir, el monto del cargo se especifica y es superior a cero, es el monto que se cargará en el método de pago.

        PaymentConnector

        Es el nombre único del conector de pago correspondiente al conector de pago instalado en los complementos de Twilio.

        PaymentMethod

        Ach-debit o credit-card

        TokenType

        Puede ser de un solo uso o reutilizable si no se especifica el monto del cargo.

        Todas las solicitudes de StatusCallback contendrán estos campos. Se pueden encontrar valores de StatusCallback adicionales durante las API Update y Complete/Cancel.

        Actualizar una sesión de Pay

        post
        https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Payments/{Sid}.json
        Parameters
        Parameters in REST API format
        account_sid
        Path
        post sid<AC> Not PII

        El SID de la cuenta que actualizará el recurso.

        call_sid
        Path
        post sid<CA> Not PII

        El SID de la llamada que actualizará el recurso. Debe ser el mismo SID de llamada que se utilizó para crear el recurso de pagos.

        sid
        Path
        post sid<PK> Not PII

        El SID de la sesión de pagos que se debe actualizar.

        idempotency_key
        Required
        post string Not PII

        Un token único que se utilizará para garantizar que varias llamadas de API con la misma información no den como resultado varias transacciones. Debe ser un valor de cadena único por llamada de API y puede ser generado aleatoriamente.

        status_callback
        Required
        post url Not PII

        Proporciona una dirección URL absoluta o relativa para recibir actualizaciones de estado relacionadas con tu sesión de Pay. Lee más sobre las solicitudes POST de actualización y de completar/cancelar.

        capture
        Optional
        post ienum:capture Not PII

        La información de pago que deseas que el agente de llamada ingrese. Debe ser uno de estos: “payment-card-number”, “expiration-date”, “security-code”, “postal-code”, “bank-routing-number” o “bank-account-number”.

        status
        Optional
        post ienum:status Not PII

        Indica si la sesión de pago actual debe cancelarse o completarse. Cuando es “cancel”, se cancela la sesión de pago. Cuando es “complete”, Twilio envía la información de pago al conector de pago seleccionado para su procesamiento.

        Example 1
        Loading Code Sample...
              
              
              Realiza esta solicitud de API para cada información de pago que desees.

              Actualizar una sesión de Pay

              Realiza esta solicitud de API para cada información de pago que desees.

              StatusCallback (Update)

              Proporciona una dirección URL absoluta o relativa para este parámetro. Twilio Pay realizará una solicitud POST a esta URL siempre que se llame a la API de actualización y cuando haya una actualización del parámetro que se está capturando. La solicitud POST contendrá todos los parámetros de StatusCallback comunes, así como los siguientes parámetros adicionales:

              Parámetro

              Descripción

              DateUpdated

              La fecha en que se actualizó por última vez la sesión de Pay

              BankAccountNumber

              Si “arch-debit” es el valor de PaymentMethod, el número de cuenta bancaria que ingresó el agente de llamada. Twilio solo devolverá los dos últimos dígitos. Por ejemplo, si el número de cuenta bancaria es 508862392, Pay devolverá BankAccountNumber=*******92

              BankRoutingNumber

              Si “arch-debit” es el valor de PaymentMethod, es el número de direccionamiento bancario proporcionado por el agente de llamada. Twilio devolverá el número de enrutamiento completo ingresado. Por ejemplo, si el agente de llamada ingresa 121181976 como número de direccionamiento bancario proporcionado, Pay devolverá BankRoutingNumber=121181976

              Capture

              Es la información de pago que Pay esperaba.

              ChargeAmount

              Si no se aplica tokenización, es decir, el monto del cargo se especificó y era superior a cero, es el monto que se cargará en el método de pago.

              ErrorType

              Aquí se muestra la lista completa de tipos de error.

              ExpirationDate

              Si el valor de PaymentMethod es credit-card, es la fecha de vencimiento que ingresa el agente de llamada. Por ejemplo: ExpirationDate=0522. La fecha de vencimiento no es un dato de PCI, por lo que puede ser claramente visible.

              PartialResult

              Puede ser true si todavía se está capturando DTMF y false una vez que se ingresaron todos los dígitos de la información de pago que se está capturando.

              PaymentCardNumber

              Si el valor de PaymentMethod es credit-card, es el número de tarjeta que ingresó el agente de llamada con solo los últimos cuatro dígitos visibles. Por ejemplo, PaymentCardNumber=xxxx-xxxxxx-x4001

              PaymentCardPostalCode

              Si el valor de PaymentMethod es credit-card, es el código postal que ingresó el agente de llamada o el agente. Por ejemplo: PaymentCardPostalCode=94109. El código postal no es un dato de PCI, por lo que puede ser claramente visible.

              PaymentCardType

              Si el valor de PaymentMethod es credit-card, es el tipo de tarjeta que ingresó el agente de llamada. Por ejemplo: PaymentCardType=amex. El valor proporcionado aquí será uno de los valores proporcionados con el parámetro cardTypes en la API de inicio.

              Obligatorio

              La información de pago que queda por recopilar. Por ejemplo, si el código postal y el código de seguridad tienen el valor “false” y ya se ingresó el número de tarjeta de crédito, entonces aparecerá Required=ExpirationDate

              SecurityCode

              Si el valor de PaymentMethod es credit-card, es el código de seguridad que ingresó el agente de llamada con todos los dígitos suprimidos, por ejemplo, SecurityCode=xxx.

              Estado

              Indica si la sesión de pago actual debe cancelarse o completarse cuando se realice esta solicitud de API. Cuando el estado es cancel, la sesión de pago se cancelará. Tendrás que utilizar la API de inicio para iniciar una nueva sesión de pago. Cuando el estado es complete, Twilio envía la información de pago al conector de pago seleccionado para su procesamiento.

              Example 2
              Loading Code Sample...
                    
                    

                    Completa una sesión de Pay

                    Example 3
                    Loading Code Sample...
                          
                          

                          Cancela una sesión de Pay

                          StatusCallback (Cancel/Complete)

                          Proporciona una dirección URL absoluta o relativa para este parámetro. Twilio Pay realizará una solicitud POST a esta URL siempre que se llame a la API para cancelar/completar. La solicitud POST contendrá todos los parámetros de StatusCallback comunes, así como los siguientes parámetros adicionales:

                          Parámetro

                          Descripción

                          DateUpdated

                          La fecha en que se actualizó por última vez la sesión de Pay

                          ConnectorError

                          Este parámetro contiene el código/mensaje de error recibido de la puerta de enlace de pago subyacente.

                          PayErrorCode

                          Código de error numérico que proporciona más detalles sobre el error. Para obtener más información sobre el error, visita la página de error y busca el código de error

                          PaymentError

                          Error de pago por fallos. Por ejemplo, card is declined

                          PaymentConfirmationCode

                          Si el método de pago proporcionado se cargó y no se tokenizó, este es el código de confirmación de la puerta de enlace de pago

                          PaymentToken

                          El valor tokenizado de los datos de pago de la tarjeta de crédito o ACH. El pago no se tokenizará si se proporciona la cantidad del cargo. Valores:

                          • ACI: token de tarjeta
                          • Base Commerce: token de BankCard
                          • Braintree: token
                          • CardConnect: token
                          • Chase: sin valor
                          • Stripe: token de un solo uso

                          ProfileId

                          El identificador del objeto de cliente al que está asociado el pago. Se puede utilizar como token en función del conector. El pago no se tokenizará si se proporciona la cantidad del cargo. Valores:

                          • ACI: sin valor
                          • Comercio base: sin valor
                          • Braintree: ID del objeto de cliente (no se puede utilizar como token)
                          • CardConnect: perfil
                          • Chase: número de referencia del cliente
                          • Stripe: ID del recurso de cliente

                          Result

                          El resultado de la transacción. Consulta la siguiente tabla para ver todos los valores.

                          Resultado

                          Resultado

                          Descripción

                          success

                          Twilio capturó con éxito los datos de pago y tokenizó o procesó el pago.

                          payment-connector-error

                          Twilio Pay experimentó un error al comunicarse con la puerta de enlace de pago.

                          caller-interrupted-with-star

                          El agente de llamada presionó la tecla * (asterisco) para interrumpir la sesión de Pay.

                          caller-hung-up

                          El agente de llamada colgó la llamada.

                          validation-error

                          Es un valor de parámetro no válido, por ejemplo, chargeAmount="-0.5".

                          Calificar esta página:

                          ¿Necesitas ayuda?

                          Todos la necesitamos a veces; la programación es difícil. Obtén ayuda ahora de nuestro equipo de soporte, o recurre a la sabiduría de la multitud visitando Stack Overflow Collective de Twilio o navegando por la etiqueta de Twilio en Stack Overflow.

                          Loading Code Sample...
                                
                                
                                

                                Gracias por tus comentarios.

                                Selecciona los motivos de tus comentarios. La información adicional que nos brindas nos ayuda a mejorar nuestra documentación:

                                Enviando tus comentarios…
                                🎉 Gracias por tus comentarios.
                                Se produjo un error. Inténtalo de nuevo.

                                Gracias por tus comentarios.

                                thanks-feedback-gif