Menos envíos al número equivocado
Muestre el nombre del titular al remitente antes de confirmar el envío.
Envíe gourdes a billeteras NatCash desde su plataforma, valide el nombre del titular antes de confirmar y reciba la confirmación del depósito, normalmente en el mismo momento.
NatCash es la billetera móvil de Natcom, una de las dos grandes operadoras de telefonía de Haití. La API de NatCash de LevaPay permite que su plataforma envíe gourdes (HTG) a cualquier billetera NatCash con solo el número de teléfono del beneficiario.
Su sistema usa una API REST con respuestas JSON: consulta el titular de la billetera, cotiza el envío con el total exacto, confirma la transferencia y recibe el estado final. La mayoría de los envíos a NatCash queda acreditada al instante, así que puede mostrar la confirmación a su cliente sin esperas.
Es ideal para apps de remesas, billeteras digitales, plataformas de pagos P2P y empresas que pagan a agentes, proveedores o colaboradores en Haití y quieren ofrecer NatCash junto a MonCash con una sola integración.
MonCash es una marca de Digicel Haiti y NatCash es una marca de Natcom. LevaPay es un servicio independiente. La API de LevaPay sirve para enviar dinero a billeteras NatCash. No es un producto oficial de Natcom.
Regístrese gratis y genere un usuario API y una PRIVATE_KEY de prueba. En el sandbox use la billetera de prueba 50940885084.
GratisCon GET /wallets/{wallet}?network=natcash obtiene el nombre del titular para que el remitente confirme que el número es correcto.
GET /wallets/{wallet}Cotice con POST /transfers/quote (network "natcash") y confirme el quote_id con POST /transfers y una idempotency_key única.
POST /transfersNormalmente la respuesta ya llega con status completed. Si queda en otro estado, consulte GET /transfers/{id}.
completedConsulta del titular, cotización y envío con la API de NatCash en modo TEST. Para producción cambie /test/v1 por /prod/v1 y use sus claves PROD.
# 1) Consultar titular
curl "https://api.levapay.dev/test/v1/wallets/50940885084?network=natcash" \
-H "X-Api-User: su_usuario_api" \
-H "X-Api-Key: su_PRIVATE_KEY"
# 2) Cotizar
curl -X POST https://api.levapay.dev/test/v1/transfers/quote \
-H "Content-Type: application/json" \
-H "X-Api-User: su_usuario_api" \
-H "X-Api-Key: su_PRIVATE_KEY" \
-d '{"network":"natcash","wallet":"50940885084","amount_htg":5000}'
# 3) Enviar
curl -X POST https://api.levapay.dev/test/v1/transfers \
-H "Content-Type: application/json" \
-H "X-Api-User: su_usuario_api" \
-H "X-Api-Key: su_PRIVATE_KEY" \
-d '{"quote_id":"qt_...","idempotency_key":"orden-10025"}'
<?php
const BASE = 'https://api.levapay.dev/test/v1';
function levapay(string $method, string $path, ?array $body = null): array {
$ch = curl_init(BASE . $path);
$opts = [
CURLOPT_CUSTOMREQUEST => $method,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'X-Api-User: su_usuario_api',
'X-Api-Key: su_PRIVATE_KEY',
],
];
if ($body !== null) {
$opts[CURLOPT_POSTFIELDS] = json_encode($body);
}
curl_setopt_array($ch, $opts);
return json_decode((string) curl_exec($ch), true);
}
$holder = levapay('GET', '/wallets/50940885084?network=natcash')['data'];
echo $holder['beneficiary']; // nombre del titular
$quote = levapay('POST', '/transfers/quote', [
'network' => 'natcash', 'wallet' => '50940885084', 'amount_htg' => 5000,
'note' => 'Pedido 10025',
])['data'];
$transfer = levapay('POST', '/transfers', [
'quote_id' => $quote['quote_id'],
'idempotency_key' => 'orden-10025',
])['data'];
echo $transfer['status']; // normalmente "completed"
const base = 'https://api.levapay.dev/test/v1';
const headers = {
'Content-Type': 'application/json',
'X-Api-User': 'su_usuario_api',
'X-Api-Key': process.env.LEVAPAY_KEY,
};
const api = (method, path, body) =>
fetch(base + path, { method, headers, body: body && JSON.stringify(body) })
.then((r) => r.json());
const { data: holder } = await api('GET', '/wallets/50940885084?network=natcash');
console.log(holder.beneficiary); // nombre del titular
const { data: quote } = await api('POST', '/transfers/quote', {
network: 'natcash', wallet: '50940885084', amount_htg: 5000,
note: 'Pedido 10025',
});
const { data: transfer } = await api('POST', '/transfers', {
quote_id: quote.quote_id,
idempotency_key: 'orden-10025',
});
console.log(transfer.status); // normalmente "completed"
Use el número haitiano asociado a NatCash: 8 dígitos, con o sin el prefijo 509 (por ejemplo 40885084 o 50940885084). Los montos son en gourdes, enteros y desde 1 HTG.
GET /wallets/{wallet}?network=natcash devuelve el nombre del titular y genera una cotización de verificación de 100 HTG. Confírmela con POST /transfers solo si desea enviar ese monto; si no, deje que venza. La cotización normal de POST /transfers/quote también incluye el campo beneficiary.
Los envíos a NatCash suelen quedar completed en la misma respuesta. Aun así, su integración debe contemplar pending y failed. Si el envío falla, el monto vuelve a su saldo.
En el sandbox use la billetera de prueba 50940885084: el envío queda completed al instante y se descuenta de su saldo TEST, sin mover dinero real.
Con el campo note (máximo 64 caracteres) define el texto que el beneficiario verá en su depósito. Si no lo envía, se usa LEVAPAY.
Muestre el nombre del titular al remitente antes de confirmar el envío.
La mayoría de los envíos llega con status completed en la misma respuesta.
Monto, comisión y total en la cotización, sin sorpresas para su cliente.
La idempotency_key obligatoria evita cobrar dos veces si su sistema reintenta.
El mismo código sirve para las dos redes: solo cambia el valor de network.
Pruebe el flujo completo con claves TEST y sin dinero real.
Paga el 3,5% del monto de cada envío, sin costo de alta, sin mensualidad y sin comisión al fondear. La consulta del titular no tiene costo propio. Por ejemplo, para que el beneficiario reciba 5.000 HTG en NatCash:
No. LevaPay es un servicio independiente que permite a empresas enviar dinero a billeteras NatCash mediante su propia API. NatCash es una marca de Natcom.
Sí. Consulte GET /wallets/{wallet}?network=natcash o revise el campo beneficiary de la cotización antes de confirmar el envío.
No. La consulta genera una cotización de verificación de 100 HTG que solo se cobra si usted la confirma con POST /transfers. Si no la confirma, vence sin costo.
Normalmente se acredita al instante y la respuesta de POST /transfers ya llega con status completed.
Si el envío no se acepta, su saldo no se debita. Si falla después de aceptado, el estado pasa a failed y el monto se devuelve a su saldo.
Cree su cuenta gratis, genere claves TEST y use la billetera 50940885084. Si su saldo TEST es 0, pida saldo TEST a su contacto de LevaPay.
Sí. Con la misma integración envía a MonCash cambiando network a "moncash". En MonCash el envío puede quedar en pending unos instantes.
Cree su cuenta gratis, pruebe la API de NatCash con la billetera de prueba y pase a producción cuando esté listo.