Pon a prueba tu integración de Stripe
Conozca los diferentes métodos para probar su integración de Stripe antes de lanzarla.
¿NO ES DESARROLLADOR?
Contrate a un experto certificado aqui mismo o utilice una solución prediseñada creada por uno de nuestros socios verificados (no se requiere código).
Esta página incluye números de tarjetas de prueba y otra información para asegurarse de que su integración funcione según lo planeado. Úselo para activar diferentes flujos en su integración y asegúrese de que se manejen en consecuencia.
API de intenciones de pago
Cuando utilice la API de intenciones de pago con las bibliotecas cliente y los SDK de Stripe, asegúrese de que:
- Los flujos de autenticación se activan cuando es necesario (utilice los números de tarjeta de prueba reglamentarios y los métodos de pago).
- Sin autenticación (tarjeta de EE. UU. Predeterminada): 4242 4242 4242 4242.
- Se requiere autenticación: 4000 0027 6000 3184.
- El intento de pago se crea con una clave de idempotency key para evitar la creación errónea de intentos de pago duplicados para la misma compra.
- Los errores se detectan y se muestran correctamente en la interfaz de usuario.
API de cargos
Cuando utilice la API de cargos con las bibliotecas cliente y los SDK de Stripe, asegúrese de que:
- El elemento de la tarjeta se pasa correctamente a crear Token en su controlador de envío.
- En el controlador de respuesta para crear Token, los errores de la tarjeta se manejan y se muestran correctamente.
- Solo se pasan tokens válidos a su servidor como parte del envío del formulario de pago.
Código del lado del servidor
En su código del lado del servidor, asegúrese de que:
- Todas las solicitudes se están realizando con éxito. Puede resultarle útil ver los eventos y registros de su cuenta mientras prueba su integración.
- Todos los errores de API se manejan correctamente.
- Los webhooks relevantes se manejan correctamente.
- Cuando esté listo para poner en marcha su integración, reemplace sus claves API secretas y publicables de prueba por claves activas. Los pagos en vivo no se pueden procesar si su integración todavía está usando sus claves de prueba.
Números de tarjetas de prueba básicos
La información de la tarjeta original no se puede utilizar en el modo de prueba. En su lugar, use cualquiera de los siguientes números de tarjeta de prueba, una fecha de vencimiento válida en el futuro y cualquier número CVC aleatorio para crear un pago exitoso. El país de facturación de cada tarjeta de prueba básica se establece en EE. UU. Si necesita crear pagos con tarjeta de prueba con tarjetas para otros países de facturación, utilice nuestras tarjetas de prueba internacionales.
Number |
Brand |
CVC |
Date |
---|---|---|---|
|
Visa | 3 dígitos cualesquiera | Cualquier fecha en el futuro |
|
Visa (debit) | 3 dígitos cualesquiera | Cualquier fecha en el futuro |
|
Mastercard | 3 dígitos cualesquiera | Cualquier fecha en el futuro |
|
Mastercard (2-series) | 3 dígitos cualesquiera | Cualquier fecha en el futuro |
|
Mastercard (debit) | 3 dígitos cualesquiera | Cualquier fecha en el futuro |
|
Mastercard (prepaid) | 3 dígitos cualesquiera | Cualquier fecha en el futuro |
|
American Express | Any 4 digits | Cualquier fecha en el futuro |
|
American Express | Any 4 digits | Cualquier fecha en el futuro |
|
Discover | 3 dígitos cualesquiera | Cualquier fecha en el futuro |
|
Discover | 3 dígitos cualesquiera | Cualquier fecha en el futuro |
|
Diners Club | 3 dígitos cualesquiera | Cualquier fecha en el futuro |
|
Diners Club (14 digit card) | 3 dígitos cualesquiera | Cualquier fecha en el futuro |
|
JCB | 3 dígitos cualesquiera | Cualquier fecha en el futuro |
|
UnionPay | 3 dígitos cualesquiera | Cualquier fecha en el futuro |
Recomendamos usar nuestros ID de prueba al probar su integración y crear cargos, en lugar de pasar la información de la tarjeta directamente a la API. El uso de estas ID de prueba en lugar de los números de tarjeta ayuda a garantizar que su integración de producción se desarrolle de una manera compatible con PCI y no maneje la información de la tarjeta directamente. Cada ID de prueba es legible por humanos y representa la información de la tarjeta que se ha tokenizado con nuestras bibliotecas del lado del cliente (por ejemplo, Stripe Elements, Stripe.js).
Números de tarjetas de prueba internacionales
Puede utilizar cualquiera de las siguientes tarjetas de prueba para simular un pago exitoso para diferentes países de facturación.
Number |
Token |
Payment Method |
Country |
Brand |
---|---|---|---|---|
|
tok_us |
pm_card_us |
United States (US) | Visa |
|
tok_br |
pm_card_br |
Brazil (BR) | Visa |
|
tok_ca |
pm_card_ca |
Canada (CA) | Visa |
|
tok_mx |
pm_card_mx |
Mexico (MX) | Visa |
Números de tarjetas de prueba reglamentarias (3D Secure)
La siguiente información de la tarjeta prueba los pagos afectados por normativas regionales, como la autenticación reforzada de clientes (SCA). Úselo para probar las tarjetas de ahorro con la API Setup Intents.
Number |
Description |
---|---|
|
This card requires authentication for one-time payments. However, if you set up this card and use the saved card for subsequent off-session payments, no further authentication is needed. |
|
This card requires authentication on all transactions, regardless of how the card is set up. |
|
This card requires authentication for one-time payments. All payments will be declined with an insufficient_funds failure code even after being successfully authenticated or previously set up. |
|
This card requires authentication for one-time and other on-session payments. However, all off-session payments will succeed as if the card has been previously set up. |
Números y tokens de tarjetas de prueba 3D Secure
No todas las tarjetas son compatibles con 3D Secure o requieren que redirija al cliente a la página de autenticación del emisor de la tarjeta. Utilice la siguiente información de la tarjeta para probar los pagos de 3D Secure; tenga en cuenta que los redireccionamientos de 3D Secure no se producirán para los pagos creados directamente en Stripe Dashboard.
Number |
3D Secure usage |
Description |
---|---|---|
|
Required | 3D Secure 2 authentication must be completed for the payment to be successful. By default, your Radar rules will request 3D Secure authentication for this card. |
|
Required | 3D Secure authentication must be completed for the payment to be successful. By default, your Radar rules will request 3D Secure authentication for this card. |
|
Required | 3D Secure authentication is required, but payments will be declined with a card_declined failure code after authentication. By default, your Radar rules will request 3D Secure authentication for this card. |
|
Required | 3D Secure authentication is required, but the 3D Secure lookup request will fail with a processing error. Payments will be declined with a card_declined failure code. By default, your Radar rules will request 3D Secure authentication for this card. |
|
Supported | 3D Secure authentication may still be performed, but is not required. By default, your Radar rules will not request 3D Secure authentication for this card. |
|
Supported | 3D Secure authentication may still be performed, but is not required. However, attempts to perform 3D Secure result in a processing error. By default, your Radar rules will not request 3D Secure authentication for this card. |
|
Supported | 3D Secure is supported for this card, but this card is not enrolled in 3D Secure. This means that if 3D Secure is requested by your Radar rules, the customer will not go through additional authentication. By default, your Radar rules will not request 3D Secure authentication for this card. |
|
Not supported | 3D Secure is not supported on this card and cannot be invoked. The PaymentIntent will proceed without performing authentication. |
Todas las demás tarjetas de prueba Visa y Mastercard no requieren autenticación del emisor de la tarjeta del cliente.
Prueba de respuestas y errores específicos
Puede utilizar las siguientes tarjetas de prueba para crear pagos que produzcan respuestas específicas, útiles para probar diferentes escenarios y códigos de error. Las comprobaciones de verificación solo se ejecutan cuando se proporciona la información requerida (por ejemplo, para que el comprobador de CVC se establezca para fallar, se debe proporcionar un código CVC).
Number |
Description |
---|---|
|
Charge succeeds and funds will be added directly to your available balance (bypassing your pending balance). |
|
Charge succeeds and funds will be added directly to your available balance (bypassing your pending balance). |
|
Charge succeeds and domestic pricing is used (other test cards use international pricing). This card is only significant in countries with split pricing. |
|
The address_line1_check and address_zip_check verifications fail. If your account is blocking payments that fail postal code validation, the charge is declined. |
|
Charge succeeds but the address_line1_check verification fails. |
|
The address_zip_check verification fails. If your account is blocking payments that fail postal code validation, the charge is declined. |
|
Charge succeeds but the address_zip_check and address_line1_check verifications are both unavailable . |
|
Charge succeeds but refunding a captured charge fails asynchronously with a failure_reason of expired_or_canceled_card . Note that because refund failures are asynchronous, the refund will appear to be successful at first and will only have the failed status on subsequent fetches. We also notify you of refund failures using the charge.refund.updated webhook event. |
|
Charge succeeds but refunds are initially held in the pending state. Some time later the refund is released from pending and sends a charge.refund.updated webhook event. |
|
If a CVC number is provided, the cvc_check fails. If your account is blocking payments that fail CVC code validation, the charge is declined. |
|
Attaching this card to a Customer object succeeds, but attempts to charge the customer fail. |
|
Results in a charge with a risk_level of elevated. |
|
Results in a charge with a risk_level of highest. |
|
Results in a charge with a risk_level of highest. The charge is blocked as it’s considered fraudulent. |
|
Charge is declined with a card_declined code. |
|
Charge is declined with a card_declined code. The decline_code attribute is insufficient_funds . |
|
Charge is declined with a card_declined code. The decline_code attribute is lost_card . |
|
Charge is declined with a card_declined code. The decline_code attribute is stolen_card . |
|
Charge is declined with an expired_card code. |
|
Charge is declined with an incorrect_cvc code. |
|
Charge is declined with a processing_error code. |
|
Charge is declined with an incorrect_number code as the card number fails the Luhn check. |
|
Charge succeeds and returns a brand_product of MWE . |
De forma predeterminada, el paso de datos de dirección o CVC con el número de tarjeta hace que las comprobaciones de dirección y CVC se realicen correctamente. Si no se especifica esta información, el valor de los cheques es nulo. Cualquier fecha de vencimiento en el futuro se considera válida.
También puede proporcionar detalles de tarjetas no válidas para probar códigos de error específicos resultantes de la información incorrecta. Por ejemplo:
- invalid_expiry_month: utilice un mes no válido (por ejemplo, 13)
- invalid_expiry_year: use un año en el pasado (por ejemplo, 1970)
- invalid_cvc: use un número de dos dígitos (por ejemplo, 99)
Números de tarjetas de prueba de Cartes Bancaires
En el modo de prueba, puede usar las tarjetas de prueba a continuación para simular un cargo de Cartes Bancaires:
Number |
Description |
---|---|
|
Creates a Cartes Bancaires card payment method co-branded with Visa. |
|
Creates a Cartes Bancaires card payment method co-branded with Mastercard. |
Disputas
En el modo de prueba, puede usar las tarjetas de prueba a continuación para simular una transacción en disputa:
Number |
Description |
---|---|
|
With default account settings, charge succeeds, only to be disputed as fraudulent. This type of dispute is protected if 3D Secure was run. |
|
With default account settings, charge succeeds, only to be disputed as product not received. This type of dispute is not protected if 3D Secure was run. |
|
With default account settings, charge succeeds, only to be disputed as an inquiry. |
|
With default account settings, charge succeeds, only to receive an early fraud warning.
|
Envíe cualquiera de los siguientes valores de un texto no categorizado para probar un resultado de disputa ganado o perdido:
Evidence |
Description |
---|---|
winning_evidence |
The dispute is closed and marked as won. Your account is credited the amount of the charge and related fees. |
losing_evidence |
The dispute is closed and marked as lost. Your account is not credited. |
También puede utilizar estos valores para probar los resultados de las disputas en el panel. Ingrese uno de estos valores en el campo Información adicional durante el envío de evidencia y luego haga clic en Enviar evidencia.
Link with Stripe
Puede crear cuentas en modo de prueba para Link with Stripe utilizando cualquier dirección de correo electrónico válida. Puede usar valores de código de acceso fijos de un solo uso para autenticar cuentas en modo de prueba, como se describe a continuación:
Value |
Outcome |
---|---|
Any other 6 digits not listed below | Authentication succeeds. |
000001 | Authentication fails because the one-time passcode is invalid. |
000002 | Authentication fails because the one-time passcode is expired. |
000003 | Authentication fails because the maximum number of attempts is exceeded. |
Límites de tarifa
Es muy poco probable que los usuarios experimenten algún límite de velocidad con el uso normal de la API, incluso a un gran volumen. Las causas más comunes por las que un usuario experimenta límites de frecuencia son errores, recuperaciones de datos masivos o pruebas de carga extrema.
Si sus solicitudes comienzan a recibir 429 errores HTTP, reduzca la frecuencia de sus solicitudes. Es seguro volver a intentar cada solicitud fallida, ya que la limitación de velocidad se lleva a cabo antes de cualquier otra acción y evita que se procese la solicitud. Cuando reduzca la frecuencia de su solicitud, le recomendamos un retroceso exponencial esperando primero un segundo antes de volver a intentarlo. Si su solicitud continúa recibiendo la misma respuesta, espere dos segundos, luego cuatro segundos y así sucesivamente.
El límite de frecuencia en el modo de prueba es más bajo que en el modo en vivo. Si tiene límites de tarifas pero no puede determinar el motivo, háganoslo saber.
Fuentes
Utilice la siguiente información cuando pruebe los pagos mediante las fuentes.
Redirigir fuentes
Al crear un objeto de origen de prueba que utiliza un flujo de redireccionamiento (por ejemplo, iDEAL), puede seguir la URL devuelta en el campo de redireccionamiento [url]. Esto conduce a una página de Stripe que muestra información sobre la solicitud de API y donde puede autorizar o cancelar el pago.
Al autorizar el pago, se le redirige a la URL especificada en la redirección [return_url].
Débito directo BECS en Australia
Puede crear un PaymentIntent de prueba que tenga éxito o falle haciendo lo siguiente:
Cree un método de pago de prueba con el BSB 000-000 de prueba y un número de cuenta de prueba de la lista siguiente.
Utilice el PaymentMethod resultante en una solicitud confirmAuBecsDebitPayment para crear el cargo de prueba.
Números de prueba de cuenta
Account Number |
Description |
---|---|
000123456 |
The PaymentIntent status transitions from processing to succeeded . The mandate status remains active . |
900123456 |
The PaymentIntent status transitions from processing to succeeded (with a three-minute delay). The mandate status remains active . |
111111113 |
The PaymentIntent status transitions from processing to requires_payment_method with an account_closed failure code. The mandate status will become inactive . |
111111116 |
The PaymentIntent status transitions from processing to requires_payment_method with a no_account failure code. The mandate status will become inactive . |
222222227 |
The PaymentIntent status transitions from processing to requires_payment_method with a refer_to_customer failure code. The mandate status will remain active . |
922222227 |
The PaymentIntent status transitions from processing to requires_payment_method with a refer_to_customer failure code (with a three-minute delay). The mandate status will remain active . |
333333335 |
The PaymentIntent status transitions from processing to requires_payment_method with a debit_not_authorized failure code. The mandate status will become inactive . |
Webhooks
Consulte Webhooks para aprender a instalar y configurar un punto final.
Para probar su integración, realice acciones utilizando la API (en modo de prueba) para enviar eventos legítimos a su punto final. Por ejemplo, la creación de un cargo desencadena el evento charge.succeeded que contiene los datos del cargo. Puede desencadenar eventos fácilmente con Stripe CLI o Stripe para Visual Studio Code. A continuación, puede utilizar la API para verificar los datos del evento resultante. Si está migrando a la API de intenciones de pago, consulte también Supervisión de una intención de pago con webhooks.
También puede enviar eventos de prueba al punto final de su integración dentro de la configuración de webhooks de su cuenta. Sin embargo, los datos de eventos contenidos en estos eventos se fabrican y no están disponibles en la API; su propósito es solo probar que su punto final está funcionando y configurado correctamente.