Sha256: 84b9f1fd1ca1921384e916a8835492823c79fae1a21310e4500cdfbcac2ec1d5

Contents?: true

Size: 633 Bytes

Versions: 1

Compression:

Stored size: 633 Bytes

Contents

module Workarea
  module Affirm
    class Update
      attr_reader :checkout, :checkout_token

      def initialize(checkout, checkout_token)
        @checkout = checkout
        @checkout_token = checkout_token
      end

      def details
        @details ||= Affirm.gateway.get_checkout(checkout_token)
      end

      def apply
        payment = checkout.payment
        order = checkout.order

        payment.set_affirm(
          checkout_token: checkout_token,
          details: details.body
        )
        payment.adjust_tender_amounts(order.total_price)

        order.save && payment.save
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
workarea-affirm-1.0.0 app/services/workarea/affirm/update.rb