Sha256: 305b553b03d38c5449d69b2e45fa5dd3a77f50d746475b268bb017f78c1130eb

Contents?: true

Size: 1.94 KB

Versions: 4

Compression:

Stored size: 1.94 KB

Contents

require 'rubygems'
require 'yaml'
require 'authorizenet' 
require 'securerandom'

  include AuthorizeNet::API

  def get_an_accept_payment_page(api_login_id,api_transaction_key,customerId=nil,iframeCommunicatorUrl)
    config = YAML.load_file(File.dirname(__FILE__) + "/../credentials.yml")

    transaction = Transaction.new(config['api_login_id'], config['api_transaction_key'], :gateway => :sandbox)

    custProfile = CustomerProfilePaymentType.new
    custProfile.customerProfileId = customerId



    transactionRequest = TransactionRequestType.new
    transactionRequest.amount = 12.12
    transactionRequest.transactionType = TransactionTypeEnum::AuthCaptureTransaction
    transactionRequest.profile = custProfile
    
    setting1 = SettingType.new
    setting1.settingName = SettingNameEnum::HostedPaymentButtonOptions
    setting1.settingValue = "{\"text\": \"Pay\"}"

    setting2 = SettingType.new
    setting2.settingName = SettingNameEnum::HostedPaymentOrderOptions
    setting2.settingValue = "{\"show\": false}"

    setting3 = SettingType.new
    setting3.settingName = SettingNameEnum::HostedPaymentIFrameCommunicatorUrl
    setting3.settingValue = "{\"url\": \"#{iframeCommunicatorUrl}\"}"

     
    settings = Settings.new([ setting1, setting2,setting3])

     puts setting3.settingValue
    request = GetHostedPaymentPageRequest.new
    request.transactionRequest = transactionRequest
    request.hostedPaymentSettings = settings
    
    response = transaction.get_hosted_payment_page(request)
    
    # if response.messages.resultCode == MessageTypeEnum::Ok
    #   puts "#{response.messages.messages[0].code}"
    #   puts "#{response.messages.messages[0].text}"
    #   puts "#{response.token}"
    # else
    #   puts "#{response.messages.messages[0].code}"
    #   puts "#{response.messages.messages[0].text}"
    #   raise "Failed to get hosted payment page"
    # end
    return response
  end
  
if __FILE__ == $0
  get_an_accept_payment_page()
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
authorizenetsample-1.0.6 lib/PaymentTransactions/get-an-accept-payment-page.rb
authorizenetsample-1.0.5 lib/PaymentTransactions/get-an-accept-payment-page.rb
authorizenetsample-1.0.4 lib/PaymentTransactions/get-an-accept-payment-page.rb
authorizenetsample-1.0.3 lib/PaymentTransactions/get-an-accept-payment-page.rb