Generar Retiro en Efectivo vía Direct API

Crear Customer

Después de configurar las claves de prueba y la versión de la API, se deberá crear un objeto: Customer, el cual contendrá la información del cliente que podrá cobrar el dinero.

-H "Accept: application/vnd.conekta-v2.0.0+json" \
-H "Content-type: application/json" \
-u key_YOUR_PRIVATE_API_KEY: \
-X POST -d '{
       "name": "User",
       "email": "user@example.com",
       "phone": "5566982096"
}' https://api.conekta.io/customers
{
	"livemode": false,
	"name": "User",
	"email": "user@example.com",
	"phone": "5566982096",
	"id": "cus_2pwMQPxiLJ8WzzqZJ",
	"object": "customer",
	"created_at": 1623858787,
	"corporate": false
}

Parámetros del Customer

ParámetroDescripciónTipoRequerido
nameNombre del cliente.string
emailUna dirección de correo electrónico es una serie de caracteres personalizables seguidos de un símbolo universal de Internet, la arroba (@), el nombre de un servidor host y de una terminación de un dominio web (.mx, .com, .org, .net, etc.).string
phoneNúmero de teléfono del cliente.stringNo

❗️

IMPORTANTE:

Respecto al parámetro email: Asegurarse que es un email válido, ya que por este medio se enviarán las notificaciones y la referencia de cobro.
Si vas a reutilizar los emails de tu base de customers asegúrate que tus clientes pueden recibir correos en esa cuenta. Caso contrario, puedes exponer la referencia en tu front con las medidas de seguridad adecuadas y poner una dirección genérica en el parámetro email.

Crear Referencia

Una vez realizado el paso anterior el comercio tiene la posibilidad de generar referencias a los clientes dados de alta dentro de su compañía. En la solicitud podrá definir monto a retirar así como el motivo de la misma.

-H "Accept: application/vnd.conekta-v2.0.0+json" \
-H "Content-type: application/json" \
-u key_YOUR_PRIVATE_API_KEY: \
-X POST -d '{
        "currency": "MXN",
        "amount": 3000,
        "customer_info": {
           "customer_id": "cus_2oAokFrKM7CyVxGJm"
        },
        "allowed_payout_methods": ["cashout"],
        "reason": "Referencia de retiro en efectivo",
        "payout": { "payout_method": { "type": "cashout" } },
        "metadata": { "custom_client_id": "12345" }
}' https://api.conekta.io/payout_orders
{
    "id": "9a67e7ef-784b-468f-be54-06bc9c1834fb",
    "amount": 3000,
    "currency": "MXN",
    "allowed_payout_methods": [
        "cashout"
    ],
    "reference": "1025292250000330",
    "reason": "Prueba",
    "livemode": true,
    "created_at": 1668117996,
    "updated_at": 1668117998,
    "customer_info": {
        "id": "cus_2snrLE3jZ2hzi8quw",
        "name": "Cliente cashout",
        "email": "test@conekta.com",
        "phone": "525566778899"
    },
    "object": "payout_order",
    "expires_at": 1668290795,
    "metadata": {
        "client": "client 1"
    },
    "status": "pending",
    "payouts": [
        {
            "id": "payout_2sppYGEBPkxrM8rM7",
            "amount": 5000,
            "currency": "MXN",
            "payout_order_id": "9a67e7ef-784b-468f-be54-06bc9c1834fb",
            "object": "payout",
            "expires_at": 1668290795
        }
    ]
}

Parámetros de la referencia:

🚧

Monto de retiro

El parámetro amount debe siempre tener la terminación 00, es decir, el monto de retiro debe ser un número cerrado.

ParámetroDescripciónTipoRequerido
currencyMoneda con la que se realizará el pago. Utiliza el código de 3 letras de la Norma Internacional ISO 4217.string
amountMonto del retiro en centavos.int ($30.00 = 3000)
customer_info.customer_idIdentificador del cliente.string
reasonMotivo del retiro.string(40)
metadataClave/valor que puede mantener campos personalizados.HashNo
referenceID con el que el cliente retira el dinero en OxxoString

👍

¡Listo!

Has generado una referencia de retiro, consulta nuestros tutoriales para conocer cómo cancelar, consultar balance, resolver errores, etc.