Demo Go Cargo único

Nuestra Demo es una guia para una rápida integración con Culqi

Nuestro Demo Python, es compatible con la V2.0 del Culqi API, con el cual tendrás la posibilidad de integrarte con el API de tokens, cargos, clientes, tarjetas, y órdenes

Integra Custom Checkout, Culqi 3DS y el SDK Go; con el cual tienes la posiblidad de probar el proceso de órdenes de pago, cargos únicos y creación de cards.

Requisitos

  • Nuestra Demo es compatible con Go 1.7+.
  • Debes tener tus llaves de producción o integración.
  • Si aun no te afilias a Culqi, lo puedes hacer desde aquí.
  • Para encriptar el payload debes generar un id y llave RSA ingresando a tu CulqiPanel > Desarrollo > RSA Keys.

Recuerda que para obtener tu llave pública, debes ingresar a la sección “Desarrollo” y luego a “API Keys” en tu CulqiPanel, para generar tu id y llave RSA debes ingresar a “RSA Keys”.

Repositorio

Puedes descargar el código fuente de la Demo desde:

Repositorio

Demo Go

repositorio

Configuración

1. Configurar backend

Primero se tiene que modificar los valores del archivo config/config.go que se encuentra en la raiz del proyecto. Puedes activar o desactivar la encriptación.

const (
	Publickey    = "<<LLAVE PÚBLICA>>" // Llave pública del comercio
	Secretkey    = "<<LLAVE SECRETA>>" // Llave secreta del comercio
	rsaID        = "<<LLAVE PÚBLICA RSA ID>>" // Id de la llave RSA
	rsaPublicKey = "<<LLAVE PÚBLICA RSA>>" // Llave pública RSA que sirve para encriptar el payload de los servicios
	Port          = ":3000"
	Encrypt       = "0" // 1 = activar encriptación
	encryptionFmt = `{
		"rsa_public_key": "%s",
		"rsa_id":  "%s"
	}`
)

Recuerda que las llaves de integración se identifican como “test” y las de producción como “live”.

2. Configurar frontend

Para configurar el monto de la transacción, pk del comercio y datos del cliente se tiene que modificar en el archivo static/js/config/index.js. Puedes activar o desactivar la encriptación.

Ejemplo

export default Object.freeze({
    TOTAL_AMOUNT: 600, // monto de pago,
    CURRENCY: "PEN",// tipo de moneda,
    PUBLIC_KEY: "{PUBLIC KEY}", // llave publica del comercio (pk_test_xxxxx),
    RSA_ID: "{RSA_ID}", //Id de la llave RSA,
    RSA_PUBLIC_KEY: "{RSA_PUBLIC_KEY}", // Llave pública RSA que sirve para encriptar el payload de los servicios del checkout,
    COUNTRY_CODE: "PE", // iso code del país
    ACTIVE_ENCRYPT: true, // (true = encyptación activada , false = encyptación inactivada),
});

Iniciar la Demo

Abrir la terminal y ubicarse dentro del proyecto para ejecutar el siguiente comando.

go mod init
go mod tidy
go run main.go

Pruebas

Antes de activar tu tienda en producción, te recomendamos realizar pruebas de integración. Así garantizarás un correcto despliegue.

Recuerda que si quieres probar tu integración, puedes utilizar nuestras tarjetas de prueba.

Para visualizar el frontend de la demo, ingresa a la siguiente URL:

  • Para probar la demo escribe la ruta: http://localhost:3000

Con la demo puedes realizar pruebas de:

  • Creación y confirmación de órdenes de pago.
  • Cargos únicos con 3DS.
  • Creación de cards.