API Referencia
undefined

Patpass Rest

Patpass Comercio

Ambientes y credenciales

La API REST de Patpass está protegida para garantizar que solamente comercios autorizados por Transbank hagan uso de las operaciones disponibles. La seguridad esta implementada mediante los siguientes mecanismos:

  • Canal seguro a través de TLSv1.2 para la comunicación del cliente con Webpay.
  • Autenticación y autorización mediante el intercambio de headers Commercecode y Authorization.

Ambiente de Producción

Las URLs de endpoints de producción están alojados dentro de https://www.pagoautomaticocontarjetas.cl//.

// Host: https://www.pagoautomaticocontarjetas.cl/
// Host: https://www.pagoautomaticocontarjetas.cl/
// Host: https://www.pagoautomaticocontarjetas.cl/
# Host: https://www.pagoautomaticocontarjetas.cl/
# Host: https://www.pagoautomaticocontarjetas.cl/
Host: https://www.pagoautomaticocontarjetas.cl/

Ambiente de Integración

Las URLs de endpoints de integración están alojados dentro de https://pagoautomaticocontarjetasint.transbank.cl//.

Consulta la documentación para conocer las tarjetas de prueba que funcionan en el ambiente de integración.

// Host: https://pagoautomaticocontarjetasint.transbank.cl/
// Host: https://pagoautomaticocontarjetasint.transbank.cl/
// Host: https://pagoautomaticocontarjetasint.transbank.cl/
# Host: https://pagoautomaticocontarjetasint.transbank.cl/
# Host: https://pagoautomaticocontarjetasint.transbank.cl/
Host: https://pagoautomaticocontarjetasint.transbank.cl/

Credenciales del Comercio

// Commercecode: 28299257
// Authorization: cxxXQgGD9vrVe4M41FIt
// Commercecode: 28299257
// Authorization: cxxXQgGD9vrVe4M41FIt
// Commercecode: 28299257
// Authorization: cxxXQgGD9vrVe4M41FIt
# Commercecode: 28299257
# Authorization: cxxXQgGD9vrVe4M41FIt
# Commercecode: 28299257
# Authorization: cxxXQgGD9vrVe4M41FIt
Commercecode: 28299257
Authorization: cxxXQgGD9vrVe4M41FIt
Content-Type: application/json

Iniciar Inscripción

Para iniciar una inscripción debes llamar al método Inscription.start

Inscription.start()

Permite gatillar el inicio del proceso de inscripción. Los datos ingresados serán precargados en el formulario al momento de mostrarse.

// Versión 3.x del SDK
PatpassComercio.Inscription inscription = new PatpassComercio.Inscription(new PatpassOptions(IntegrationCommerceCodes.PATPASS_COMERCIO, IntegrationApiKeys.PATPASS_COMERCIO, IntegrationType.TEST));
final PatpassComercioInscriptionStartResponse response = inscription.start(url,
                    name,
                    firstLastName,
                    secondLastName,
                    rut,
                    serviceId,
                    finalUrl,
                    maxAmount,
                    phoneNumber,
                    mobileNumber,
                    patpassName,
                    personEmail,
                    commerceEmail,
                    address,
                    city);  

