Saltar al contenido principal

Crear una intención de pago

Tras crear una intención de pago, asocia un método de pago y confirma la intención para finalizar la transacción.

El uso de confirm=true durante la creación equivale a crear y confirmar la intención de pago en la misma llamada. Al aplicar confirm=true, se permite el uso de cualquier parámetro de la API confirm.

POST https://api.stripe.com/v1/payment_intents

nota

Debes enviar la solicitud confirm a través de HTTPS.

Ejemplos

Ejemplo de cURL:

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

Respuestas

Las respuestas devuelven códigos estándar.

200: OK

Response
{
"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
}

Respuestas de error

400: Bad Request

Response
{
"error": {
"code": "parameter_invalid_integer",
"doc_url": "https://stripe.com/docs/error-codes/parameter-invalid-integer",
"message": "Invalid integer: <integer>",
"param": "amount",
"request_log_url": "https://dashboard.stripe.com/test/logs/req_UQf6XBwBl9yk66?t=1734829676",
"type": "invalid_request_error"
}
}

401: Unauthorized

Response
{
"error": {
"type": "invalid_request_error",
"message": "Invalid API Key provided: sk_test_********************1234"
}
}

Parámetros

Parámetros del cuerpo
ParámetroTipoDescripción
amountentero(Obligatorio) El importe total a cobrar. Introduce un número entero positivo expresado en la unidad más pequeña de la moneda (por ejemplo, 100 céntimos para 1,00 $).
currencycadena(Obligatorio) Código ISO de moneda de tres letras, en minúsculas. Debe ser una moneda admitida.
confirmbooleanoEstablece este valor en «true» para intentar confirmar esta intención de pago (PaymentIntent) de forma inmediata.
customercadenaID del cliente al que pertenece este PaymentIntent, si existe.
descriptioncadenaUna cadena de caracteres arbitraria asociada al objeto.
payment_methodcadenaID del método de pago que se va a asociar a este PaymentIntent.
payment_method_types[]matriz de cadenasLista de tipos de métodos de pago que puede utilizar este PaymentIntent.
shippingobjetoInformación de envío para PaymentIntent.
statement_descriptorcadenaUna cadena de caracteres arbitraria que aparece en el extracto de la tarjeta de crédito de tu cliente.
statement_descriptor_suffixcadenaProporciona información adicional que aparece en el extracto de la tarjeta de crédito de tu cliente.
expand[]matriz de cadenasIdentifica objetos de respuesta anidados para enriquecerlos y devolverlos en línea.