class Vantiv::Api::RequestBody

Attributes

address[RW]
application_id[R]
authentication[RW]
card[RW]
merchant_id[R]
payment_account[RW]
report_group[R]
transaction[RW]
version[RW]
xmlns[RW]

Public Class Methods

for_auth_or_sale(amount:, customer_id:, order_id:, payment_account_id:, expiry_month:, expiry_year:, cvv: nil, order_source: Vantiv.default_order_source, online_payment_cryptogram: nil, original_network_transaction_id: nil, processing_type: nil, original_transaction_amount: nil) click to toggle source
# File lib/vantiv/api/request_body.rb, line 41
def self.for_auth_or_sale(amount:, customer_id:, order_id:, payment_account_id:,
    expiry_month:, expiry_year:, cvv: nil, order_source: Vantiv.default_order_source,
    online_payment_cryptogram: nil, original_network_transaction_id: nil,
    processing_type: nil, original_transaction_amount: nil)

  if online_payment_cryptogram
    cardholder_authentication = CardholderAuthentication.new(
      authentication_value: online_payment_cryptogram
    )
  else
    cardholder_authentication = nil
  end

  transaction = Transaction.new(
    order_id: order_id,
    amount_in_cents: amount,
    customer_id: customer_id,
    order_source: order_source,
    partial_approved_flag: false,
    cardholder_authentication: cardholder_authentication,
    original_network_transaction_id: original_network_transaction_id,
    processing_type: processing_type,
    original_transaction_amount: original_transaction_amount
  )
  card = Card.new(
    expiry_month: expiry_month,
    expiry_year: expiry_year,
    cvv: cvv
  )
  payment_account = PaymentAccount.new(id: payment_account_id)

  new(
    transaction: transaction,
    card: card,
    payment_account: payment_account
  )
end
for_auth_reversal(transaction_id:, amount: nil) click to toggle source
# File lib/vantiv/api/request_body.rb, line 79
def self.for_auth_reversal(transaction_id:, amount: nil)
  transaction = Transaction.new(id: transaction_id, amount_in_cents: amount)
  new(transaction: transaction)
end
for_capture(transaction_id:, amount: nil) click to toggle source
# File lib/vantiv/api/request_body.rb, line 84
def self.for_capture(transaction_id:, amount: nil)
  transaction = Transaction.new(id: transaction_id, amount_in_cents: amount)
  new(transaction: transaction)
end
for_credit(transaction_id:, amount: nil) click to toggle source
# File lib/vantiv/api/request_body.rb, line 89
def self.for_credit(transaction_id:, amount: nil)
  transaction = Transaction.new(id: transaction_id, amount_in_cents: amount)
  new(transaction: transaction)
end
for_direct_post_tokenization(card_number:, expiry_month:, expiry_year:, cvv:) click to toggle source
# File lib/vantiv/api/request_body.rb, line 120
def self.for_direct_post_tokenization(card_number:, expiry_month:, expiry_year:, cvv:)
  card = Card.new(
    account_number: card_number,
    expiry_month: expiry_month,
    expiry_year: expiry_year,
    cvv: cvv
  )
  new(card: card)
end
for_return(amount:, customer_id:, order_id:, payment_account_id:, expiry_month:, expiry_year:, order_source: Vantiv.default_order_source) click to toggle source
# File lib/vantiv/api/request_body.rb, line 94
def self.for_return(amount:, customer_id:, order_id:, payment_account_id:,
    expiry_month:, expiry_year:, order_source: Vantiv.default_order_source)
  transaction = Transaction.new(
    order_id: order_id,
    amount_in_cents: amount,
    order_source: order_source,
    customer_id: customer_id
  )
  card = Card.new(
    expiry_month: expiry_month,
    expiry_year: expiry_year
  )
  payment_account = PaymentAccount.new(id: payment_account_id)

  new(
    transaction: transaction,
    card: card,
    payment_account: payment_account
  )
end
for_tokenization(paypage_registration_id:) click to toggle source
# File lib/vantiv/api/request_body.rb, line 115
def self.for_tokenization(paypage_registration_id:)
  card = Card.new(paypage_registration_id: paypage_registration_id)
  new(card: card)
end
for_void(transaction_id:) click to toggle source
# File lib/vantiv/api/request_body.rb, line 130
def self.for_void(transaction_id:)
  transaction = Transaction.new(id: transaction_id)
  new(transaction: transaction)
end
new(card: nil, transaction: nil, payment_account: nil) click to toggle source
# File lib/vantiv/api/request_body.rb, line 21
def initialize(card: nil, transaction: nil, payment_account: nil)
  @card = card
  @transaction = transaction
  @payment_account = payment_account

  @merchant_id = Vantiv.merchant_id
  @application_id = SecureRandom.hex(12)
  @report_group = Vantiv.default_report_group

  @authentication = Authentication.new
end

Public Instance Methods

to_json() click to toggle source
# File lib/vantiv/api/request_body.rb, line 33
def to_json
  ::RequestBodyRepresenter.new(self).to_json
end
to_xml() click to toggle source
# File lib/vantiv/api/request_body.rb, line 37
def to_xml
  ::RequestBodyRepresenterXml.new(self).to_xml
end