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.
Flujo para realizar cargos en tienda:

Pasos:
- El cliente confirma la compra en tu sitio web seleccionando como medio de pago tienda
- Desde tu servidor se crea una referencia creando un cargo en Openpay
- Con los datos obtenidos al crear la referencia se crea un recibo de pago personalizado
- El cliente acude a alguna de las tiendas y realiza el pago
- Openpay valida y recibe el pago
- 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)
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
}
}
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
- Valor del campo
- Código de barras:
- Imagen del campo
barcode_url
- Imagen del campo
- Monto a pagar:
- Valor del campo
amount
- Valor del campo
- Implementa las Notificaciones para conocer el estado de los pagos en tiempo real