# Modo

# 1. Procesar pago

POST /pagos

Se utiliza para procesar un pago.

REQUEST

  • provider: (Tipo de dato: string). Nombre del proveedor del servicio (modo). Campo obligatorio.

  • action: (Tipo de dato: string). Identificador de la acción a procesar (create). Campo obligatorio.

  • user: (Tipo de dato: string). Nombre de usuario provisto por Modo. Campo obligatorio.

  • password: (Tipo de dato: string). Password provisto por Modo. Campo obligatorio.

  • store_id: (Tipo de dato: string). Id de la tienda provisto por Modo. Campo obligatorio.

  • amount:(Tipo de dato: string). Monto a cobrar. Campo obligatorio.

  • reference_id: (Tipo de dato: string). Id de la orden. Campo obligatorio.

  • quantity: (Tipo de dato: string). Cantidad de productos. Campo obligatorio.

  • description:(Tipo de dato: string). Nombre del producto. Campo obligatorio.

  • currency: (Tipo de dato: string). Código de moneda. Campo obligatorio.

{
    "provider": "modo",
    "action": "create",
    "user": "powpreprod",
    "password": "powpreprod",
    "store_id":"9a8ca627-0bf8-4de8-9d5e-f71bf592bfc5",
    "reference_id": "3456789", 
    "amount": "1000", 
    "quantity":"1", 
    "description":"Producto", 
    "currency": "ARS"
}

RESPONSE

El método devuelve el id del pago, el código qr y el deeplink (link de pago). Se debe emplear en el JS de Modo para el Frontend.

{
    "createdAt": "2023-08-29T19:16:28.789Z",
    "hasCaptureFlow": false,
    "productName": "Producto",
    "price": "1000",
    "quantity": "1",
    "storeId": "9a8ca627-0bf8-4de8-9d5e-f71bf592bfc5",
    "externalIntentionId": "3456789",
    "expirationAt": 600000,
    "status": "CREATED",
    "expirationDate": "2023-08-29T19:26:28.786Z",
    "qr": "00020101021226590024ar.com.modo.decidir-plus0127WGGDpasJBZmV1hlY2HlebcYpne3520459695303032540410005802AR5908Pow Test6012Buenos Aires62900308920032790522v8tVTzdrCJkKkXE2jFrumK0708920032790818BOTON_DE_PAGO_MODO10073333333110352280380024ar.com.modo.decidir-plus0106online81380024ar.com.modo.decidir-plus01010020106304C662",
    "paymentId": null,
    "subPayments": null,
    "id": "ebe47080-b35d-4172-968b-52daf25e037b",
    "concurrencyTimestamp": null,
    "deeplink": "https://www.preprod.modo.com.ar/pagar/"
}

# 2. Obtener pagos realizados

POST /pagos

Es un endpoint solamente informativo. Permite obtener la información de una intención de pago.

REQUEST

  • provider: (Tipo de dato: string). Nombre del proveedor del servicio (modo). Campo obligatorio.

  • action: (Tipo de dato: string). Identificador de la acción a procesar (obtain_payment_info). Campo obligatorio.

  • password: (Tipo de dato: string). Password de la marca provisto por Modo. Campo obligatorio.

  • user: (Tipo de dato: string). Nombre de usuario provisto por Modo. Campo obligatorio.

  • payment_id: (Tipo de dato: string). Id del pago. Campo obligatorio.

{
    "provider": "modo",
    "action": "obtain_payment_info",
    "user": "powpreprod",
    "password": "powpreprod",
    "payment_id":"407af50c-7d02-49e2-9a71-a0afb5e8a034"
}

RESPONSE

  • status: Status del pago. Puede ser CREATED, SCANNED, PROCESSING, ACCEPTED (pago realizado) o REJECTED (pago rechazado).
{
    "hasCaptureFlow": false,
    "id": "407af50c-7d02-49e2-9a71-a0afb5e8a034",
    "productName": "Producto",
    "price": "1150.000",
    "quantity": 1,
    "storeId": "9a8ca627-0bf8-4de8-9d5e-f71bf592bfc5",
    "externalIntentionId": "6760-36",
    "expirationAt": 600000,
    "qr": "00020101021226590024ar.com.modo.decidir-plus0127WGGDpasJBZmV1hlY2HlebcYpne352045969530303254071150.005802AR5908Pow Test6012Buenos Aires629003089200327905228XPbLS8HCm65vYrWx6CZUq0708920032790818BOTON_DE_PAGO_MODO10073333333110352280380024ar.com.modo.decidir-plus0106online81380024ar.com.modo.decidir-plus01010020106304AABC",
    "status": "ACCEPTED",
    "paymentId": "0ed5b316-c44c-4572-abf9-72cf528e9b71",
    "subPayments": null,
    "createdAt": "2023-08-28T12:23:19.324Z",
    "expirationDate": "2023-08-28T12:33:19.321Z",
    "concurrencyTimestamp": null,
    "intentionReuseEnabled": true
}

# 3. Anulación/Devolución de pago

Se utiliza para anular un pago en su totalidad o de forma parcial.

POST /pagos

REQUEST

  • provider: (Tipo de dato: string). Nombre del Servicio de Pagos ("modo"). Campo obligatorio.

  • action: (Tipo de dato: string). Tipo de acción a ejecutar ("refund"). Campo obligatorio.

  • password: (Tipo de dato: string). Password de la marca provisto por Modo. Campo obligatorio.

  • user: (Tipo de dato: string). Nombre de usuario provisto por Modo. Campo obligatorio.

  • payment_id: (Tipo de dato: string). Id del pago. Campo obligatorio.

{

    "provider": "modo",
    "action": "refund",
    "user": "powpreprod",
    "password": "powpreprod",
    "payment_id":"407af50c-7d02-49e2-9a71-a0afb5e8a034"
    "ambient": "developer"
}

RESPONSE

  • status: Indica el status de la transacción. Si devuelve "approved", el pago está anulado.
{
  "status": "succeeded",
  "reference_transaction_token": "HdUuM05sFwyvA1FeJtAd02aXZXm",
  "amount": 250.15,
  "currency_code": "ARS",
  "message": "Succeeded!"
}