Saltar al contenido principal

Gestionar suscripciones

Actualiza, cancela, reanuda y lista suscripciones con la API de suscripciones.

Obtener una suscripción​

GET /api/v1/subscriptions/:id

Devuelve el objeto de suscripción completo. Úsalo para comprobar el estado, current_period_end, latest_payment_link y (en auto_charge) los detalles de auto_charge.

Ejemplo:

curl https://api.orcarail.com/api/v1/subscriptions/sub_550e8400e29b41d4a716446655440000 \
-H "Authorization: Bearer YOUR_JWT_TOKEN"

Listar suscripciones​

GET /api/v1/subscriptions

Admite paginación por cursor y filtros.

Parámetros de consulta​

ParámetroTipoDescripción
statusstringFiltra por estado: trialing, active, past_due, canceled, paused, completed
collection_methodstringFiltra por send_payment_link o auto_charge
current_period_startobjectFiltra por periodo: gt, gte, lt, lte (marcas de tiempo ISO)
current_period_endobjectIgual que el anterior para el fin del periodo
createdobjectFiltra por creación: gt, gte, lt, lte
limitnumberTamaño de página (por defecto 10, máximo 100)
starting_afterstringCursor: ID de suscripción a partir del cual empezar
ending_beforestringCursor: ID de suscripción antes del cual terminar

Ejemplo:

curl "https://api.orcarail.com/api/v1/subscriptions?status=active&limit=20" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"

Forma de la respuesta:

{
"object": "list",
"data": [ { ... subscription objects ... } ],
"has_more": false
}

Actualizar una suscripción​

PATCH /api/v1/subscriptions/:id

Actualización parcial. Envía solo los campos que quieras cambiar.

Campos actualizables​

ParámetroTipoDescripción
descriptionstringDescripción de la suscripción
amountstringNuevo importe por periodo
currencystringCódigo de moneda
token_idstringID del token
network_idstringID de la red
collection_methodstringsend_payment_link o auto_charge
cancel_atstring | nullMarca de tiempo ISO en la que cancelar, o null para borrarla
cancel_at_period_endbooleanCancelar al final del periodo actual
days_until_duenumberDías tras el fin del periodo hasta que vence
trial_endstringCuándo termina la prueba (ISO o "now")
metadataobjectMetadatos clave-valor
withdrawal_addressesobjectTipo de cadena → dirección
pause_collectionobject | null{ "behavior": "void" | "keep_as_draft" } para pausar; null para reanudar

Ejemplo (cancelar al final del periodo):

curl -X PATCH https://api.orcarail.com/api/v1/subscriptions/sub_xxx \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "cancel_at_period_end": true }'

Ejemplo (pausar el cobro):

{
"pause_collection": { "behavior": "void" }
}

Cancelar una suscripción​

DELETE /api/v1/subscriptions/:id

Cancela de inmediato o al final del periodo (si antes definiste cancel_at_period_end). El cuerpo de la petición es opcional.

Cuerpo de la cancelación (opcional)​

ParámetroTipoDescripción
cancellation_detailsobjectComentarios opcionales
cancellation_details.commentstringComentario de texto libre
cancellation_details.feedbackstringUno de: too_expensive, missing_features, switched_service, unused, other

Ejemplo:

curl -X DELETE https://api.orcarail.com/api/v1/subscriptions/sub_xxx \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"cancellation_details": {
"comment": "Switching to annual",
"feedback": "other"
}
}'

Reanudar una suscripción​

POST /api/v1/subscriptions/:id/resume

Reanuda una suscripción en pausa. No requiere cuerpo. Tras reanudarla, la suscripción vuelve a active y el siguiente ciclo creará un enlace de pago o ejecutará el cobro automático según la configuración.

Ejemplo:

curl -X POST https://api.orcarail.com/api/v1/subscriptions/sub_xxx/resume \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
GET /api/v1/subscriptions/:id/payment-links

Devuelve los enlaces de pago (uno por ciclo de facturación) de esta suscripción. Admite paginación (por ejemplo limit, starting_after, ending_before). Úsalo para mostrar el historial de ciclos o el estado del enlace de cada periodo.

Ejemplo:

curl "https://api.orcarail.com/api/v1/subscriptions/sub_xxx/payment-links?limit=10" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"

Próximos pasos​