SINPE PIN
SINPE PIN permite cobrar un pago cuando el comprador realiza una transferencia bancaria a un IBAN provisto por ONVO y ONVO la asocia automáticamente con una intención de pago.
Este método de pago está disponible solo bajo solicitud y actualmente solo soporta pagos en CRC.
SINPE PIN solo funciona si el comprador envía la transferencia en tiempo real. Si usa una transferencia programada, diferida o no inmediata, ONVO no podrá asociarla automáticamente y el pago no se completará con este flujo.
Referencia API relacionada
Antes de empezar
- Solicitá la habilitación de SINPE PIN al equipo de soporte de ONVO.
- Usá el IBAN destino provisto por ONVO para que el comprador realice la transferencia.
- Configurá webhooks y escuchá
payment-intent.succeeded. - Usá
CRCcomo moneda de la intención de pago. - Indicá en el método de pago la identificación real de la persona o entidad que hará la transferencia.
ONVO intenta asociar la transferencia entrante primero por número de identificación. La identificación enviada en bankDeposit.identification debe coincidir con la identificación reportada por el banco en la transferencia entrante.
Flujo
- Creá una intención de pago por el monto exacto a cobrar.
- Creá un método de pago con
type: "bank_deposit". - Confirmá la intención con el
paymentMethodId. - Mostrá al comprador el IBAN destino provisto por ONVO, el monto exacto y la indicación de enviar la transferencia en tiempo real.
- Esperá el webhook
payment-intent.succeededantes de marcar el pago como completado.
Cuando confirmás la intención con este método de pago, la intención pasa a processing. Ese estado significa que ONVO está esperando recibir y asociar la transferencia.
Crear la intención de pago
curl https://api.onvopay.com/v1/payment-intents \
-X POST \
-H "Authorization: Bearer $ONVO_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 500000,
"currency": "CRC",
"description": "Pago SINPE PIN #1001"
}'
Crear el método de pago
bankDeposit.identification debe representar a la persona o entidad que hará la transferencia bancaria.
curl https://api.onvopay.com/v1/payment-methods \
-X POST \
-H "Authorization: Bearer $ONVO_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "bank_deposit",
"bankDeposit": {
"identification": "01-1393-1919",
"identificationType": 1
},
"billing": {
"name": "María Rodríguez",
"email": "maria@example.com"
}
}'
Confirmar la intención
curl https://api.onvopay.com/v1/payment-intents/$PAYMENT_INTENT_ID/confirm \
-X POST \
-H "Authorization: Bearer $ONVO_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"paymentMethodId": "cl502zv0d0127ebdp3zt27651"
}'
Después de confirmar, indicá al comprador que transfiera el monto exacto al IBAN provisto por ONVO usando una transferencia en tiempo real. No marques el pago como exitoso en tu sistema hasta recibir payment-intent.succeeded.
Pruebas
En modo de prueba, usando llaves onvo_test_, las identificaciones definidas en métodos de pago de prueba para SINPE PIN simulan distintos escenarios de depósito. No necesitás hacer una transferencia real ni enviar fondos al IBAN de ONVO.
Usá esas identificaciones para simular depósitos exitosos, retrasados, fallidos y parciales.