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ámetro | Tipo | Descripción |
|---|---|---|
limit | integer | Un 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_after | string | Un cursor para usar en la paginación. starting_after es un ID de objeto que define su lugar en la lista. |
ending_before | string | Un cursor para usar en la paginación. ending_before es un objeto ID que define su lugar en la lista. |
expand[] | array of strings | Especifica 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
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¤cy=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ámetro | Tipo | Descripción |
|---|---|---|
amount | integer | (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 $). |
currency | string | (Obligatorio) Código de moneda ISO de tres letras, en minúsculas. Debe ser una moneda soportada. |
confirm | boolean | Establézcalo en true para intentar confirmar este PaymentIntent inmediatamente. |
customer | string | ID del cliente al que pertenece esta PaymentIntent, si existe. |
description | string | Una cadena arbitraria adjunta al objeto. |
payment_method | string | ID del método de pago que se adjuntará a esta PaymentIntent. |
payment_method_types[] | array of strings | La lista de tipos de métodos de pago que puede utilizar esta PaymentIntent. |
shipping | object | Información de envío para la PaymentIntent. |
statement_descriptor | string | Una cadena arbitraria mostrada en el extracto de la tarjeta de crédito de su cliente. |
statement_descriptor_suffix | string | Proporciona detalles adicionales que se muestran en el extracto de la tarjeta de crédito del cliente. |
expand[] | array of strings | Especifica 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.
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ámetro | Tipo | Descripción |
|---|---|---|
expand[] | array of strings | Especifica qué campos de la respuesta deben expandirse. |
limit | integer | Un 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. |
page | string | Un 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. |
query | string | (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. |