// Versión 2.x del SDK
final PatpassComercioInscriptionStartResponse response = PatpassComercio.Inscription.start(
    'http://misitio.cl/finalizar_suscripcion',          // URL
    'Diego',                                            // Nombre
    'Sanchez',                                          // Primer apellido
    'Valdovinos',                                       // Segundo apellido
    '12345678-9',                                       // Rut
    '323123',                                           // Id de servicio
    'http://misitio.cl/voucher',                        // URL Final
    0,                                                  // Monto máximo
    '57508624',                                         // Teléfono fijo
    '57508624',                                         // Teléfono celular
    'Help - 8050014',                                   // Nombre PatPass
    'persona@test.cl',                                  // Email Persona
    'comercio@test.cl',                                 // Email Comercio
    'Merced 156, Santiago, Chile',                      // Dirección
    'Santiago'                                          // Ciudad
);
$response = PatpassComercio\Inscription::start(  
    'http://misitio.cl/finalizar_suscripcion',          // URL
    'Diego',                                            // Nombre
    'Sanchez',                                          // Primer apellido
    'Valdovinos',                                       // Segundo apellido
    '12345678-9',                                       // Rut
    '323123',                                           // Id de servicio
    'http://misitio.cl/voucher',                        // URL Final
    0,                                                  // Monto máximo
    '57508624',                                         // Teléfono fijo
    '57508624',                                         // Teléfono celular
    'Help - 8050014',                                   // Nombre PatPass
    'persona@test.cl',                                  // Email Persona
    'comercio@test.cl',                                 // Email Comercio
    'Merced 156, Santiago, Chile',                      // Dirección
    'Santiago'                                          // Ciudad
);

// Versión 4.x del SDK
var inscription = new Inscription(new Options(IntegrationCommerceCodes.PATPASS_COMERCIO, IntegrationApiKeys.PATPASS_COMERCIO, PatpassComercioIntegrationType.Test));
var result = inscription.Start(
    url: 'http://misitio.cl/finalizar_suscripcion',
    name: 'Diego',
    fLastname: 'Sanchez',
    sLastname: 'Valdovinos',
    rut: '12345678-9',
    serviceId: '323123',
    finalUrl: 'http://misitio.cl/voucher',
    maxAmount: 0,
    phoneNumber: '57508624',
    mobileNumber: '57508624',
    patpassName: 'Help - 8050014',
    personEmail: 'persona@test.cl',
    commerceEmail: 'comercio@test.cl',
    address: 'Merced 156, Santiago, Chile',
    city: 'Santiago'
);

// Versión 3.x del SDK
var response = Inscription.Start(
    url: 'http://misitio.cl/finalizar_suscripcion',
    name: 'Diego',
    fLastname: 'Sanchez',
    sLastname: 'Valdovinos',
    rut: '12345678-9',
    serviceId: '323123',
    finalUrl: 'http://misitio.cl/voucher',
    maxAmount: 0,
    phoneNumber: '57508624',
    mobileNumber: '57508624',
    patpassName: 'Help - 8050014',
    personEmail: 'persona@test.cl',
    commerceEmail: 'comercio@test.cl',
    address: 'Merced 156, Santiago, Chile',
    city: 'Santiago'
);

@url = "https://callback_url/resultado/de/la/transaccion"
@name = "Nombre"
@first_last_name = "Primer Apellido"
@second_last_name = "Segundo Apellido"
@rut = "11111111-1"
@service_id = "Identificador del servicio unico de suscripción"
@final_url = "https://callback/final/comprobante/transacción"
@max_amount = 10000; # monto máximo de la suscripció
@phone_number = "numero telefono fijo de suscrito"
@mobile_number = "numero de telefono móvil de suscrito"
@patpass_name = "Nombre asignado a la suscripción"
@person_email = "Correo de suscrito"
@commerce_email = "Correo de comercio"
@address = "Dirección de Suscrito"
@city = "Ciudad de suscrito"

## Versión 2.x del SDK
@inscription = Transbank::Patpass::PatpassComercio::Inscription.new()
@resp = @inscription.start(
      @url,
      @name,
      @first_last_name,
      @second_last_name,
      @rut,
      @service_id,
      @final_url,
      @max_amount,
      @phone_number,
      @mobile_number,
      @patpass_name,
      @person_email,
      @commerce_email,
      @address,
      @city
    )

