| 1234567891011121314151617181920212223242526272829303132333435 |
- # frozen_string_literal: true
- module Paratika
- class Sale < Request
- attr_reader :amount, :currency, :merchant_payment_id
- attr_reader :customer, :customer_name, :customer_email, :customer_phone, :customer_ip
- attr_reader :name_on_card, :card_pan, :card_expiry, :card_ccv, :card_token
- def initialize(payment, customer, card)
- validate_hash(payment)
- validate_hash(customer)
- validate_hash(card)
- @amount = validate_money(payment[:amount])
- @currency = validate(payment[:currency], of: CURRENCIES)
- @merchant_payment_id = validate_presence(payment[:id]) # payment id
- @customer = validate_presence(customer[:id]) #customer id
- @customer_name = validate_presence(customer[:name])
- @customer_email = validate_presence(customer[:email])
- @customer_phone = validate_presence(customer[:phone])
- @customer_ip = validate_presence(customer[:ip])
- if card[:token].present?
- @card_token = validate_presence(card[:token])
- else
- @name_on_card = validate_presence(card[:name])
- @card_pan = validate_presence(card[:number])
- @card_expiry = validate_presence(card[:expiry])
- @card_ccv = validate_presence(card[:ccv])
- @save_card = validate_presence(card[:save])
- end
- super()
- end
- end
- class PreAuth < Sale
- end
- end
|