Para los días que no existan en meses donde se debe realizar un pago, por ejemplo el día 31, el límite para realizar el pago de la suscripción será el último día de dicho mes.
import requestsimport hashlibimport jsonimport timeurl ='https://api-test.payvalida.com/v4/subscriptions'# Prepare the request payloadpayload ={"merchant":"kuanto","plan_id":"50e25c83-12ba-442f-adf8-6d410b376045", "checksum": "d171f0254271b731d06b91ad97bb0ec284e5997c997597cc8068fc688cb94f6b7dbe6295531e01b52c67cbeb2eddfcfabe29ca12323f118d77239001ed411869",
"start_date":"12/12/2024","customer":{"first_name":"user-name","last_name":"last-name","user_di":"999999999","type_di":"CC","cellphone":"+57112321131331","email":"user@example.com"}}# Create the checksumdata = payload['merchant']+ payload['plan_id']+'FIXED_HASH'checksum = hashlib.sha512(data.encode()).hexdigest()# Update the checksum value in the payloadpayload['checksum']= checksum# Send the POST requestresponse = requests.post(url, json=payload)# Print the response bodyprint('Response Body:', response.json())hin
Campo
Estructura
Tipo
Descripción
Cabecera
Valor
merchant
string
sí
Nombre asignado para el comercio en Payválida. Se entrega con las credenciales.
plan_id
string
sí
id del plan que se le asignará al cliente para activar la suscripción.
start_date
string
no
Fecha de inicio de la suscripción en formato DD/MM/AAAA. Si no se proporciona, se asignará la fecha de invocación. Esta fecha corresponde al primer pago y marca el comienzo de la frecuencia de pagos de la suscripción. Si el pago es con tarjeta de credito se tomara esta fecha como la fecha de hoy.
checksum
string
sí
Cadena de comprobación con SHA512 (merchant + plan_id + FIXED_HASH).
customer
struct
sí
Estructura con la información de usuario a la que se le enviará la suscripción
email
customer
string
sí
Correo electrónico del cliente. Debe cumplir con el formato estándar de correo válido.
user_di
customer
string
sí
Número del documento de identidad del cliente.
type_di
customer
string
sí
Tipo del documento de identidad del cliente.
first_name
customer
string
sí
Nombre del cliente en el documento de identidad (no acepta caracteres especiales ni acentos).
last_name
customer
string
sí
Apellido del cliente en el documento de identidad (no acepta caracteres especiales ni acentos).
cellphone
customer
string
sí
Número de celular del cliente. Debe llevar el indicativo del país.
credit_card_data
struct
no
Estructura para activar débito automático de tarjeta.
Número de documento de identificación de la persona que realiza la transacción.
holder_name
credit_card_data
string
sí (débito automático activo)
Nombre del titular de la tarjeta, sin apellidos.
holder_last_name
credit_card_data
string
sí (débito automático activo)
Apellidos del titular de la tarjeta.
email
credit_card_data
string
sí (débito automático activo)
Dirección de correo electrónico de la persona que realiza la transacción.
phone
credit_card_data
string
sí (débito automático activo)
Número telefónico de la persona que realiza la transacción sin indicativos.
ip
credit_card_data
string
sí (débito automático activo)
Dirección IP del dispositivo origen de la transacción, del usuario final.
header_user_agent
credit_card_data
string
sí (débito automático activo)
header_user_agent de el navegador de el usuario.
line1
credit_card_data
string
sí (débito automático activo)
Línea 1 asociada a la dirección de facturación del usuario.
line2
credit_card_data
string
sí (débito automático activo)
Línea 2 asociada a la dirección de facturación del usuario.
line3
credit_card_data
string
sí (débito automático activo)
Línea 3 asociada a la dirección de facturación del usuario.
country
credit_card_data
string
sí (débito automático activo)
País del usuario.
city
credit_card_data
string
sí (débito automático activo)
Ciudad del usuario.
state
credit_card_data
string
sí (débito automático activo)
Estado o departamento del usuario.
post_code
credit_card_data
string
sí (débito automático activo)
Código postal de usuario.
customer_id
string
no
Identificador único de un usuario con una suscripción existente. Al crear una nueva suscripción, puedes usar el customer_id para evitar enviar nuevamente la información del usuario y la tarjeta. Con el campo customer_id en el request las estructuras customer y credit_card_data no son requeridas.
CODE
-
string
Código de respuesta 0000 para OK.
DESC
-
string
Descripción de la respuesta.
DATA
-
string
Datos del registro
id
DATA
string
id generado para la suscripción
token
DATA(solo para debito automatico)
string
token generado para la transacción.
status
DATA
string
Estado en el que se encuentra la suscripción, puedes ver más detalles sobre los estados en el apartado de estados
id
DATA-CUSTOMER
string
id del cliente creado con la información suministrada
id
DATA-PLAN
string
id del plan suministrado para crear la suscripción