## Versión 1.x del SDK
@resp  = Transbank::Patpass::PatpassComercio::Inscription::start(
    url: @url,
    name: @name,
    first_last_name: @first_last_name,
    second_last_name: @second_last_name,
    rut: @rut,
    service_id: @service_id,
    final_url: @final_url,
    max_amount: @max_amount,
    phone_number: @phone_number,
    mobile_number: @mobile_number,
    patpass_name: @patpass_name,
    person_email: @person_email,
    commerce_email: @commerce_email,
    address: @address,
    city: @city
)
return_url = "https://callback_url/resultado/de/la/transaccion"
name = "Nombre"
first_last_name = "Primer Apellido"
second_last_name = "Segundo Apellido"
rut = "11111111-1"
service_id = "Identificador del servicio unico de suscripción"
final_url = "https://callback/final/comprobante/transacción"
max_amount = 10000; # monto máximo de la suscripció
phone_number = "numero telefono fijo de suscrito"
mobile_number = "numero de telefono móvil de suscrito"
patpass_name = "Nombre asignado a la suscripción"
person_email = "Correo de suscrito"
commerce_mail = "Correo de comercio"
address = "Dirección de Suscrito"
city = "Ciudad de suscrito"

## Versión 3.x del SDK
ins = Inscription(PatpassComercioOptions(IntegrationCommerceCodes.PATPASS_COMERCIO, IntegrationApiKeys.PATPASS_COMERCIO, IntegrationType.TEST))
resp = ins.start(return_url, name, first_last_name, second_last_name, rut, service_id, None,
                                       max_amount, phone_number, mobile_number, patpass_name,
                                       person_email, commerce_mail, address, city)
## Versión 2.x del SDK
resp = Inscription.start(return_url, name, first_last_name, second_last_name, rut, service_id, final_url,
                                       max_amount, phone_number, mobile_number, patpass_name,
                                       person_email, commerce_mail, address, city)
POST restpatpass/v1/services/patInscription
Commercecode: 28299257
Authorization: cxxXQgGD9vrVe4M41FIt
Content-Type: application/json
{
    "url": "http://misitio.cl/finalizar_suscripcion",
    "nombre": "Diego",
    "pApellido": "Sanchez",
    "sApellido": "Valdovinos",
    "rut": "12345678-9",
    "serviceId": "323123",
    "finalUrl": "http://misitio.cl/voucher",
    "commerceCode": "28299257",
    "montoMaximo": "",
    "telefonoFijo": "57508624",
    "telefonoCelular": "57508624",
    "nombrePatPass": "Help - 8050014",
    "correoPersona": "persona@test.cl",
    "correoComercio": "comercio@test.cl",
    "direccion": "Merced 156, Santiago, Chile",
    "ciudad": "Santiago"
}

Parámetros Inscription.start

Nombre
tipo
Descripción
url
String
URL de retorno del comercio (no permite 'localhost' ni '127.0.0.1')
firstName
String
Nombre del tarjetahabiente
fLastname
String
Apellido paterno del tarjetahabiente
sLastname
String
Apellido materno del tarjetahabiente
rut
String
Rut del tarjetahabiente (solo rut válidos o '11111111-1' para pruebas)
serviceId
String
ID del servicio del tarjetahabiente
finalUrl
String
Url final de la inscripción (no permite 'localhost' ni '127.0.0.1')
maxAmount
String
Monto máximo del PAT a inscribir
phoneNumber
String
Teléfono fijo del tarjetahabiente
mobileNumber
String
Teléfono celular del tarjetahabiente
patPassName
String
Nombre del PAT
userEmail
String
Correo al tarjetahabiente con la suscripción
commerceEmail
String
Correo para el comercio con el comprobante de suscripción
userAddress
String
Dirección del tarjetahabiente
userCity
String
Ciudad del tarjetahabiente

Respuesta Inscription.start

response.getToken();
response.getUrl();
$response->token;
$response->url;
response.Token;
response.Url;
response.token
response.url
## Versión 3.x del SDK
response['token']
respone['url']

## Versión 2.x del SDK
response.token
respone.url
Nombre
tipo
Descripción
token
xs:string
Token de la transacción. Largo: 64.
url
xs:string
URL de formulario de pago Patpass Comercio. Largo máximo: 256.

Mensajes de error

