Saltar al contenido principal

Funciones de la API de Intención de Pago

Listar todas las intenciones de pago

Devuelve una lista de intenciones de pago.

Punto final: https://api.stripe.com/v1/payment_intents

Operación: GET

Ejemplos

Ejemplo de cURL:

curl -X GET https://api.stripe.com/v1/payment_intents \
-u <CLAVE_SECRETA>:

Respuestas

Las respuestas devolverán códigos estándar.

200: OK

{
"object": "list",
"data": [
{
"id": "pi_1234567890",
"object": "payment_intent",
"amount": 1000,
"currency": "usd",
"status": "requires_confirmation"
}
],
"has_more": false,
"url": "/v1/payment_intents"
}

400: Bad Request

{
"error": {
"message": "Si pasas un array con claves explícitas (por ejemplo, foo[0]=a&foo[1]=b) en lugar de como un array (por ejemplo, foo[]=a&foo[]=b), las claves deben ser numéricas y secuenciales empezando por 0. Has pasado las claves `1`, esperábamos tener una clave con el valor `0`",
"param": "expand",
"request_log_url": "https://dashboard.stripe.com/test/logs/req_kCeAL5FAly5bkh?t=1734734555",
"type": "invalid_request_error"
}
}

401: No autorizado

{
"error": {
"type": "invalid_request_error",
"message": "Clave de API no válida proporcionada: sk_test_********************1234".
}
}

Parámetros

Parámetros de consulta
ParámetroTipoDescripción
limitintegerUn límite en el número de objetos a devolver. El límite puede oscilar entre 1 y 100, y el valor predeterminado es 10.
starting_afterstringUn cursor para usar en la paginación. starting_after es un ID de objeto que define su lugar en la lista.
ending_beforestringUn cursor para usar en la paginación. ending_before es un objeto ID que define su lugar en la lista.
expand[]array of stringsEspecifica qué campos de la respuesta deben expandirse.

Crear una intención de pago

Una vez creada una intención de pago, adjunte un método de pago y confirme para continuar con el pago.

Utilizar confirm=true durante la creación equivale a crear y confirmar la intención de pago en la misma llamada. La aplicación de confirm=true permite el uso de cualquier parámetro de la API confirm.

Punto final: https://api.stripe.com/v1/payment_intents

Operación: POST

nota

La solicitud de confirm debe realizarse a través de HTTPS.

Ejemplos

Ejemplo de cURL:

curl -X POST https://api.stripe.com/v1/payment_intents \
-u <CLAVE_SECRETA>: \
-d "amount=212&currency=usd&payment_method=pm_card_visa&confirm=true"

Respuestas

Las respuestas devolverán códigos estándar.

200: OK

{
"id": "pi_3Rsx4dDtWMrPDtgt0mUrePJ9",
"object": "payment_intent",
"amount": 212,
"amount_capturable": 0,
"amount_details": {
"tip": {}
},
"amount_received": 0,
"application": null,
"application_fee_amount": null,
"automatic_payment_methods": {
"allow_redirects": "always",
"enabled": true
},
"canceled_at": null,
"cancellation_reason": null,
"capture_method": "automatic_async",
"client_secret": "pi_3Rsx4dDtWMrPDtgt0mUrePJ9_secret_7sqfufxuIYiBhbw52Vi51Z47o",
"confirmation_method": "automatic",
"created": 1754447247,
"currency": "usd",
"customer": null,
"description": null,
"last_payment_error": null,
"latest_charge": null,
"livemode": false,
"metadata": {},
"next_action": null,
"on_behalf_of": null,
"payment_method": null,
"payment_method_configuration_details": {
"id": "pmc_1RsGk1DtWMrPDtgtcaQ0d3Sg",
"parent": null
},
"payment_method_options": {
"amazon_pay": {
"express_checkout_element_session_id": null
},
"card": {
"installments": null,
"mandate_options": null,
"network": null,
"request_three_d_secure": "automatic"
},
"cashapp": {},
"klarna": {
"preferred_locale": null
},
"link": {
"persistent_token": null
}
},
"payment_method_types": [
"card",
"klarna",
"link",
"cashapp",
"amazon_pay"
],
"processing": null,
"receipt_email": null,
"review": null,
"setup_future_usage": null,
"shipping": null,
"source": null,
"statement_descriptor": null,
"statement_descriptor_suffix": null,
"status": "requires_payment_method",
"transfer_data": null,
"transfer_group": null
}

