id es nuevo, o actualiza el pago existente cuando ya pertenece al comercio del access token. id es el UUID de Fire spark y es obligatorio en cada ítem. Envía solo los campos que cambian.
Requiere un access token con el scope
payments:write. Consulta
Token para obtener un token.merchant_id y env salen del token. Al crear, payment_provider_id y payment_method_id son obligatorios. El método debe pertenecer a ese proveedor. Si omites status, queda ACTIVE. Si omites los arreglos de alcance, el pago aplica a todas las tiendas, canales, marcas y fulfillments. Envía null en un pago existente para volver a ese alcance. private_key y webhook_signature se guardan, pero no salen en la respuesta.
Si envías config, rules o conditions, ese campo se reemplaza por completo. Si lo omites, se conserva el valor guardado.
Config
config se valida contra el slug del proveedor, el método y la versión de las filas del catálogo.
Cualquier otro proveedor, método o versión acepta un objeto JSON. Al crear, un
config omitido se valida como {}.
Un pago firespark REDEMPTION es una fuente de canje propia (vales, Yape, Masivo, etc.). El name del pago y config.logo_url identifican esa fuente, así que las tiendas los muestran en lugar del logo del proveedor Fire spark. logo_url es público: sale en las respuestas y llega a la tienda.
kushki:
Rules
rules es un arreglo de ventanas inclusivas de total del pedido. Cada ítem necesita minimum_order_value y maximum_order_value (0 a 1.000.000). [] significa que no hay tope de monto. Si omites rules al crear, se guarda [].
Conditions
conditions es un OR de grupos AND: el arreglo exterior es OR y cada arreglo interior es AND. [] significa que el pago aplica cuando coincide el alcance. Si omites conditions al crear, se guarda [].
Cada condición necesita primitive, type, operator y value. Opcionales: interpretation (client, server o both) e invalidMessage.
Primitivas de checkout que puedes enviar:
Order includes product también necesita product_id. Order includes product with tag también necesita tag.
Este ejemplo ofrece el pago cuando el total es al menos 10, o cuando el carrito tiene 3 productos o más:
Solicitud
id más los campos descritos arriba.
Respuesta
Zod valida el cuerpo completo antes de guardar. Si algún campo es inválido, responde HTTP400 y no se guarda ningún ítem. Cuando el cuerpo es válido, los ítems se guardan uno tras otro. El HTTP es 200 solo si todos se guardaron. Si un ítem posterior falla por una regla de negocio, el HTTP es el status de ese ítem (422 o 500).