Sha256: 1dc2c44ca5c430ef4163a519ae6d1fe7ba025c0a1dcb7db7ae162ced0c532b45

Contents?: true

Size: 1.9 KB

Versions: 1

Compression:

Stored size: 1.9 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

1 entries across 1 versions & 1 rubygems

Version Path
authorizenetsample-0.8 lib/PaymentTransactions/get-an-accept-payment-page.rb