Saltearse al contenido

Quickstart

Vamos a crear un pago de transferencia bancaria, simular que el cliente sube el comprobante y verlo confirmado. Cinco minutos. Necesitás solamente un curl y tu API key test.

  1. Conseguí tu API key test

    Logueate al dashboard, andá a Configuración → API keys, creá una key. Va a verse así:

    sk_test_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
  2. Creá un pago de transferencia

    Ventana de terminal
    curl -X POST https://api.pay.ingalca.com/v1/payments \
    -H "Authorization: Bearer sk_test_TU_KEY_ACA" \
    -H "Content-Type: application/json" \
    -d '{
    "provider": "transferencia",
    "amount": 150000,
    "reference": "ORDEN-001",
    "customer": {
    "customerId": "user_42",
    "name": "Juan",
    "lastname": "Pérez",
    "email": "juan@example.com"
    }
    }'

    La respuesta incluye el public_id del pago y los datos de la cuenta bancaria que tenés que mostrarle al cliente:

    {
    "data": {
    "id": "pay_abc123def456",
    "status": "pending",
    "amount": 150000,
    "currency": "PYG",
    "reference": "ORDEN-001",
    "provider": "transferencia",
    "provider_data": {
    "bank_accounts": [
    {
    "bank_name": "BNF",
    "account_type": "corriente",
    "account_number": "123-456789-0",
    "holder_name": "Tu Comercio S.A.",
    "holder_ruc": "80012345-6"
    }
    ]
    }
    }
    }
  3. Simulá la subida del comprobante

    En producción, lo subiría tu cliente final desde tu app. Para probar, hacelo vos:

    Ventana de terminal
    curl -X POST https://api.pay.ingalca.com/v1/payments/pay_abc123def456/receipt \
    -H "Authorization: Bearer sk_test_TU_KEY_ACA" \
    -F "file=@./comprobante.jpg" \
    -F "notes=Transferí desde BNF a las 14:30"

    El pago pasa de pending a receipt_uploaded.

  4. Aprobá el pago

    Ventana de terminal
    curl -X POST https://api.pay.ingalca.com/v1/payments/pay_abc123def456/confirm \
    -H "Authorization: Bearer sk_test_TU_KEY_ACA" \
    -H "Content-Type: application/json" \
    -d '{"notes": "Verificado contra extracto bancario"}'

    El pago queda en confirmed y disparamos el webhook payment.confirmed a tu URL configurada.

¿Qué sigue?