Sha256: 8feaca40cca2a3c00ab3fe758d5e3ed4dffda5d54035ddba9f5b0301f1022fef

Contents?: true

Size: 1.88 KB

Versions: 3

Compression:

Stored size: 1.88 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,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])
    
    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

3 entries across 3 versions & 1 rubygems

Version Path
authorizenetsample-0.7 lib/PaymentTransactions/get-an-accept-payment-page.rb
authorizenetsample-0.6 lib/PaymentTransactions/get-an-accept-payment-page.rb
authorizenetsample-0.5 lib/PaymentTransactions/get-an-accept-payment-page.rb