# frozen_string_literal: true module Paratika class Void < Request # Cancel attr_reader :payment def initialize(payment) validate_hash(payment) @merchant_payment_id = validate_presence(payment[:id]) unless payment[:pg_tran_id].present? @pg_tran_id = validate_presence(payment[:pg_tran_id]) unless payment[:id].present? super() end end class Refund < Void attr_reader :payment def initialize(payment) validate_hash(payment) @amount = validate_money(payment[:amount]) @currency = validate(payment[:currency], of: CURRENCIES) super(payment) end end end