Quickstart: Creación de su primer pago Tarjeta Presente
Esta guía le ayuda a crear su primera transacción de pago con integración de hardware en el entorno de Sandbox. Se autenticará en la API y enviará una solicitud de pago utilizando formatos de datos reales de Tarjeta Presente—simulando una interacción física de chip o banda magnética.
Requisitos
Antes de comenzar, asegúrese de tener:
- Credenciales de Sandbox:
client_idyclient_secret(disponibles en el portal de desarrolladores). - URL base de Sandbox:
https://api-sbx.pre.globalgetnet.com. - ID de terminal: Un
terminal_numberválido registrado en su cuenta.
Paso 1: Obtener un Token de Acceso
Autentíquese en la API utilizando sus credenciales. Combine su client_id y client_secret con dos puntos (:), codifique el resultado en Base64 y utilícelo en la cabecera Authorization.
curl --request POST \
--url https://api-sbx.pre.globalgetnet.com/authentication/oauth2/access_token \
--header 'authorization: Basic <BASE64(client_id:client_secret)>' \
--header 'content-type: application/x-www-form-urlencoded' \
--data grant_type=client_credentials
La respuesta incluye un access_token que caduca en aproximadamente una hora:
{
"access_token": "eyJ0eXAiOiJKV1QiLCJraWQiOiI1amhLMy9xK0ZpK0tTRkIrRUwwN3VhMFYwdGM9IiwiYWxnIjoiUlMyNTYifQ...",
"token_type": "Bearer",
"expires_in": 3599
}
Paso 2: Crear un Pago Tarjeta Presente
Cree un pago de un solo paso que autorice y capture los fondos en una única operación. Para Tarjeta Presente, debe utilizar métodos de pago Direct e incluir los objetos terminal y card (Modo de Entrada/EMV).
Implementación: Chip + PIN Online
Este ejemplo simula una transacción en la que se inserta una tarjeta en un lector de chip y se verifica con un PIN.
curl --request POST \
--url https://api-sbx.pre.globalgetnet.com/dpm/payments-gwproxy/v2/payments \
--header 'authorization: Bearer <ACCESS_TOKEN>' \
--header 'content-type: application/json' \
--header 'x-seller-id: <YOUR_SELLER_ID>' \
--header 'x-transaction-channel-entry: XX' \
--data '{
"idempotency_key": "qs-cp-test-001",
"request_id": "f0612285-9493-4c2c-a05a-00268a51ea3a",
"order_id": "RETAIL-TEST-101",
"data": {
"amount": 10000,
"currency": "CLP",
"payment": {
"payment_id": "your-unique-payment-id",
"payment_method": "DIRECT_CREDIT",
"transaction_type": "FULL",
"terminal": {
"terminal_number": "21000334"
},
"card": {
"entry_mode": "chip",
"cardholder_verification_method": "online_pin",
"pin_block": "A0B6BA8D53C8D3C3",
"ksn": "BC756011020000400001",
"emv": "9f2701809f3303e0f8c8950580000080009f37045d21705a9f100706010a03a0b8089f2608819ba36f3f7934149f360205b782021c009c01009f1a0204849a032002279f02060000000309605F2A0200325f3401019f34031e03009f120c56495341204352454449544f5f201a2f435249535449414E2047414C494E444F2043484156455A2020",
"aid": "A0000000031010"
}
}
}
}'
Un pago con éxito devuelve una respuesta con status: "APPROVED":
{
"payment_id": "6137278d-28a6-4293-9343-c73fbb2d9bda",
"status": "APPROVED",
"amount": 10000,
"currency": "CLP",
"authorization_code": "204050",
"reason_message": "captured"
}
Resolución de problemas
401 Unauthorized: Es posible que su token de acceso haya caducado. Solicite un nuevo token e inténtelo de nuevo.
422 Validation Error: Asegúrese de que todos los campos obligatorios de Tarjeta Presente estén presentes:
x-transaction-channel-entry: XX(Cabecera)data.payment.terminal.terminal_numberdata.payment.card.entry_mode(chipomagnetic_stripe)data.payment.card.emv(Obligatorio sientry_modeeschip)pin_blockyksn(Obligatorios sicardholder_verification_methodesonline_pin)
Pago denegado: Compruebe el reason_message. En Sandbox, asegúrese de utilizar un terminal_number simulado válido.
Pasos siguientes
¡Enhorabuena! Ha procesado con éxito su primera transacción con tarjeta física. Para continuar:
- Pagos de un solo paso: Guía detallada sobre los flujos inmediatos de venta y captura.
- Pagos preautorizados: Aprenda a implementar flujos de dos pasos para reservas.
- Guía de tecnología EMV: Entienda la estructura de los datos Tag-Length-Value (TLV).