# First Data API

# 1. Procesar pago

POST /pagos

Permite procesar un pago.

REQUEST

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

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

  • public_key: (Tipo de dato: string) Key provista por First Data. Campo obligatorio.

  • secret: (Tipo de dato: string) Secret key provisto por First Data. Campo obligatorio.

  • site_id: (Tipo de dato: string) Store ID provisto por First Data. Campo obligatorio.

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

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

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

  • card_number: (Tipo de dato: string) Número de tarjeta. Campo obligatorio.

  • exp_month: (Tipo de dato: string) Mes de expiración(ej: 03). Campo obligatorio.

  • exp_year: (Tipo de dato: string) año de expiración (ej: 25). Campo obligatorio.

  • sec_code: (Tipo de dato: string) Código de seguridad. Campo obligatorio.

  • card_brand: (Tipo de dato: string) Marca de la tarjeta (ej: VISA, MASTER). Campo obligatorio.

  • installments: (Tipo de dato: integer) Cantidad de cuotas. Campo obligatorio.

  • return_url: (Tipo de dato: string) URL de retorno para autenticación 3DS (Solo requerido para tarjetas Mastercard).

  • notification_url: (Tipo de dato: string) URL de notificación para autenticación 3DS (Solo requerido para tarjetas Mastercard).

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

{
    "provider": "firstdata_api",
    "action": "create",
    "public_key": "S8nelI6pjszXdpTPwSlzqaE9X443m7IG",
    "secret": "NkA4GvRXz6FAjs25f70kBRdMEVA0kYVahniQkomHpWA",
    "site_id": "5925050804",
    "ambient": "developer",
    "card_number": "5165850000000008",
    "exp_month": "12",
    "exp_year": "29",
    "sec_code": "123",
    "reference_id":"659170",
    "installments": "3",
    "currency": "ARS",
    "amount": "1000",
    "return_url": "https://www.gymcosportwear.com/paypal/paypal_order",
    "notification_url": "https://www.gymcosportwear.com/paypal/paypal_order",
    "card_brand": "VISA"
}

RESPONSE

  • ipgTransactionId: Id de transacción generado por First Data.
  • orderId: Id de orden enviado en el request.
  • transactionStatus: Estado de la transacción.
  • networkToken: Token generado para la tarjeta (si la transacción fue exitosa).
{
    "clientRequestId": "7b6a0d51-2a42-42b4-a6e3-d895f4ce8c15",
    "apiTraceId": "rrt-033ad4d4d4dd0b6c6-c-ea-1234-12345678-2",
    "ipgTransactionId": "84356531338",
    "orderId": "order123",
    "transactionType": "SALE",
    "transactionOrigin": "ECOM",
    "paymentMethodDetails": {
        "paymentCard": {
            "number": "411111******1111",
            "expiryDate": {
                "month": "03",
                "year": "25"
            },
            "bin": "411111",
            "last4": "1111"
        }
    },
    "transactionStatus": "APPROVED",
    "networkToken": {
        "tokenData": {
            "value": "1234567890",
            "reusable": true,
            "declineDuplicates": false
        }
    }
}

# 2. Procesar pago con token

POST /pagos

Permite procesar un pago utilizando un token previamente generado.

REQUEST

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

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

  • public_key: (Tipo de dato: string) Key provista por First Data. Campo obligatorio.

  • secret: (Tipo de dato: string) Secret key provisto por First Data. Campo obligatorio.

  • site_id: (Tipo de dato: string) Store ID provisto por First Data. Campo obligatorio.

  • password: (Tipo de dato: string) Token de la tarjeta. Campo obligatorio.

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

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

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

  • card_brand: (Tipo de dato: string) Marca de la tarjeta (ej: VISA, MASTER). Campo obligatorio.

  • installments: (Tipo de dato: integer) Cantidad de cuotas. Campo obligatorio.

  • return_url: (Tipo de dato: string) URL de retorno para autenticación 3DS (Solo requerido para tarjetas Mastercard).

  • notification_url: (Tipo de dato: string) URL de notificación para autenticación 3DS (Solo requerido para tarjetas Mastercard).

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

{
    "provider": "firstdata_api",
    "action": "create_with_token",
    "public_key": "S8nelI6pjszXdpTPwSlzqaE9X443m7IG",
    "secret": "NkA4GvRXz6FAjs25f70kBRdMEVA0kYVahniQkomHpWA",
    "site_id": "5925050804",
    "ambient": "developer",
    "reference_id":"659171",
    "installments": "13",
    "currency": "ARS",
    "amount": "1000",
    "password": "6CE293CC-D0C2-4EEB-AE92-29213E1C9A97",
    "return_url": "https://www.gymcosportwear.com/paypal/paypal_order",
    "notification_url": "https://www.gymcosportwear.com/paypal/paypal_order",
    "card_brand": "VISA"
}

RESPONSE

{
    "clientRequestId": "7b6a0d51-2a42-42b4-a6e3-d895f4ce8c15",
    "apiTraceId": "rrt-033ad4d4d4dd0b6c6-c-ea-1234-12345678-2",
    "ipgTransactionId": "84356531338",
    "orderId": "order123",
    "transactionType": "SALE",
    "transactionOrigin": "ECOM",
    "transactionStatus": "APPROVED"
}

# 3. Anulación de pago

POST /pagos

Permite anular un pago.

