Skip to Content
Referencia de la APIPagosSolicitud de link de pago

Solicitud de link de pago

POST {endpoint definido por la aplicación}

Para aplicaciones de pago, se debe implementar el siguiente flujo que requiere la creación de un endpoint de tipo POST que reciba el siguiente body y headers, y retorne la url para que el usuario abone dicha orden.

A diferencia de los demás endpoints de esta documentación, en este caso es Empretienda quien realiza la petición HTTP hacia un endpoint provisto por la aplicación.

Headers

{ "X-Shop-Id": "1234", "X-API-Key": "api-key-provisto-por-app" }
ParámetroTipoDescripción
X-Shop-IdstringIdentificador único de la tienda que desea obtener un link de pago.
X-API-KeystringAPI Key provisto por la aplicación para validar la solicitud.

Body

{ "title": "Orden de TiendaOnline #12", "logo": "https://cdn.com/logo.jpg", "external_reference": "order-4542523", "currency": "ARS", "total": 1100.00, "subtotal": 1000.00, "coupon_discount": 0.00, "payment_method_discount": 0.00, "shipment_price": 100.00, "customer": { "email": "usuario@example.com", "name": "John", "surname": "Doe", "identification": { "type": "DNI", "value": "12345678" }, "phone": "5491100000000", "address": { "street": "Calle Falsa", "number": "123", "floor": "3", "apartment": "B", "city": "La Plata", "state": "Buenos Aires", "zip_code": "1900", "country": "Argentina" } }, "urls": { "success": "https://tiendaonline.com.ar/order?order_status=success", "error": "https://tiendaonline.com.ar/order?order_status=error", "pending": "https://tiendaonline.com.ar/order?order_status=pending" } }
NombreTipoOpcionalDescripción
titlestringNoCorresponde al título para el link de pago.
logostringNoLink para logo de la tienda. Puede valer null.
external_referencestringNoCorresponde al id de la orden en Empretienda. Debe ser utilizado para posteriormente actualizar el estado de pago de la orden mediante el endpoint “Actualizar estado de pago de una orden”.
currencystringNoIdentificador al tipo de moneda. ARS para aplicaciones de Argentina, COP para aplicaciones de Colombia.
totalfloatNoCorresponde al monto que debe pagar el usuario, es calculado como: total = subtotal - coupon_discount - payment_method_discount + shipment_price.
subtotalfloatNoCorresponde a la suma de los precios de los productos de la orden.
coupon_discountfloatNoIndica el monto de descuento generado por un cupón de descuento de la orden. En caso de que su valor sea 0, entonces no hay cupón de descuento aplicado.
payment_method_discountfloatNoIndica si se hizo un descuento por abonar la orden con el método de pago. En caso de que su valor sea 0, entonces no se hizo dicho descuento.
shipment_pricefloatNoIndica el costo del envío de la orden (vale null si no aplica, 0 envío gratis y x>0 si posee envío que se abona en la orden).
customerobjectNoObjeto que contiene información del cliente.
customer.namestringNoCorresponde al nombre del cliente.
customer.surnamestringNoCorresponde al apellido del cliente.
customer.identification.typestringNoCorresponde al tipo de identificación del cliente. Valor posible: DNI.
customer.identification.valuestringNoCorresponde al identificador del cliente.
customer.emailstringNoCorresponde al email del cliente.
customer.phonestringNoCorresponde al teléfono del cliente.
customer.addressobjectSiObjeto que contiene información de la dirección del cliente. Puede no venir.
customer.address.streetstringNoCalle de la dirección del cliente.
customer.address.numberstringNoNúmero de calle de la dirección del cliente.
customer.address.floorstringSiPiso del departamento del cliente. Puede valer null.
customer.address.apartmentstringSiDepartamento del cliente. Puede valer null.
customer.address.citystringNoCiudad del cliente.
customer.address.statestringNoProvincia o estado del cliente.
customer.address.zip_codestringSiCódigo postal del cliente. Puede valer null.
customer.address.countrystringNoPaís del cliente.
urlsobjectNoContiene las urls de redirección para pago exitoso, pago pendiente y pago con error.
urls.successstringNoUrl para que la aplicación haga redirección en caso de que el pago fue exitoso.
urls.errorstringNoUrl para que la aplicación haga redirección en caso de que el pago no se pudo procesar.
urls.pendingstringNoUrl para que la aplicación haga redirección en caso de que el pago haya quedado en estado pendiente y requiera de una acción del usuario, por ejemplo: si el cobro es por pago fácil.

Response exitosa: 200 Ok

El endpoint debe retornar una respuesta HTTP Code 200 con el siguiente payload:

{ "url": "https://plataformadepago.com/link-de-pago", "payment": { "status": -1, "main_reference_id": "some-main-code-22370fd1-e1ea-4dd6-bc27-8d3b081e8d4c", "extra_reference_id": "some-extra-code-22370fd1-e1ea-4dd6-bc27-8d3b081e8d4c" } }

Campos de la respuesta

NombreTipoObligatorioDescripción
urlstringSiLink de pago para redireccionar al usuario.
paymentobjectSiInformación del pago.
payment.statusnumberSiContiene el identificador de estado de pago inicial de la orden. Los valores permitidos son del -1 al 7: -1: Esperando pago, 0: Pendiente, 1: Finalizado, 2: En proceso, 3: En mediación, 4: Rechazada, 5: Cancelada, 6: Pago devuelto, 7: En contracargo.
payment.main_reference_idstringNoCorresponde al identificador principal de la integración utilizada para el cobro de la orden. Nota: campo opcional.
payment.extra_reference_idstringNoCorresponde al identificador secundario de la integración utilizada para el cobro de la orden. Nota: campo opcional.

Responses de error

A diferencia del resto de los endpoints de esta documentación, en este caso la respuesta HTTP la genera la aplicación, no Empretienda. Se recomienda que el endpoint responda con un HTTP Code distinto de 200 ante cualquier error para que Empretienda pueda identificarlo como tal.