Código Descripción
-1 Error interno
-101 URL final incorrecta
-102 URL retorno incorrecta
-103 Nombre Incorrecto
-104 Apellido Paterno incorrecto
-105 Apellido Materno incorrecto
-106 Rut inválido
-107 Id de Servicio incorrecto
-108 Código de comercio inválido
-109 Monto tope inválido
-110 Headers de autentificación requeridos
-111 Headers de autentificación erróneos

La respuesta de este método se debe utilizar para crear un campo de nombre tokenComercio en un formulario, al cual se le asigna el valor de token y debe ser enviado a url.

<form action="<Insertar URL aquí>" method="post" name="tokenForm">
    <input type="hidden" name="tokenComercio" value="<Insertar token aquí>">
    <input type="submit" class="btn btn-success" value="Inscribirse en Patpass Comercio">
</form>

Estado de una Inscripción

Para finalizar el proceso de inscripción se debe llamar a Inscription.status

Inscription.status

Este método permite finalizar el proceso de inscripción del PAT asociado al token que se generó en la inscripción

La respuesta del método contiene el estado y la URL para desplegar el voucher.

// Versión 3.x del SDK

PatpassComercio.Inscription inscription = new PatpassComercio.Inscription(new PatpassOptions(IntegrationCommerceCodes.PATPASS_COMERCIO, IntegrationApiKeys.PATPASS_COMERCIO, IntegrationType.TEST));
final PatpassComercioTransactionStatusResponse response = inscription.status(token);

// Versión 2.x del SDK
final PatpassComercioTransactionStatusResponse response =
    PatpassComercio.Transaction.status(token);
$response = PatpassComercio\Inscription::getStatus($token);
// Versión 4.x del SDK
var inscription = new Inscription(new Options(IntegrationCommerceCodes.PATPASS_COMERCIO, IntegrationApiKeys.PATPASS_COMERCIO, PatpassComercioIntegrationType.Test));
var response = inscription.Status(token);

// Versión 3.x del SDK
var response = Inscription.Status(token);
## Versión 2.x del SDK
@inscription = Transbank::Patpass::PatpassComercio::Inscription.new()
@resp = @inscription.status(token: @token)

## Versión 1.x del SDK
@response = Transbank::Patpass::PatpassComercio::Inscription::status(token)
## Versión 3.x del SDK
ins = Inscription(PatpassComercioOptions(IntegrationCommerceCodes.PATPASS_COMERCIO, IntegrationApiKeys.PATPASS_COMERCIO, IntegrationType.TEST))
resp = ins.status(token)

## Versión 2.x del SDK
resp = Inscription.status(token)
POST restpatpass/v1/services/status
Commercecode: 28299257
Authorization: cxxXQgGD9vrVe4M41FIt
Content-Type: application/json
{
    "token": "21383fe8ba4c4cdd9e18518daf4e9bcbaffd9e8e3ad4ec36f66ae2b4e80cc4b5"
}

Parámetros Inscription.status

Nombre
tipo | Descripción token
String | Token entregado al iniciar inscripción

Respuesta Inscription.status

response.getVoucherUrl();
response.isAuthorized();
$response->$status;
$response->$urlVoucher;
response.Status;
response.UrlVoucher;
response.status
response.voucher_url
## Versión 3.x del SDK
response['status']
respone['voucher_url']

## Versión 2.x del SDK
response.status
response.voucher_url
Nombre
tipo
Descripción
authorized
string
Boolean representa estado de la transacción.
voucherUrl
string
URL para mostrar el voucher. Largo máximo: 256.

La respuesta de este método se debe utilizar para crear un campo de nombre tokenComercio en un formulario, al cual se le asigna el valor de token y debe ser enviado a voucherUrl.

<form action="<Insertar URL aquí>" method="post" name="tokenForm">
    <input type="hidden" name="tokenComercio" value="<Insertar token aquí>">
    <input type="submit" class="btn btn-success" value="Inscribirse en Patpass Comercio">
</form>