REQUEST

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

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

  • public_key: (Tipo de dato: string) Apikey provista por First Data. Campo obligatorio.

  • secret: (Tipo de dato: string) Secret key provisto por First Data. Campo obligatorio.

  • site_id: (Tipo de dato: string) Store ID provisto por First Data. Campo obligatorio.

  • payment_id: (Tipo de dato: string). Id de la transacción a anular. Campo obligatorio.

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

{
    "provider": "first_data",
    "action": "void",
    "public_key": "OGE4Mjk0MTc0YjdlY2IyODAxNGI5Njk5MjIwMDE1Y2N8c3k2S0pzVDg=",
    "secret": "secret_key",
    "site_id": "store123",
    "payment_id": "84356531338",
    "ambient": "developer"
}

RESPONSE

{
    "clientRequestId": "7b6a0d51-2a42-42b4-a6e3-d895f4ce8c15",
    "apiTraceId": "rrt-033ad4d4d4dd0b6c6-c-ea-1234-12345678-2",
    "ipgTransactionId": "84356531338",
    "orderId": "order123",
    "transactionType": "VOID",
    "transactionStatus": "APPROVED"
}

# 4. Devolución de pago

POST /pagos

Permite realizar la devolución total o parcial de un pago.

REQUEST

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

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

  • public_key: (Tipo de dato: string) Key provista por First Data. Campo obligatorio.

  • secret: (Tipo de dato: string) Secret key provisto por First Data. Campo obligatorio.

  • site_id: (Tipo de dato: string) Store ID provisto por First Data. Campo obligatorio.

  • payment_id: (Tipo de dato: string). Id de la transacción a devolver. Campo obligatorio.

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

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

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

{
    "provider": "firstdata_api",
    "action": "refund",
    "public_key": "S8nelI6pjszXdpTPwSlzqaE9X443m7IG",
    "secret": "NkA4GvRXz6FAjs25f70kBRdMEVA0kYVahniQkomHpWA",
    "site_id": "5925050804",
    "ambient": "developer",
    "payment_id":"84620580691",
    "amount": "700",
    "currency": "ARS"
}

RESPONSE

{
    "clientRequestId": "7b6a0d51-2a42-42b4-a6e3-d895f4ce8c15",
    "apiTraceId": "rrt-033ad4d4d4dd0b6c6-c-ea-1234-12345678-2",
    "ipgTransactionId": "84356531338",
    "orderId": "order123",
    "transactionType": "RETURN",
    "transactionStatus": "APPROVED"
}

# 5. Obtener estado de transacción

POST /pagos

Permite consultar el estado de una transacción.

REQUEST

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

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

  • public_key: (Tipo de dato: string) Key provista por First Data. Campo obligatorio.

  • secret: (Tipo de dato: string) Secret key provisto por First Data. Campo obligatorio.

  • site_id: (Tipo de dato: string) Store ID provisto por First Data. Campo obligatorio.

  • payment_id: (Tipo de dato: string). Id de la transacción a consultar. Campo obligatorio.

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

{
    "provider": "firstdata_api",
    "action": "obtain_payment_info",
    "public_key": "S8nelI6pjszXdpTPwSlzqaE9X443m7IG",
    "secret": "NkA4GvRXz6FAjs25f70kBRdMEVA0kYVahniQkomHpWA",
    "site_id": "5925050803",
    "ambient": "developer",
    "payment_id":"84618655292"
}

RESPONSE

{
    "clientRequestId": "7b6a0d51-2a42-42b4-a6e3-d895f4ce8c15",
    "apiTraceId": "rrt-033ad4d4d4dd0b6c6-c-ea-1234-12345678-2",
    "ipgTransactionId": "84356531338",
    "orderId": "order123",
    "transactionType": "SALE",
    "transactionOrigin": "ECOM",
    "paymentMethodDetails": {
        "paymentCard": {
            "number": "411111******1111",
            "expiryDate": {
                "month": "03",
                "year": "25"
            },
            "bin": "411111",
            "last4": "1111"
        }
    },
    "transactionStatus": "APPROVED"
}

# 6. Obtener información de token

POST /pagos

Permite consultar la información asociada a un token.

REQUEST

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

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

  • public_key: (Tipo de dato: string) Apikey provista por First Data. Campo obligatorio.

  • secret: (Tipo de dato: string) Secret key provisto por First Data. Campo obligatorio.

  • site_id: (Tipo de dato: string) Store ID provisto por First Data. Campo obligatorio.

  • password: (Tipo de dato: string). Token a consultar. Campo obligatorio.

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

{
    "provider": "firstdata_api",
    "action": "get_token_info",
    "public_key": "S8nelI6pjszXdpTPwSlzqaE9X443m7IG",
    "secret": "NkA4GvRXz6FAjs25f70kBRdMEVA0kYVahniQkomHpWA",
    "site_id": "5925050804",
    "ambient": "developer",
    //"reference_id":"1234572",
    "password": "8A300805-4E71-4D5C-974D-99DFB95AFF19"
}

RESPONSE

{
    "clientRequestId": "7b6a0d51-2a42-42b4-a6e3-d895f4ce8c15",
    "apiTraceId": "rrt-033ad4d4d4dd0b6c6-c-ea-1234-12345678-2",
    "paymentToken": {
        "value": "1234567890",
        "reusable": true,
        "tokenOrigin": "TOKENIZATION",
        "tokenType": "PAYMENT_CARD",
        "paymentCard": {
            "type": "VISA",
            "number": "411111******1111",
            "expiryDate": {
                "month": "03",
                "year": "25"
            },
            "bin": "411111",
            "last4": "1111"
        }
    }
}