/plan/{plan_id}
Actualización de la configuración del plan
(PUT /plan/<plan_id>)
Los únicos campos a poder modificarse actualmente son: amount y method periodicity y la fecha del último evento.
Cualquiera de los campos contenidos dentro del método de pago como pueden ser: token
, iban
, scheme
, ... Son susceptibles de poder modificarse individualmente siempre que no se cambie el tipo del método de pago, por ejemplo, de tipo card
a tipo debit
.
En caso de que se haga un cambio del método de pago deberán cumplimentarse todos los campos obligatorios para ese método en concreto.
Los campos obligatorios para el tipo card
serían: token
Los campos obligatorios para el tipo debit
serían: iban
, signed_at
y scheme
En caso de querer modificarse el periodo de cobro hay que tener en cuenta que si se hace 1 día antes del procesamiento del próximo evento, el cambio afectará al cálculo del siguiente evento, por ejemplo, Si un evento programado se fuese a lanzar el 2017-09-07, la fecha límite para que el cambio de periodicidad afecte al próximo evento sería 2017-09-06, en caso contrario, el cambio entrará en vigor en el próximo evento.
En caso de querer modificar la fecha del último evento hay que tener en cuenta que la fecha limite es hasta 1 día antes del procesamiento, en caso contrario, podría afectar al siguiente evento calculado, por ejemplo, si un evento está programado para lanzarse el 2017-09-07 la fecha límite para modificar dicho evento sería 2017-09-06, a partir de dicha fecha se estaría modificando el siguiente evento calculado.
Importante: Las modificaciones del método de pago y el importe tendrán efecto si se hacen con 1 día de antelación como máximo a la fecha de procesamiento del evento.
Importante: Si un evento se encuentra en proceso no se podrá modificar.
Cuerpo de la petición
- amount:(integer): ): Importe fijo asociado al plan. Será una cadena de texto o un número entero de como máximo de 10 cifras, por ejemplo, "0000000100" o 100, ambas representaciones darán como resultado 1,00€
100
- restricciones:
- longitud máxima: 10
- longitud mínima: 1
- valor mínimo: 1
- valor máximo: 9999999999
- restricciones:
- method(object): Información asociada al método de pago
- type(string): Tipo de método
- debit
- card
- token(string): Identificador de la tarjeta. Este campo es obligatorio si el método es card.
card-token-123456
- restricciones:
- patrón: [\w-]
- longitud mínima: 6
- longitud máxima: 128
- restricciones:
- iban(string): Identificador de la cuenta bancaria. Obligatorio si el método escogido es debit
ES42587462354158786693215
- restricciones:
- patrón: [A-Z]2[0-9]32
- longitud mínima: 14
- longitud máxima: 34
- restricciones:
- mandate(object): Información relativa al mandato. Toda esta información es obligatoria si el método escogido es debit
- signed_at(string): Fecha y hora de firma del mandato
2016-01-25 14:06:55
- restricciones:
- formato: yyyy-mm-dd HH:MM:SS
- restricciones:
- reference(string): Identificador del mandato, otorgada por el comercio, y que sirve de referencia contra sus sistemas
reference-id-12456
- restricciones:
- patrón: [\w-]
- longitud máxima: 64
- longitud mínima: 1
- restricciones:
- scheme(enum[string]): Tipo adeudo directo SEPA
- CORE
- periodicity(string, required): Cadena de texto que indicará la periodicidad con la cual se cobrará el importe asociado al plan. Se indicará mediante un número seguido de cualquiera de las siguientes letras: "d", "w", "m", e "y" indicando días, semanas, meses y años respectivamente.
1m
- restricciones:
- patrón:
[1-9](?:[0-9]+)?[dwmy]
- patrón:
- signed_at(string): Fecha y hora de firma del mandato
- throw_at(string): Fecha de procesamiento del último evento a 1 día vista, por ejemplo, si estamos a 2016-09-05 solo se podrán definir fechas igual o superior a 2016-09-06
2016-09-08
- restricciones:
- formato: yyyy-mm-dd
- type(string): Tipo de método
Ej. Cambio de método a tarjeta
{
"key": "{{api-key}}",
"resource": "{{resource-key}}",
"nonce": "1234567890",
"mode": "sha256",
"payload": {
"method": {
"type": "card",
"token": "card-token-123456"
}
}
}
Ej. Cambio de método a adeudo
{
"key": "{{api-key}}",
"resource": "{{resource-key}}",
"nonce": "1234567890",
"mode": "sha256",
"payload": {
"method": {
"type": "debit",
"iban": "ES1234567891234567891234",
"mandate": {
"signed_at": "2016-01-28 14:06:55",
"reference": "client-reference-123465",
"scheme": "core"
}
}
}
}
Ej. Cambios individuales de un plan con tarjeta
{
"key": "{{api-key}}",
"resource": "{{resource-key}}",
"nonce": "1234567890",
"mode": "sha256",
"payload": {
"amount": 1000,
"method": {
"token": "card-token-654321"
}
}
}
}
Ej. Cambios individuales de un plan con adeudo
{
"key": "{{api-key}}",
"resource": "{{resource-key}}",
"nonce": "1234567890",
"mode": "sha256",
"payload": {
"amount": 1000,
"method": {
"iban": "ES1234567891234567891234",
"mandate": {
"scheme": "CORE"
}
}
}
}
}
Respuesta - success
{
"description": "Unknown",
"code": "X-XXXX",
"type": "unknown",
"request_id": null,
"detail": "plan_retrieved",
"uuid": "8ee7cf68-9e22-4fd2-8da4-bfd919ca0750",
"payload": {
"amount": 1000,
"fees": 12,
"description": "Annual playstation subscription",
"name": "12654-playstation-subscription",
"expired_at": null,
"plan_id": "5976fc0dc928580001cc5dd8",
"custom_data": {
"dummy": "foo"
},
"method": {
"type": "card",
"token": "card-token-65432"
},
"periodicity": "1m",
"resource": "resource-example-key",
"currency": "EUR",
"deleted_at": null,
"customer": {
"taxid": "29724381D",
"reference": "client-123465",
"name": "John Doe Sullivan"
},
"start_date": "2016-01-25",
"external_id": "external-reference-123456"
}
}