Buenos días Aldo,
Con respecto a tu primera pregunta, te informamos que si es posible configurar la suscripción para que todos los clientes paguen el mismo día. Para esto, es necesario utilizar la variable "trialDays" cuando se creará la suscripción. Esta variable corresponde a los días de prueba que le proporcionarás al cliente. En el caso de tu ejemplo, para el cliente B (inscripción del 22) puedes especificar 8 días de prueba. De esta manera el primer cobro y los sucesivos se realizarán el día primero de cada mes.
En relación a los pagos de las suscripciones, utilizando el método GET y la URL /rest/v4.3/recurringBill?subscriptionId=id_suscripción, un ejemplo de respuesta es:
{"recurringBillList": [
{
"id": "ae5bd79e-3581-42e0-8167-a476e27d1ecd",
"orderId": 109354462,
"subscriptionId": "a6ae84u0sbxn",
"state": "NOT_PAID",
"amount": 2000,
"currency": "COP",
"dateCharge": 1462510800000
},
{
"id": "5153fb3e-bfd0-40b2-99f6-4d2f81fd58e8",
"subscriptionId": "a6ae84u0sbxn",
"state": "PENDING",
"amount": 2000,
"currency": "COP",
"dateCharge": 1465189200000
}
]}
En el ejemplo de respuesta los parámetros corresponden a:
- id: Identificador de la factura recurrente.
- subscriptionId: Identificador de la factura
- state: Estado del pago: "NOT_PAID" es un cobro que se realizó pero no se pagó (pago y reintentos fueron declinados); "PENDING" se refiere al próximo pago que se va a realizar, de acuerdo al intervalo de cobro; "RETRYING_PAYMENT" hace referencia al cobro que se realizó, pero debido a que fue declinado siguen los reintentos según especificados; cuando fue realizado el pago exitosamente el valor será PAID.
- amount: Valor del pago.
- currency: Moneda
- dateCharge: Fecha del cobro. Esta se retorna en formato TimeStamp Unix. Se deben retirar los últimos tres "0" y utilizar posteriormente un convertidor TimeStamp.