module FlowCl::Payment

Public Instance Methods

create_payment(params:) click to toggle source

Este método permite crear una orden de pago a Flow y recibe como respuesta la URL para redirigir el browser del pagador y el token que identifica la transacción. La url de redirección se debe formar concatenando los valores recibidos en la respuesta de la siguiente forma: url + “?token=” +token Una vez que el pagador efectúe el pago, Flow notificará el resultado a la página del comercio que se envió en el parámetro urlConfirmation.

# File lib/flow_cl/payment.rb, line 11
def create_payment(params:)
  path = '/api/payment/create'

  private_post(path, params)
end
create_payment_email(params:) click to toggle source

Permite generar un cobro por email. Flow emite un email al pagador que contiene la información de la Orden de pago y el link de pago correspondiente. Una vez que el pagador efectúe el pago, Flow notificará el resultado a la página del comercio que se envió en el parámetro urlConfirmation.

# File lib/flow_cl/payment.rb, line 20
def create_payment_email(params:)
  path = '/api/payment/createEmail'

  private_post(path, params)
end
payment_status(token:) click to toggle source

Este método se utiliza para obtener el estado de un pago. Se debe utilizar en la página callback del comercio para recibir notificaciones de pagos. Cada vez que el pagador efectúe un pago, Flow enviará vía POST una llamada a la página del comercio, pasando como parámetro un token que deberá utilizarse en este servicio.

# File lib/flow_cl/payment.rb, line 41
def payment_status(token:)
  path = '/api/payment/getStatus'

  private_get(path, { token: token })
end
payment_status_by_commerce_id(commerce_id:) click to toggle source

Este método permite obtener el estado de un pago en base al commerceId

# File lib/flow_cl/payment.rb, line 48
def payment_status_by_commerce_id(commerce_id:)
  path = '/api/payment/getStatusByCommerceId'

  private_get(path, { commerceId: commerce_id })
end
payment_status_by_flow_order(flow_order:) click to toggle source

Este método permite obtener el estado de un pago en base al flowOrder

# File lib/flow_cl/payment.rb, line 55
def payment_status_by_flow_order(flow_order:)
  path = '/api/payment/getStatusByFlowOrder'

  private_get(path, { flowOrder: flow_order })
end
payments(date:, params: {}) click to toggle source

Este método permite obtener la lista paginada de pagos recibidos en un día. Los objetos pagos de la lista tienen la misma estructura de los retornados en los servicios payment/getStatus

# File lib/flow_cl/payment.rb, line 28
def payments(date:, params: {})
  path = '/api/payment/getPayments'

  date = Time.parse(date).strftime('%Y-%m-%d') if date.is_a?(String)

  private_get(path, { date: date }.merge(params))
end