# Payway

# 1. Procesar pago

POST /pagos

Permite procesar un pago.

REQUEST

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

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

  • *secuence_number: (Tipo de dato: string). Número para identificar la transacción y evitar repeticiones. Enviar uno diferente por cada request. No tiene extensión predeterminada. Campo obligatorio.

  • currency: (Tipo de dato: string). Id del medio de pago. Valores: "1" Visa, "104" MasterCard, "31" Visa Débito, "105" Mastercard débito. Campo obligatorio.

  • installments: (Tipo de dato: string). Cantidad de cuotas. Valores posibles: 1 a 99. Campo obligatorio.

  • amount: (Tipo de dato: string). Monto a cobrar sin puntos ni decimales (Ejemplo: 1200). Campo obligatorio.

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

  • public_key: (Tipo de dato: string). Public key provista por Payway a la marca. Campo obligatorio.

  • secret: (Tipo de dato: string). Private key provista por Payway a la marca. Campo obligatorio.

  • id_site: (Tipo de dato: string). Número de identificación de la marca. Campo obligatorio.

  • token:(Tipo de dato: string).Token obtenido al enviar el formulario desde el Front End. Campo obligatorio.

  • bin:(Tipo de dato: string). Primeros seis número de la tarjeta. Campo obligatorio.

  • ambien:(Tipo de dato: string). Ambiente al que se apuntará. Valores posibles: developer o production. Campo obligatorio.

{
    "provider": "payway",
    "action": "create",
    "amount": 270000.0,
    "reference_id": 8516,
    "currency": 1,
    "installments": 7,
    "secuence_number": "1062",
    "token": "3bcbdc09-fa62-4cbe-a783-a163b24e6f3b",
    "bin": "450799",
    "ip_address": "181.167.199.202",
    "address": {
        "city": "Ciudad Autónoma de Buenos Aires",
        "country": "AR",
        "customer_id": "andres.jaromezuk@pow.la",
        "email": "andres.jaromezuk@pow.la",
        "first_name": "Andrs",
        "last_name": "Jaromezuk",
        "phone_number": "42423139",
        "postal_code": "1001",
        "state": "Capital Federal",
        "doc_number": "29946689",
        "street1": "Valentín Gómez 1111",
        "street2": " ",
        "number": "1111"
    },
    "items": [
        {
            "code": "8516",
            "description": "2d175a34015cf4ef377151b381ea8f35",
            "name": "Order n° 8516",
            "sku": "8516",
            "total_amount": 270000,
            "quantity": 1,
            "unit_price": 270000
        }
    ],
    "public_key": "pwVY8BssgYipI8dZCk64TpGIZXHRmWHS",
    "secret": "NjUUNtiwOM63YHLF1DwbgN8YKu0jHoU8",
    "id_site": "348",
    "ambient": "developer"
}

RESPONSE

  • id: Id único que identifica la transacción. Se utiliza para anular el pago.

  • site_transaction_id: Numero compuesto por el "id_site" y el "secuence_number". Se utiliza para identificar la transacción ente Payway por cualquier reclamo.

{
    "id": 649060,
    "site_transaction_id": "5432-20",
    "token": "[TOKEN]",
    "customer": {
    "id": "pablo P",
    "email": "ppenalba@prismamp.com"
    },
    "payment_method_id": 1,
    "bin": "450799",
    "amount": 20000,
    "currency": "ars",
    "installments": 99,
    "payment_type": "single",
    "sub_payments": [],
    "status": "approved",
    "confirmed": null,
    "status_details": {
    "ticket": "5147",
    "card_authorization_code": "192507",
    "address_validation_code": "VTE0011",
    "error": null
    },
    "date": "2017-09-29T19:25Z",
    "site_id": null,
    "establishment_name": "prueba desa soft",
    "fraud_detection": {
    "status": null
    },
    "aggregate_data": null,
    "pan": null,
    "customer_token": "c404f5b0-eeaf-49b4-a38e-05df7e383bc7"
}

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

Se utiliza para anular un pago en su totalidad.

POST /pagos

REQUEST

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

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

  • secret: (Tipo de dato: string). Private key provista por Payway a la marca. Campo obligatorio.

  • payment_id: (Tipo de dato: string). Identificador del pago. Es el id devuelto al procesar un pago. Campo obligatorio.

  • ambien:(Tipo de dato: string). Ambiente al que se apuntará. Valores posibles: developer o production. Campo obligatorio.

{
    "provider": "payway",
    "action": "refund",
    "secret": "J4R7I1p0TsZlOd21x7FutnE2BzkVWZPD",
    "payment_id": "649060",
    "ambient": "developer"
}

RESPONSE

  • status: Indica el status de la transacción. Si devuelve "approved", el pago está anulado.
{
    "id": 1,
    "amount": 2000,
    "status": "approved"
}

# 3. Devolución parcial de pago

Se utiliza para hacer una devolución parcial de un pago.

POST /pagos

REQUEST

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

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

  • secret: (Tipo de dato: string). Private key provista por Payway a la marca. Campo obligatorio.

  • amount: (Tipo de dato: string). Monto a anular sin puntos ni decimales (Ejemplo: 1200). Campo obligatorio.

  • payment_id: (Tipo de dato: string). Identificador del pago. Es el id devuelto al procesar un pago. Campo obligatorio.

  • ambien:(Tipo de dato: string). Ambiente al que se apuntará. Valores posibles: developer o production. Campo obligatorio.

{
    "provider": "payway",
    "action": "partial_refund",
    "secret": "J4R7I1p0TsZlOd21x7FutnE2BzkVWZPD",
    "amount": "1200",
    "payment_id": "649060",
    "ambient": "developer"
}

RESPONSE

  • status: Indica el status de la transacción. Si devuelve "approved", el pago está anulado.
{
    "id": 1,
    "amount": 2000,
    "status": "approved"
}

# 4. Obtener detalles de un pago

Obtiene los detalles de un pago.

POST /pagos

REQUEST

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

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

  • secret: (Tipo de dato: string). Private key provista por Payway a la marca. Campo obligatorio.

  • payment_id: (Tipo de dato: string). Identificador del pago. Es el id devuelto al procesar un pago. Campo obligatorio.

  • ambien:(Tipo de dato: string). Ambiente al que se apuntará. Valores posibles: developer o production. Campo obligatorio.

{
    "provider": "payway",
    "action": "obtain_payment_info",
    "secret": "J4R7I1p0TsZlOd21x7FutnE2BzkVWZPD",
    "payment_id": "649060",
    "ambient": "developer"
}

RESPONSE

  • id: Id del pago que se ingresó en el request.

  • site_transaction_id: Identificador de la transacción. Se utiliza para identificar la transacción ente Payway por cualquier reclamo.

  • card_brand: Marca de la tarjeta con la que se hizo el pago.

  • bin: 6 primeros números de la tarjeta.

  • installments: Cantidad de cuotas.

{
    "id": 544453,
    "site_transaction_id": "52139443",
    "token": "ef4504fc-21f1-4608-bb75-3f73aa9b9ede",
    "user_id": null,
    "card_brand": "visa",
    "bin": "483621",
    "amount": 10,
    "currency": "ars",
    "installments": 1,
    "description": "",
    "payment_type": "single",
    "sub_payments": [],
    "status": "rejected",
    "status_details": null,
    "date": "2016-12-15T15:12Z",
    "merchant_id": null,
    "fraud_detection": {}
}