400: Bad Request

{
"error": {
"code": "parameter_invalid_integer",
"doc_url": "https://stripe.com/docs/error-codes/parameter-invalid-integer",
"message": "Número entero no válido: <integer>",
"param": "amount",
"request_log_url": "https://dashboard.stripe.com/test/logs/req_UQf6XBwBl9yk66?t=1734829676",
"type": "invalid_request_error"
}
}

401: No autorizado

{
"error": {
"type": "invalid_request_error",
"message": "Clave de API no válida proporcionada: sk_test_********************1234".
}
}

Parámetros

Parámetros del cuerpo
ParámetroTipoDescripción
amountinteger(Obligatorio) Importe que se pretende cobrar. Un número entero positivo que representa cuánto cobrar en la unidad monetaria más pequeña (por ejemplo, 100 céntimos para cobrar 1,00 $).
currencystring(Obligatorio) Código de moneda ISO de tres letras, en minúsculas. Debe ser una moneda soportada.
confirmbooleanEstablézcalo en true para intentar confirmar este PaymentIntent inmediatamente.
customerstringID del cliente al que pertenece esta PaymentIntent, si existe.
descriptionstringUna cadena arbitraria adjunta al objeto.
payment_methodstringID del método de pago que se adjuntará a esta PaymentIntent.
payment_method_types[]array of stringsLa lista de tipos de métodos de pago que puede utilizar esta PaymentIntent.
shippingobjectInformación de envío para la PaymentIntent.
statement_descriptorstringUna cadena arbitraria mostrada en el extracto de la tarjeta de crédito de su cliente.
statement_descriptor_suffixstringProporciona detalles adicionales que se muestran en el extracto de la tarjeta de crédito del cliente.
expand[]array of stringsEspecifica qué campos de la respuesta deben expandirse.

Buscar intentos de pago

Utilizando el Lenguaje de Consulta de Búsqueda de Stripe, puede buscar Intenciones de Pago creadas previamente.

No utilice la petición de búsqueda en flujos de lectura-después-escritura donde se necesite una consistencia estricta. En condiciones normales de funcionamiento, los datos pueden buscarse durante menos de un minuto. Ocasionalmente, la propagación de datos nuevos o actualizados puede retrasarse hasta una hora durante las interrupciones.

nota

La función de búsqueda no está disponible para los comerciantes de la India.

Punto final: https://api.stripe.com/v1/payment_intents/search

Operación: GET

Ejemplos

Ejemplo de cURL:

curl -X GET "https://api.stripe.com/v1/payment_intents/search?query=amount:1000" \
-u <CLAVE_SECRETA>:

Respuestas

Las respuestas devolverán códigos estándar.

200: OK

{
"object": "search_result",
"data": [],
"has_more": false,
"next_page": null,
"url": "/v1/payment_intents/search"
}

400: Bad Request

{
"error": {
"code": "parameter_invalid_string",
"doc_url": "https://stripe.com/docs/error-codes/parameter-invalid-string",
"message": "Proporcione un parámetro de consulta con una cadena de consulta de búsqueda válida",
"param": "query",
"type": "invalid_request_error"
}
}

401: No autorizado

{
"error": {
"type": "invalid_request_error",
"message": "Clave de API no válida proporcionada: sk_test_********************1234".
}
}

Parámetros

Parámetros de consulta
ParámetroTipoDescripción
expand[]array of stringsEspecifica qué campos de la respuesta deben expandirse.
limitintegerUn límite en el número de objetos a devolver. El límite puede oscilar entre 1 y 100, y el valor predeterminado es 10.
pagestringUn cursor para la paginación a través de múltiples páginas de resultados. No incluya este parámetro en la primera llamada. Utilice el valor next_page devuelto en una respuesta anterior para solicitar resultados posteriores.
querystring(Obligatorio) La cadena de consulta de búsqueda. Consulte el lenguaje de consulta de búsqueda y la lista de campos de consulta admitidos para las intenciones de pago.