Pagos en Tiendas

El objetivo de esta guía es explicar paso a paso como generar referencias de pago para tiendas, mediante las cuales tus clientes podrán realizar pagos en alguna de las tiendas de conveniencia afiliadas.

Nota: Mediante el uso de este método de pago podrás recibir notificaciones minutos despues que tu cliente realice el pago en la tienda de conveniencia.

Flujo para realizar cargos en tienda:

Pasos:

  1. El cliente confirma la compra en tu sitio web seleccionando como medio de pago tienda
  2. Desde tu servidor se crea una referencia creando un cargo en Openpay
  3. Con los datos obtenidos al crear la referencia se crea un recibo de pago personalizado
  4. El cliente acude a alguna de las tiendas y realiza el pago
  5. Openpay valida y recibe el pago
  6. Openpay notifica la recepción del pago a tu servidor

En esta guía veremos los pasos número 2 y 3, para el paso número 6 consulta la sección de notificaciones

Crear cargo (Paso 2)

Para poder recibir un pago en una tienda es necesario que generes un código de barras que contiene la referencia con la cual tu cliente puede ir a la tienda a pagar.

Para ello debes realizar una llamada a nuestra API de la siguiente manera:

@openpay = OpenpayApi.new("mzdtln0bmtms6o3kck8f","sk_e568c42a6c384b7ab02cd47d2e407cab")
@charges = @openpay.create(:charges)
request_hash ={
     "method" => "store",
     "amount" => 100.00,
     "currency" => "COP",
     "iva" => "10",
     "description" => "Cargo con tienda"
   }

response_hash = @charges.create(request_hash.to_hash)                    

Nota: El monto máximo que se permite para este tipo de cargos es de $ 9,999.00 COP Si la llamada es correcta recibirás una respuesta con el número de referencia generado y la URL del código de barras para que puedas crear tu recibo.

Respuesta:

{
    "id": "trgklldjutbqv9gqzyn9",
    "authorization": null,
    "operation_type": "in",
    "method": "store",
    "transaction_type": "charge",
    "status": "in_progress",
    "conciliated": false,
    "iva": "16",
    "creation_date": "2019-11-04T11:13:16-06:00",
    "operation_date": "2019-11-04T11:13:16-06:00",
    "description": "Cargo inicial a mi cuenta de store",
    "error_message": null,
    "order_id": "oid-20191104111316",
    "payment_method": {
        "type": "store",
        "reference": "1010101389264548",
        "barcode_url": "https://sandbox-api.openpay.co/barcode/1010101389264548?width=1&height=45&text=false"
    },
    "currency": "COP",
    "amount": 226,
    "customer": {
        "name": "Ambrosio",
        "last_name": "Medina",
        "email": "ambrosio.medina@company.co",
        "phone_number": "571983873734",
        "address": null,
        "creation_date": "2019-11-04T11:13:16-06:00",
        "external_id": null,
        "customer_address": {
            "department": "Medellín",
            "city": "Antioquia",
            "additional": "Avenida 7r bis #144-28 Apartamento 423",
            "country": "CO"
        },
        "clabe": null
    }
}

Sandbox: El pago puedes simularlo desde el dashboard, de esta manera puedes recibir una notificación de pago en tu sistema mediante un Webhook.

Producción: La notificación de pago se realiza en tiempo real, es decir en el momento que tu cliente realice el pago en la tienda podrás recibir un Webhook y el saldo en tu cuenta se verá incrementado.

Para mas información consulta la referencia de cargos

Recibo de pago (Paso 3)

Openpay brinda la posibilidad de obtener un recibo de pago con la información necesaria para que tu cliente pueda realizar el pago en tienda, para llegar a él, basta con estructurar una ruta compuesta de la siguiente manera:

{DASHBOARD_PATH}/paynet-pdf/{MERCHANT_ID}/{REFERENCE}

Sandbox: {DASHBOARD_PATH} = https://sandbox-dashboard.openpay.co

Producción: {DASHBOARD_PATH} = https://dashboard.openpay.co

{MERCHANT_ID} = tu id de comerciante

{TRANSACTION_ID} = valor del campo payment_method.reference del objeto transacción regresado al crearse el cargo

Crear Recibo de pago personalizado (Paso 3.1 Opcional)

Si decides no usar el recibo que ofrece Openpay puedes generarlo tu mismo, básicamente puedes crearlo con cualquier diseño y colores, pero debe incluir:

  • Nombre del servicio a pagar
    • Pago en Tienda
  • Referencia:
    • Valor del campo reference
  • Código de barras:
    • Imagen del campo barcode_url
  • Monto a pagar:
    • Valor del campo amount

Notas:

Asegúrate que tu integración cumple con los requisitos de compatibilidad de versiones más detalles

  • Implementa las Notificaciones para conocer el estado de los pagos en tiempo real

Ponte en contacto con nosotros: